Borough
Borough gives Claude authenticated access to NYC real estate data, including rental and sales search, area discovery, building and property details, and market analytics.
Documentation
MCP Server
Connect AI agents to NYC real estate data via the Model Context Protocol
What is Borough MCP?
Borough provides a Model Context Protocol (MCP) server that lets AI agents query NYC real estate data through natural language tool calls.
Instead of writing code to call the REST API, you can ask your AI assistant questions like:
- "Find me 2-bedroom apartments in Williamsburg under $4,000/month"
- "Compare rents between Park Slope, Astoria, and the East Village"
- "Get details on property 4961849"
The MCP server exposes 10 tools that map to Borough's REST API endpoints, with the same tier-based access, rate limits, and quota enforcement.
How It Works
AI Agent (Claude, Cursor, VS Code)
↓ MCP tool call
Borough MCP Server (https://borough.qwady.app/mcp)
↓ internal REST call with your API key
Borough REST API (/v1/search/rentals, /v1/property/:id, etc.)
↓
Response formatted for AI consumption
Authenticated MCP sessions are mapped to Borough tiers, so the same tool restrictions, rate limits, and monthly quotas apply as the REST API.
Authentication Methods
Borough MCP supports two connection patterns:
| Method | Best For | Setup |
|---|---|---|
| OAuth-based connector flow | Claude Connectors and other OAuth-capable MCP clients | Auto-discovered via /.well-known/: paste the MCP URL and complete Borough auth |
| Bearer Token | Direct MCP config files and CLI clients | Authorization: Bearer BOROUGH-<key> header |
OAuth is the recommended method for MCP clients that support it. Free-tier MCP access is available through the Borough auth flow, and paid Borough API keys enable additional MCP tools.
Compact and location-aware by default
Borough MCP is optimized for chat clients:
- search and building-listing tools return small default result sets
- tool responses are compact projections instead of full raw API payloads
- exact neighborhood names such as
Chelsea,Astoria, orPark Slopecan be resolved directly without manually looking up IDs first list_areasis the safest path when you want to lock a precise area ID before searching- if a location is ambiguous, Borough returns a short clarification list instead of a large fallback payload
- search and building-listing results include render-oriented fields such as
price,displayPrice,geoPoint,leadPhotoUrl, andrenderHints - photo rendering is still client-dependent in this version because Borough returns photo URLs, not inline MCP image blocks
Available Tools
| Tool | Tier | Description |
|---|---|---|
search_rentals | Free | Search rental listings by exact name or area ID with compact, render-friendly results |
search_sales | Free | Search sales listings by exact name or area ID with compact, render-friendly results |
list_areas | Free | Resolve boroughs and neighborhoods by name or lock precise area IDs before searching |
get_market_snapshot | Free (authenticated) | Current market stats for a neighborhood by ID or name |
get_market_trends | Free (authenticated) | Historical price trends (up to 365 days) by ID or name |
compare_neighborhoods | Free (authenticated) | Side-by-side comparison of 1-5 areas by ID or name |
get_property | Starter | Listing detail including amenities, fees, open houses, and building scores |
get_property_by_url | Starter | Look up listing by URL path |
get_building | Starter | Building detail (amenities, policies, scores) |
get_building_listings | Starter | Compact, card/map-friendly listing summaries for a building |