Openstates MCP Server

@cyanheads/openstates-mcp-server Search bills, legislators, committees, and events across all 50 US states, DC, and 5 US territories via MCP. STDIO or Streamable HTTP. Its README documents 10 tools, including openstates_search_bills, openstates_get_bill, openstates_search_people.

People who work with legislation, openstates and state legislature and want it reachable from Claude, Cursor, VS Code, or another MCP client. The project is written in TypeScript.

VERIFIED ACTIVE

LAST COMMIT 2026-08-25 · ★ 2 · #350 OF 945 MAINTAINED OTHER · VERIFIED 2026-09-18

Apache-2.0 · TypeScript servers · how we verify → /methodology

01 · Install Openstates MCP Server

before you install - you'll need

Set MCP_TRANSPORT_TYPE, MCP_LOG_LEVEL, OPENSTATES_API_KEY before connecting.

Claude Code

claude mcp add cyanheads-openstates-mcp-server --transport http https://openstates.caseyjhand.com/mcp

Claude Desktop / Cursor / VS Code - add to config

{
  "mcpServers": {
    "cyanheads-openstates-mcp-server": {
      "url": "https://openstates.caseyjhand.com/mcp"
    }
  }
}

Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.

Using another client? Same JSON, different key

Claude Desktop · mcpServers

Cursor · mcpServers

VS Code · servers

Windsurf · mcpServers

Zed · context_servers

Cline · mcpServers

Roo Code · mcpServers

Continue · mcpServers

LibreChat · mcpServers

Gemini CLI · mcpServers

Codex CLI · mcp_servers

Full setup guides: every client.

02 · Evidence

https://openstates.caseyjhand.com/mcp

transport: streamable-http

endpoint alive - responded to MCP initialize · probed 2026-09-17

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

runs as local process (stdio) - runs on your machine with your user's permissions · remote - your agent's requests go to openstates.caseyjhand.com

endpoint auth accepted our unauthenticated MCP initialize - no credentials needed to connect

license Apache-2.0 - declared in the repository

npm package @cyanheads/openstates-mcp-server - published under the repo owner's npm scope (@cyanheads)

registry namespace io.github.cyanheads is GitHub-verified and matches the repo owner

03 · What Openstates MCP Server can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

What you can build

With this server connected, an agent can fetch full detail for a specific bill by OCD ID or three-part path (jurisdiction + session + bill_id), search state legislators and officials within a jurisdiction by name, chamber, or district, or fetch specific people by OCD person ID, find every legislator representing a geographic coordinate (latitude/longitude) - state legislators and the federal delegation, and list committees for a jurisdiction (experimental - not all states have coverage).

The 10 tools it gives your agent

Extracted from the project's README - what openstates-mcp-server lets an agent do.

openstates_search_bills
- Search state legislative bills across all covered US jurisdictions with full-text search, jurisdiction/session filtering, subject tags, and sponsor lookups
openstates_get_bill
- Fetch full detail for a specific bill by OCD ID or three-part path (jurisdiction + session + bill_id)
openstates_search_people
- Search state legislators and officials within a jurisdiction by name, chamber, or district, or fetch specific people by OCD person ID
openstates_get_legislators_by_location
- Find every legislator representing a geographic coordinate (latitude/longitude) - state legislators and the federal delegation
openstates_search_committees
- List committees for a jurisdiction (experimental - not all states have coverage)
openstates_get_committee
- Fetch committee detail by OCD organization ID, with optional membership roster
openstates_search_events
- Search hearings, floor sessions, and committee meetings (experimental)
openstates_get_event
- Fetch full event detail including agenda, participants, and media links
openstates_list_jurisdictions
- List all 56 jurisdictions (50 states, DC, and 5 US territories) covered by Open States with session identifiers and coverage metadata
openstates_get_jurisdiction
- Fetch full metadata for a specific jurisdiction including all legislative sessions and their identifiers

Latest releases

v0.3.1 · 2026-08-25

MCP SDK v2 adoption · Adds MCP 2026-07-28 support alongside 2025-era clients and aligns the server with mcp-ts-core 0.12.3. · Added: · Public cache hints for tool, prompt, resource, discovery, and jurisdiction data.…

v0.3.0 · 2026-07-31

search_bills scope rejection converges onto schema refinement, and drops its typed error · openstates_search_bills no longer returns a typed missing_scope error for an omitted jurisdiction/q - it fails input validation…

v0.2.2 · 2026-07-31

search_people id lookup, empty-string field docs · openstates_search_people gains an id input (OCD person IDs) to fetch specific people directly - jurisdiction or id is now required (#42) · Every output field Open…

04 · Who maintains Openstates MCP Server

openstates-mcp-server is maintained by cyanheads. We track 125 MCP servers from cyanheads - 119 actively maintained, 1,816 combined GitHub stars, oldest repo from Dec 2024. Full record: all servers from cyanheads.

  1. obsidian-mcp-server Read, write, search, and surgically edit Obsidian notes, tags, and frontmatter via MCP. ★ 681
  2. mcp-ts-core Agent-native TypeScript framework for MCP servers. ★ 151
  3. pubmed-mcp-server Search PubMed/Europe PMC, fetch articles and full text (PMC/EPMC/Unpaywall), citations, MeSH terms. ★ 148
  4. git-mcp-server Comprehensive Git MCP server enabling native git tools including clone, commit, worktree, & more. ★ 240
  5. clinicaltrialsgov-mcp-server Search ClinicalTrials.gov - find studies, retrieve results, match patients to eligible trials. ★ 94
  6. ntfy-mcp-server Send, manage, and replay ntfy push notifications via MCP. ★ 22

05 · Facts

category
other - ranked #350 of 945 actively-maintained other servers as of 2026-09-18.
release cadence
10+ releases in the last 90 days (latest 2026-08-25)
registry
io.github.cyanheads/openstates-mcp-server (active, first published 2026-05-23 · 22 versions)
packages
npm:@cyanheads/openstates-mcp-server · npm:@cyanheads/openstates-mcp-server

06 · Openstates MCP Server FAQ

Is Openstates MCP Server still maintained?

Yes - as of 2026-09-18, its last commit was 2026-08-25 and it shipped 10+ releases in the last 90 days. We re-verify nightly.

What can Openstates MCP Server do?

With this server connected, an agent can fetch full detail for a specific bill by OCD ID or three-part path (jurisdiction + session + bill_id), search state legislators and officials within a jurisdiction by name, chamber, or district, or fetch specific people by OCD person ID, find every legislator representing a geographic coordinate (latitude/longitude) - state legislators and the federal delegation, and list committees for a jurisdiction (experimental - not all states have coverage).

How do I install Openstates MCP Server?

Run `npx -y @cyanheads/openstates-mcp-server`. The README documents 3 environment variables (MCP_TRANSPORT_TYPE, MCP_LOG_LEVEL, OPENSTATES_API_KEY) to set first. Set MCP_TRANSPORT_TYPE, MCP_LOG_LEVEL, OPENSTATES_API_KEY before connecting. You can also paste the ready-made client config above.

Does Openstates MCP Server require authentication?

No - the endpoint accepted our unauthenticated MCP initialize when probed on 2026-09-17; you can connect without credentials.

07 · Alternatives to Openstates MCP Server