Nyrezone Mcp

io.github.gbrussich52Published by GitHub account gbrussich52v0.2.0Updated Oct 30, 2026

Recorded NYC parcel/FAR fields and NYRezone HTML district summaries; no capacity determination.

VerifiedSTDIODesktop onlyLocation & LifestyleData & Analytics

Overview

AI-generated overview

Read-only MCP server that lets an assistant look up recorded NYC tax-lot zoning and FAR fields and NYRezone zoning district summaries.

What you can do
  • Look up one NYC tax lot by street address or 10-digit BBL, returning recorded zoning districts, overlays, MapPLUTO FAR fields, lot and gross building area, year built and land use
  • Fetch the NYRezone HTML summary for one zoning district code, with FAR, height rules, bonuses, citywide lot counts and average built FAR
  • List the zoning district codes NYRezone documents, optionally filtered by family such as R6 or C4
  • Every result carries a source line and disclaimer; deprecated capacity fields are returned as null
When to use it
Useful when you need quick, read-only background on a New York City parcel's recorded zoning or on what a zoning district code allows, for example while drafting early research or comparing districts. It is not a substitute for zoning-compliance or capacity analysis.
Requirements
Runs locally over stdio via npx, requiring Node 20 or later. No account, API key or environment variable is needed. Network access to nyrezone.com is required, and address lookups also contact NYC Planning Labs Geosearch.
Before you install
Informational only, not legal or zoning-compliance advice; recorded FAR and gross building area do not establish development capacity or unused development rights, and district rules are scraped from NYRezone rather than the Zoning Resolution. Address lookups send the address you ask about to a third-party geocoding host. Owner names and assessed values are not returned.

Installation

In SourceWeft

  1. Open Nyrezone Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

nyrezone-mcp

Read-only MCP server that gives AI assistants recorded NYC lot fields from public NYRezone pages and APIs: zoning districts, MapPLUTO FAR fields, lot and gross building area, and district summaries as published by NYRezone.

The legacy stdio package is separate from NYRezone's hosted ChatGPT facts app. Version 0.2.0 removes the previous floor-area calculations. Recorded parcel data and scraped district summaries do not determine parcel-specific legal capacity, unused development rights or zoning compliance, or certify that every district rule is current.

It exposes only data that is already public and unauthenticated. No owner names, no assessed values, no paid report data, no account access.

Install

Requires Node 20+.

bash
npx -y nyrezone-mcp

Claude Desktop

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "nyrezone": { "command": "npx", "args": ["-y", "nyrezone-mcp"] }  }}

Claude Code

bash
claude mcp add nyrezone -- npx -y nyrezone-mcp

Tools

All tools are read-only (readOnlyHint: true).

ToolInputReturns
lookup_lotaddress (starts with a house number, include the borough) or bbl (10-digit borough-block-lot)Recorded zoning district(s), overlays, special districts and FAR fields, lot/gross building area, year built and land use. Deprecated capacity calculation fields are retained as null. Ambiguous or unknown address matches return an error.
get_zoning_districtcode, e.g. R6A, C4-2, M1-2/R6AFAR, height rules and bonuses as NYRezone publishes them, citywide lot counts, average built FAR. Unknown code returns the list of valid codes.
list_zoning_districtsoptional family, e.g. R6The 51 districts NYRezone documents, each with its district-family description.

Every successful result includes a source line and disclaimer. The MapPLUTO release label for lot lookups is reported by NYRezone's methodology page; district lookups use the label on the district page. Neither is independently validated for the returned parcel or result. A missing or unavailable release stamp is unknown. District rules are parsed from NYRezone's pages, not fetched directly from the Zoning Resolution. The visible Public lot map link and legacy full_report_url field both open the public lot map; neither returns paid report data.

Not included: a borough-level "underbuilt" summary. NYRezone publishes that only as web pages, not as a data endpoint.

Example

lookup_lot with bbl: "3052410015" returns, in part: recorded zoning R7A, lot area 4,675 sq ft, gross building area 2,606 sq ft, built FAR 0.56 and a MapPLUTO residential FAR field of 4.0. It does not calculate capacity from those fields. Its unused_floor_area compatibility object includes:

