NYC Property Facts MCP
A public, no-auth MCP server providing AI agents with access to NYC property records including permits, violations, sales, and owner data for all 858,284 tax lots, sourced from NYC Open Data.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://nycpropertyfacts.com/mcpWhat you can do with it
- Lookup property facts by address or BBL
- List open DOB, ECB, or HPD violations
- Retrieve sales history and deed records
- Find owner of record information
Source and maintenance
Protocol and capabilities
- Server
- nyc-property-facts 0.2.0
- MCP protocol
- 2025-06-18
- Tools
- 5 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
5 advertised
lookup_property — Look up a NYC property by address
Resolve a free-text NYC address to its tax lot (BBL) and return the property facts: summary, owner of record, building, assessment, last priced deed and open-item counts. Returns the best match with a 0-1 confidence, a plain-English confidence_explanation, a machine-readable match_type, the HTML/Markdown/JSON URLs and up to 4 alternatives. Requires "address". Use get_property for a known BBL/BIN.
{
"type": "object",
"required": [
"address"
],
"properties": {
"zip": {
"type": "string",
"description": "Optional 5-digit ZIP, sent as text"
},
"address": {
"type": "string",
"description": "NYC street address, e.g. \"98 Grattan St, Brooklyn\". Units (Apt 3B), borough and ZIP are optional; a 10-digit BBL or 7-digit BIN also works."
},
"borough": {
"type": "string",
"description": "Optional: Manhattan, Bronx, Brooklyn, Queens or Staten Island"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_property — Get a NYC property by BBL or BIN
Return the full fact sheet for a tax lot by 10-digit BBL (borough-block-lot, e.g. 3030090016) or by 7-digit DOB building number (BIN). Requires "bbl" or "bin" (if both are sent, bbl is used).
{
"type": "object",
"properties": {
"bbl": {
"type": "string",
"description": "10-digit BBL (borough-block-lot), e.g. \"3030090016\". Send it as text. Required unless \"bin\" is given."
},
"bin": {
"type": "string",
"description": "7-digit DOB building number (BIN), e.g. \"3070696\". Send it as text. Required unless \"bbl\" is given."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}list_open_issues — List open violations, open DOB jobs and unpaid tickets
List every open item for a property: DOB jobs with a permit issued but no sign-off, active DOB and ECB violations, open HPD violations, and OATH tickets with an unpaid balance or a pending hearing. Each record has status, dates, a plain-English description and its source dataset. Requires one of "address", "bbl" or "bin".
{
"type": "object",
"properties": {
"bbl": {
"type": "string",
"description": "10-digit BBL (borough-block-lot), e.g. \"3030090016\". Send it as text."
},
"bin": {
"type": "string",
"description": "7-digit DOB building number (BIN), e.g. \"3070696\". Send it as text."
},
"zip": {
"type": "string",
"description": "Optional 5-digit ZIP, sent as text"
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 200,
"minimum": 1,
"description": "Maximum records per section"
},
"address": {
"type": "string",
"description": "NYC street address, e.g. \"98 Grattan St, Brooklyn\". Units (Apt 3B), borough and ZIP are optional; a 10-digit BBL or 7-digit BIN also works."
},
"borough": {
"type": "string",
"description": "Optional: Manhattan, Bronx, Brooklyn, Queens or Staten Island"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_sales_history — Deed / sales history (ACRIS)
Deeds recorded with the NYC City Register (ACRIS) for a property: date, stated price (0 = non-market transfer), grantors, grantees, and whether the deed covers several lots. Requires one of "address", "bbl" or "bin".
{
"type": "object",
"properties": {
"bbl": {
"type": "string",
"description": "10-digit BBL (borough-block-lot), e.g. \"3030090016\". Send it as text."
},
"bin": {
"type": "string",
"description": "7-digit DOB building number (BIN), e.g. \"3070696\". Send it as text."
},
"zip": {
"type": "string",
"description": "Optional 5-digit ZIP, sent as text"
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 200,
"minimum": 1,
"description": "Maximum deeds returned"
},
"address": {
"type": "string",
"description": "NYC street address, e.g. \"98 Grattan St, Brooklyn\". Units (Apt 3B), borough and ZIP are optional; a 10-digit BBL or 7-digit BIN also works."
},
"borough": {
"type": "string",
"description": "Optional: Manhattan, Bronx, Brooklyn, Queens or Staten Island"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}search_properties — Search NYC properties by street and/or ZIP
List tax lots on a street (prefix match, e.g. "Grattan St") and/or in a ZIP code, with address, building class, units, owner of record and open-item count. Requires "street" and/or "zip"; borough and house_number only narrow the search. Paginate with limit/offset; total is the number of matches.
{
"type": "object",
"properties": {
"zip": {
"type": "string",
"description": "5-digit ZIP, sent as text. Required unless \"street\" is given."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 200,
"minimum": 1
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0
},
"street": {
"type": "string",
"description": "Street name, e.g. \"Grattan St\" or \"5th Ave\". Required unless \"zip\" is given."
},
"borough": {
"type": "string",
"description": "Optional borough name"
},
"house_number": {
"type": "string",
"description": "Optional house number, sent as text"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 376 ms
- 95th percentile latency
- 376 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 376 ms · metadata changed · 5 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http nyc-property-facts-mcp https://nycpropertyfacts.com/mcpCodex
codex mcp add nyc-property-facts-mcp --url https://nycpropertyfacts.com/mcpCursor
{
"mcpServers": {
"nyc-property-facts-mcp": {
"url": "https://nycpropertyfacts.com/mcp"
}
}
}Cline
{
"mcpServers": {
"nyc-property-facts-mcp": {
"type": "streamableHttp",
"url": "https://nycpropertyfacts.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"nyc-property-facts-mcp": {
"type": "http",
"url": "https://nycpropertyfacts.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http nyc-property-facts-mcp https://nycpropertyfacts.com/mcpClaude Desktop
{
"mcpServers": {
"nyc-property-facts-mcp": {
"url": "https://nycpropertyfacts.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"nyc-property-facts-mcp": {
"serverUrl": "https://nycpropertyfacts.com/mcp"
}
}
}Let your agent find its tools
Find servers like NYC Property Facts MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.