NYC Council legislation: bills, hearings, votes and members, from a local index or live Legistar
MCPpedia last refreshed this data
io.github.BetaNYC/nyc-council-mcp is an MCP server that NYC Council legislation: bills, hearings, votes and members, from a local index or live Legistar. Its tool list has not been published yet over stdio and sse, requires no API key, and scores 61/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"nyc-council-mcp": {
"env": {
"LEGISTAR_TOKEN": "your_token_here",
"LEGISTAR_DB_PATH": "/Users/you/legistar/legistar.db"
},
"args": [
"-y",
"@betanyc/nyc-council-mcp",
"serve"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
NYC Council legislation: bills, hearings, votes and members, from a local index or live Legistar
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
npx -y '@betanyc/nyc-council-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked @betanyc/nyc-council-mcp against OSV.dev.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in legal
Korean law: statutes, precedents, ordinances, treaties and citation verification (법제처 API).
Supplier lien and notice deadlines by project scope. Public lien guides for all 50 states and DC.
Missouri Revised Statutes — state statutes by citation.
Nevada Revised Statutes — state statutes by citation.
MCP Security Weekly
Get CVE alerts and security updates for io.github.BetaNYC/nyc-council-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
An MCP (Model Context Protocol) server for NYC Council legislative data. Version 2 adds a hybrid mode: a local SQLite index for sub-second search and exploration, plus the live NYC Legistar API for authoritative real-time data.
A free API key is optional — it unlocks the live Legistar API tools, but the server also runs in local-only mode without one.
get_bill current status, get_upcoming_hearings, confirmation queries) require a free Legistar API key. Register at council.nyc.gov/legislation/api — you'll receive a token by email — and set it as the LEGISTAR_TOKEN environment variable.LEGISTAR_DB_PATH.You must set at least one of LEGISTAR_TOKEN or LEGISTAR_DB_PATH; set both for full hybrid mode. Example (live tools):
export LEGISTAR_TOKEN="your-legistar-token"
See Setup and Environment variables for full details.
| Path | Speed | Data | Use for |
|---|---|---|---|
| Local index (SQLite) | < 1 second | As fresh as your last index run | Search, browse, voting history, aggregation |
| Live API (Legistar) | 1–5 seconds | Real-time | Current status, upcoming hearings, confirmation |
Use both together for the best experience. Search locally to explore; confirm with the live API when accuracy matters.
These require LEGISTAR_DB_PATH and a built index (see Setup).
| Tool | Description |
|---|---|
search_bills | Full-text search across all bills and resolutions |
search_legislation | Alias for search_bills |
search_events | Full-text search across committee hearings |
list_committees | All committees with bill and event counts |
recent_bills | Bills introduced in the last N days |
upcoming_events | Scheduled events in the next N days |
aggregate_bills | Count bills grouped by status, type, committee, or year |
vote_breakdown | Every member's vote on a bill (by type-prefixed file number), grouped by roll call — committee and full Council — each with a positions-only tally. Indexed from the archive's History[].Votes |
get_voting_record | All votes cast by a named council member, newest first |
get_bill_history | A matter's action trail — hearings, referrals, committee/Council actions, outcomes — in chronological order, by file number. No token required |
co_sponsors | Members who most often co-sponsor with a given member |
get_bill_hearings | Events where a bill appeared on the agenda, with each event's date, body, and action |
get_event_bills | Bills on a specific event's agenda |
These require LEGISTAR_TOKEN.
| Tool | Description |
|---|---|
get_bill | Current status and record for a bill. A bare NNNN-YYYY number is ambiguous (it can be both an Int and a Res); an ambiguous match is rejected with an error naming every candidate, so re-call with the exact type-prefixed number |
get_bill_history | Local by default (served from the index, no token; takes a file number). In live-only mode this live variant answers instead — authoritative action trail by numeric matter id |
get_upcoming_hearings | Real-time upcoming committee hearings and Stated meetings, each with its agenda items (bills/matters) in EventItems |
get_council_member | Current contact info and active status for a council member. PersonWWW2 (the Legistar profile page) is checked: a known-bad upstream link is corrected from a small dated override list (PERSON_WWW2_OVERRIDES in src/legistar.ts, |