NYC Property Data MCP Server
Provides Claude with access to NYC public property data including property details, sales history, comparable sales, tax benefits, and rent stabilization analysis using natural language.
README
NYC Property Data MCP Server
A Model Context Protocol (MCP) server that provides Claude with access to NYC public property data. Query property details, sales history, comparable sales, tax benefits, and rent stabilization analysis using natural language.
No API keys required - all data sources are free and public.
Features
- 🏢 Property Lookup - Get detailed property info including owner, units, year built, zoning, and assessed values
- 💰 Sales Search - Find recent property sales with price per unit and price per sqft calculations
- 📊 Comparable Sales - Find similar properties for valuation analysis with implied value estimates
- 🏛️ Tax Benefits - Look up 421a, J-51, ICAP, STAR and other exemptions/abatements
- 🏠 Rent Stabilization Analysis - Automatic analysis of likely rent-stabilized units based on year built, unit count, and tax benefits
Data Sources
| Dataset | Source | Description |
|---|---|---|
| PLUTO | NYC Open Data | Property tax lot data - owner, units, zoning, assessments |
| Rolling Sales | NYC Open Data | Last 12 months of property sales |
| Property Exemptions | NYC Open Data | Tax exemptions by property |
| Property Abatements | NYC Open Data | Tax abatements (421a, J-51, etc.) |
Installation
Prerequisites
- Node.js 18+
- Claude Desktop app
Install from npm
npm install -g cre-property-mcp
Or clone and build locally
git clone https://github.com/deverseli800/cre-public-data-mcp.git
cd cre-public-data-mcp
npm install
npm run build
Configuration
Claude Desktop Setup
Edit the Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
If installed globally via npm:
{
"mcpServers": {
"property": {
"command": "property-mcp"
}
}
}
If running from local build:
{
"mcpServers": {
"property": {
"command": "node",
"args": ["/path/to/property-mcp/dist/index.js"]
}
}
}
Zero-install with npx:
{
"mcpServers": {
"property": {
"command": "npx",
"args": ["-y", "cre-property-mcp"]
}
}
}
After editing, quit Claude Desktop completely (Cmd+Q on macOS) and reopen.
Running Locally
Development
# Install dependencies
npm install
# Build TypeScript
npm run build
# The server runs via stdio (used by Claude Desktop)
# For testing, you can run directly:
node dist/index.js
Viewing Logs
The server logs to stderr, which Claude Desktop captures:
# macOS
tail -f ~/Library/Logs/Claude/mcp-server-property.log
# Or check Claude Desktop's developer console
Tools Reference
get_property
Get detailed property information by address.
Parameters:
city(required):"nyc"address(required): Street addressborough: NYC borough (manhattan,bronx,brooklyn,queens,staten_island)
Example:
"Look up 522 East 5th Street Manhattan"
Returns:
- Address, BBL, coordinates
- Owner name
- Units (residential and total)
- Year built, building class, zoning
- Assessed values (land, total, exempt)
- ZOLA map link
- Rent stabilization analysis
search_sales
Search for recent property sales with filters.
Parameters:
city(required):"nyc"borough: NYC boroughneighborhood: e.g.,"EAST VILLAGE","HARLEM"min_price/max_price: Price rangemin_units/max_units: Unit count rangebuilding_class:"C"(walk-up),"D"(elevator), etc.date_from/date_to: Date range (YYYY-MM-DD)whole_buildings_only: Exclude unit sales (default: true)limit: Max results (default: 10, max: 50)
Example:
"Find 5 recent elevator building sales over $5M in the East Village"
Returns:
- Sale price, date, address
- Units, sqft, year built
- price_per_unit and price_per_sqft calculations
- Owner, zoning
- ZOLA map link
search_comps
Find comparable sales for valuation analysis.
Parameters:
city(required):"nyc"address(required): Subject property addressborough(required): Subject property boroughlimit: Number of comps (default: 10)building_class: Override auto-detected classinclude_adjacent_neighborhoods: Include nearby areas (default: true)
Example:
"Find comparable sales for 522 East 5th Street Manhattan"
Returns:
- Subject property details
- Ranked comparable sales with similarity scores
- Average price per unit and price per sqft
- Implied values for subject property
get_sale_history
Get all recorded sales for a specific property.
Parameters:
city(required):"nyc"address(required): Street addressborough: NYC borough
Example:
"What's the sale history for 100 Gold Street Manhattan?"
search_properties
Search for properties (not sales) matching criteria.
Parameters:
city(required):"nyc"borough: NYC boroughmin_units/max_units: Unit count rangebuilding_class: Building typezoning: Zoning district (e.g.,"R7","C6")min_year_built/max_year_built: Year rangelimit: Max results
Example:
"Find walk-up buildings with 10+ units in Brooklyn built before 1940"
get_tax_benefits
Look up tax exemptions and abatements for a property.
Parameters:
city(required):"nyc"address: Street addressborough: NYC borough- Or:
borough_code,block,lot(direct BBL lookup)
Example:
"What tax benefits does 522 East 5th Street Manhattan have?"
Returns:
- All exemptions with codes and values
- All abatements with amounts and dates
- Flags:
has_421a,has_j51,has_icap,has_star - Human-readable summary
Rent Stabilization Analysis
Every property lookup includes a rent_info object with stabilization analysis:
{
"rent_info": {
"likely_stabilized": true,
"stabilization_reasons": [
"Pre-1974 building (1900) with 10 units",
"Receives J-51 tax abatement"
],
"confidence": "high",
"notes": [
"Individual units may be deregulated through high-rent vacancy",
"Verify with DHCR for definitive unit counts"
]
}
}
Stabilization Rules Applied:
- Buildings with 6+ units built before January 1, 1974
- Buildings receiving 421a tax exemption
- Buildings receiving J-51 tax abatement
- NYCHA buildings excluded (federal rules apply)
- Condo/co-op buildings noted separately
Example Queries
"Look up the property at 100 Gold Street in Manhattan"
"Find 10 recent multifamily sales in Williamsburg over $2M"
"What's the sale history for 123 E 7th Street Manhattan?"
"Find comparable sales for 522 East 5th Street Manhattan"
"Does 200 East 10th Street Manhattan have any tax abatements?"
"Search for elevator buildings with 20+ units in Harlem"
"Find walk-up buildings in the East Village built before 1920"
Building Classes
| Code | Description |
|---|---|
| A | One-family dwellings |
| B | Two-family dwellings |
| C | Walk-up apartments |
| D | Elevator apartments |
| R | Condominiums |
| S | Residences - multiple use |
Limitations
- NYC Rolling Sales only contains the last 12 months of sales
- Rent stabilization analysis is an estimate - verify with DHCR for official status
- Tax benefits data may lag behind current status
Troubleshooting
"Property not found"
- Check address format (e.g., "522 East 5th Street" not "522 E 5th St")
- Verify borough is correct
- Try without apartment/unit numbers
"No sales found"
- Expand date range
- Try broader neighborhood search
- Check if building class filter is too restrictive
Server not connecting
- Quit Claude Desktop completely (Cmd+Q) and reopen
- Check config file JSON syntax
- Verify node path in config
View logs
tail -f ~/Library/Logs/Claude/mcp-server-property.log
Contributing
Contributions welcome! Areas of interest:
- Philadelphia data source implementation
- Additional NYC data sources (ACRIS, HPD violations)
- Performance optimizations
- Additional analysis tools
License
MIT
Acknowledgments
Data provided by:
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。