Ask your AI assistant about NYC 311
nyc-311-mcp connects an AI assistant like Claude to New York City's 311 data. Ask it how to report a problem, what your community district complains about most, how long agencies take to close requests, or whether alternate side parking is on today. It answers from the City's own data and shows you where each answer came from.
We built it at BetaNYC. It's free, it's open source, and it never files anything with 311 for you.
If this is an emergency, or if you think this is an emergency, call 911. Every answer from every tool ends with that line. The answers are for information only, BetaNYC builds them from City data, and they may contain errors. Check the City's 311 page before you report.
See it work
A neighbor asks about a pothole. The assistant finds the City's 311 article for it and counts how often people in the same district reported it.
There's a pothole on my block that keeps getting bigger. How do I report it? I'm in Brooklyn Community District 6.
The assistant calls how_to_report(description="there's a pothole on my block that keeps getting bigger", borough="Brooklyn", community_district=306)
"first_line": "Best match: \"Pothole or Cave-In on Street\" (KA-01093), handled by the Department of Transportation, 311 problem type \"Street Condition\". Confidence strong. Article text as of 2026-11-09." "portal_url": "https://portal.311.nyc.gov/article/?kanumber=KA-01093" "call_911": "Call 911 to report an unprotected street opening that could cause an accident." … "label": "the last 365 days of data (2025-11-09 to 2026-11-08)" "requests": 1448 For informational purposes only. BetaNYC builds these answers from City data; they may contain errors. Check the City's 311 page before you report. If this is an emergency, or if you think this is an emergency, call 911.
Some things shouldn't go to 311 at all. When a description sounds dangerous, the first line says to call 911.
Smoke pouring out of the apartment next door
The assistant calls how_to_report(description="smoke pouring out of the apartment next door")
"first_line": "Call 911 to report smoke or fumes." "source": "311 article KA-02220 (\"Smoke or Fumes\"), https://portal.311.nyc.gov/article/?kanumber=KA-02220" "confidence": "strong: the City's own article for the danger detected; call 911 first" For informational purposes only. BetaNYC builds these answers from City data; they may contain errors. Check the City's 311 page before you report. If this is an emergency, or if you think this is an emergency, call 911.
Version 1.2.0
Version 1.1.0 had 4 tools: the 311 calendar, status alerts, and request lookup. Version 1.2.0 has 21. It adds help reporting a problem, district numbers from BoardStat, and the Local Law 47 reports. It's on npm as @betanyc/nyc-311-mcp.
Install it in Claude Desktop, Claude Code, or any MCP app: install guide.
What it can do
Before you rely on an answer
- 311 counts are reports, not problems. They show who reports and how, and not only how many problems there are.
- "Closed" means an agency closed the request. It doesn't mean the problem was fixed. Read the agency's resolution text.
- The district numbers come from BoardStat, built every night from NYC Open Data. They aren't official City statistics. Each answer links to the BoardStat page, so you can check.
- We left ZIP codes out on purpose. ZIP codes are mail routes, not City districts.
Tell us what you find
If an answer is wrong, confusing, or missing something, open an issue. GitHub issues are public, so leave out names, phone numbers, home addresses, and your API key. A street corner or a district is enough.