json
{  "estimate_sqft": null,  "allowed_floor_area_sqft": null,  "governing_far": null,  "overbuilt": null,  "basis": "not determined from recorded parcel data"}

The object also includes caveats describing the limits below.

Capacity is not determined

The previous release multiplied recorded FAR by lot area and subtracted gross building area. Version 0.2.0 removes that arithmetic for every lot, including split-zoned lots and records with multiple districts but no split-zone flag. The four deprecated fields above remain present and always null; their output schema accepts null. Consumers that assumed a numeric estimate or boolean flag must handle null.

Gross building area is not zoning floor area. Recorded FAR fields alone do not establish applicable FAR or legally permitted floor area. District boundaries, split-zone geometry, applicable uses, special districts, overlays, bonuses, zoning-lot history and current rules require separate verification. The tool returns the recorded district and FAR facts without deciding capacity, unused development rights or compliance.

Data sources and what leaves your machine

  • nyrezone.com (/api/pluto, /zoning, /zoning/<code>, /methodology): lot data and district pages. The lot endpoint supplies MapPLUTO fields; HTML district summaries are NYRezone's presentation, not direct Zoning Resolution verification. Release labels and check stamps are reported by the site, not independently validated for each returned parcel.
  • NYC Planning Labs Geosearch (geosearch.planninglabs.nyc): used only to turn a street address into a BBL, because NYRezone has no address endpoint. This is the one third-party host; the address you ask about is sent to it. BBL lookups and district lookups never contact it.

The owner name and owner type that NYRezone's lot API returns are dropped in this server and never appear in a tool result.

Limits and politeness

  • Descriptive User-Agent (nyrezone-mcp/<version> (+repo URL)).
  • Requests are serialized, at least 1 second apart, capped at 20 upstream requests per minute, with a 10 second timeout and a 2 MB response cap.
  • Responses are cached in memory for 1 hour (not persisted).
  • Input is validated before any request: addresses 5-150 characters starting with a house number; BBLs must be 10 digits starting 1-5. Everything sent upstream is URL-encoded.

Disclaimer

Informational only. Not legal, architectural, or zoning-compliance advice. Confirm with the NYC Department of City Planning or a licensed professional before relying on it. Not affiliated with the City of New York.

Development

bash
npm installnpm test        # builds, then runs node:test against recorded fixtures (no live network)

Fixtures in fixtures/ are recorded public responses; the lot fixtures keep the raw owner fields on purpose so the tests prove they are dropped. Environment variables NYREZONE_MCP_BASE_URL, NYREZONE_MCP_GEOSEARCH_URL and NYREZONE_MCP_MIN_INTERVAL_MS exist for the end-to-end test only.

License

MIT. See LICENSE.

Source: README.md at commit c00aa81

Tools

3

lookup_lot

Look up an NYC tax lot

Look up one NYC tax lot by street address OR 10-digit BBL (borough-block-lot). Returns recorded zoning district(s), MapPLUTO FAR fields, lot and gross building area, year built and land use via NYRezone. Does not determine development capacity, unused development rights, applicable FAR or zoning compliance; deprecated calculation fields are null. Provide exactly one of address or bbl. Addresses must start with a house number and should include the borough; an ambiguous or unknown address returns an error instead of a guess. Owner and assessment data are never returned.

Parametersbbladdress

get_zoning_district

Get an NYC zoning district

Get the HTML district summary NYRezone publishes for one NYC zoning district code (e.g. R6A, C4-2, M1-2/R6A): max FAR, base and maximum height, bonuses, citywide lot counts and average built FAR. Values are scraped NYRezone summaries, not independently verified against the Zoning Resolution or applied to a parcel. An unknown code returns the list of valid codes.

Parameterscoderequired

list_zoning_districts

List NYC zoning districts

List the NYC zoning district codes NYRezone documents, each with a one-line summary (its district family description). Optionally filter by family, e.g. R6 or C4.

Parametersfamily

Version history

2
  1. v0.2.0LatestOct 30, 2026
  2. v0.1.0Oct 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts