Skip to content
Conduit

mcp server

nycrentals

Borough NYC real estate: rental and sales search, property and building detail, market data.

CloudCorpRecords/nycrentalscommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

Before you start

  • Node.js 20 or newer
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "nycrentals": {
      "command": "npx",
      "args": [
        "-y",
        "@reneturcios/nycrentals"
      ]
    }
  }
}

same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12

Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs

README

synced Nov 5, 2026

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

↑↓ navigate openesc close