
nycrentals
io.github.CloudCorpRecords/nycrentals
Borough NYC real estate: rental and sales search, property and building detail, market data.
Documentation
nycrentals
New York City homes, searched the way the city is actually organised: by borough and neighborhood. nycrentals is a thin, validating bridge to the hosted Borough MCP service — it exposes ten tools for finding rentals and homes for sale across Manhattan, Brooklyn, Queens, the Bronx and Staten Island, opening the listing or building behind a search result, and reading the market around a neighborhood before you commit to a viewing.
The bridge does two jobs. It serves the tool list locally,
and it checks every call before anything leaves the machine:
argument types, required fields, and the service's own
house rules — pick one way of naming a place (areas,
location or locations, never a mix), fee and tour flags
that only ever switch on, no broker-fee flag on a sale
search, at most ten area IDs in one search, and comparisons
that stay between one and five neighborhoods. Calls that
pass are forwarded over a single upstream session that is
opened once and reused, and whatever the service answers —
listings with prices, photos and freshness markers — comes
back untouched.
The ten tools:
search_rentals— active rentals across all five boroughs, filterable by price, beds and baths, square footage, amenities, building type, pet policy, transit score and internet speed, with no-fee, open-house and 3D-tour switches.search_sales— active for-sale listings with the same filters plus a sale-type selector.get_property— one listing in full: price, address, beds and baths, amenities, pet policy and building scores, in a compact form suited to chat clients.get_property_by_url— the same detail reached from a listing's URL path instead of its ID.get_building— a building's profile: type, year built, floors and units, amenities, policies, management and tax-abatement status.get_building_listings— the listings tied to one building, cheapest first.list_areas— the area directory itself: 316 neighborhoods and sub-areas, the five boroughs, and Northern New Jersey coverage, paginated.get_market_snapshot— current market statistics for a neighborhood.get_market_trends— recent price movement for a neighborhood, one row per date and event type.compare_neighborhoods— one to five neighborhoods side by side.
Area IDs follow the borough hundreds: Manhattan is 100, the Bronx 200, Brooklyn 300, Queens 400 and Staten Island 500, with neighborhoods numbered inside their borough.
Configuration
One credential, read from the environment:
export BOROUGH_API_KEY="..."
Every tool needs the key. Without it, calls fail
immediately with BOROUGH_API_KEY is not set and nothing
is sent anywhere. Access tiers are enforced by the hosted
service, not by this bridge.
CLI
Each tool is a subcommand taking one JSON argument string:
npx @reneturcios/nycrentals search_rentals '{"location":"Brooklyn","maxPrice":3500,"noFee":true}'
npx @reneturcios/nycrentals get_property '{"id":"..."}'
npx @reneturcios/nycrentals compare_neighborhoods '{"locations":["Astoria","Jackson Heights"]}'
npx @reneturcios/nycrentals --version
Output is the forwarded result content as JSON. Exit
codes: 0 on success, 1 on an error result (including a
validation or upstream failure), 2 on a usage error.
MCP server
npx -y @reneturcios/nycrentals mcp
MCP client config:
{
"mcpServers": {
"nycrentals": {
"command": "npx",
"args": ["-y", "@reneturcios/nycrentals", "mcp"],
"env": { "BOROUGH_API_KEY": "..." }
}
}
}
Docker
docker run -i -e BOROUGH_API_KEY="..." ghcr.io/cloudcorprecords/nycrentals
docker run --rm -e BOROUGH_API_KEY="..." ghcr.io/cloudcorprecords/nycrentals list_areas '{"level":1}'
Development
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (fake MCP upstream, no network)
npm run dev # run the CLI from source
License
MIT — Copyright (c) 2026 Rene Turcios
@reneturcios/nycrentalsnpm install @reneturcios/nycrentalsghcr.io/cloudcorprecords/nycrentals:0.1.0docker pull ghcr.io/cloudcorprecords/nycrentals:0.1.0:undefinedRelated Servers
io.github.CloudCorpRecords/abandoncheck
Judge whether a dependency is maintained, from factual signals: releases, commits, archival.
io.github.CloudCorpRecords/actionbridge
Zapier exposed actions as MCP tools via a generic action runner.
io.github.CloudCorpRecords/actionpin
GitHub Actions supply-chain hardener: audit workflows for unpinned actions and build a SHA pin plan.