Openstates MCP Server logo

Openstates MCP Server

Search Open States for bills, officials, committees, events, jurisdictions, and legislators by location through MCP.

Install Openstates MCP Server

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "openstates-mcp-server": {
      "command": "bunx",
      "args": [
        "@cyanheads/openstates-mcp-server@latest"
      ],
      "env": {
        "OPENSTATES_API_KEY": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

openstates-mcp-server connects MCP clients to Open States legislative data for all 50 states, Washington, DC, and five US territories. It provides tools for searching and retrieving bills, people, committees, events, jurisdictions, and legislators representing geographic coordinates. Use it for legislative research, bill tracking, representative lookup, or jurisdiction-aware government data workflows. The server supports STDIO and Streamable HTTP, including a hosted MCP endpoint.

Use cases

  • Search bills by topic, sponsor, jurisdiction, or legislative session
  • Retrieve bill histories, votes, documents, and related legislation
  • Find state and federal representatives for geographic coordinates
  • Research legislators, committees, hearings, and floor sessions

Key features

  • Full-text and filtered bill search across 56 jurisdictions
  • Bill, legislator, committee, and event detail lookups
  • Coordinate-based state and federal representative lookup
  • Jurisdiction and legislative session metadata
  • STDIO and Streamable HTTP transports
  • Structured bill and legislator research prompts

Tools10

What Openstates MCP Server lets your agent do. Expand a tool for its parameters.

Self-reported~327 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

7/7 checks healthy over the last 46d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 4d ago via OSV.dev · @cyanheads/openstates-mcp-server@latest (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars2Stargazers on the source repository.
npm downloads710Package downloads in the last 30 days.
Last commit2d agoMost recent push to the default branch.
Tools exposed10Callable tools this server registers over MCP.

How Openstates MCP Server works

What openstates-mcp-server does

openstates-mcp-server exposes Open States data through the Model Context Protocol. It covers legislative information from all 50 states, Washington, DC, and five US territories. Its tools cover bills, legislators and other officials, committees, legislative events, jurisdiction metadata, and representative lookup from latitude and longitude coordinates.

Bill searches can use full-text queries, jurisdiction and session filters, subject tags, sponsor filters, chambers, classifications, and date constraints. Individual bills can be retrieved with an Open States OCD ID or with a jurisdiction, session, and legislature-format bill identifier. People searches support names, districts, chambers, and OCD person IDs. Committee and event operations are marked experimental because coverage varies by jurisdiction.

The server also includes one resource, openstates://jurisdiction/{jurisdiction_id}, for stable jurisdiction context, plus prompts for structured bill research and legislator profiles.

How it works

An MCP client invokes the server's tools and receives structured Open States results. Search results can be paginated, with up to 20 records per page for the documented search operations. Bill and people lookups accept identifiers returned by related searches, which supports workflows such as finding a sponsor and then retrieving that person's profile.

The location lookup accepts decimal-degree latitude and longitude rather than street addresses. It returns state legislators together with the location's two US senators and one US representative. Jurisdiction metadata includes session identifiers, coverage information, and update timestamps, helping clients construct valid follow-up queries.

Bill searches require either a jurisdiction or a query, while people searches require either a jurisdiction or specific OCD person IDs. Committee and event searches require a jurisdiction and therefore do not provide all-jurisdiction searches. Bill searches can inline sponsorships, actions, votes, documents, versions, abstracts, and related bills; event searches can include agendas and participants.

Setup and configuration

The package can be launched with npx using @cyanheads/openstates-mcp-server, as shown by the Claude Desktop, Cursor, and VS Code installation configurations. Set the OPENSTATES_API_KEY environment variable to the Open States API key used by the server.

The server supports two transport modes: STDIO for local MCP client configurations and Streamable HTTP for network-based connections. A public hosted endpoint is available at https://openstates.caseyjhand.com/mcp. The project also publishes a container package through GitHub Container Registry.

Tools and capabilities

The ten tools provide these operations:

  • Search and retrieve legislative bills, including actions, votes, sponsorships, documents, and related legislation.
  • Search people by name, chamber, district, or jurisdiction, or resolve multiple OCD person IDs.
  • Find state and federal legislators for a coordinate.
  • List committees and retrieve committee details with optional membership rosters.
  • Search events and retrieve meeting details with agendas, participants, and media links.
  • List covered jurisdictions or retrieve a jurisdiction's sessions and metadata.

The openstates_bill_research prompt organizes bill analysis around summaries, sponsors, referrals, actions, votes, and related legislation. The openstates_legislator_profile prompt structures research on sponsored bills, committee assignments, voting records, and contact details.

Limitations and notes

Committee and event data is experimental. Not every state has committee coverage, and most states do not publish event data through Open States, so an empty event result may represent missing coverage rather than an absence of events. Committee responses include coverage information.

The location tool does not geocode addresses, so callers must supply valid coordinates. Invalid coordinates produce an error, while locations without coverage return an empty result. Broad, unscoped bill or people searches can exceed upstream timeouts; adding a jurisdiction is the reliable approach. Party appears in people results but cannot be used as a search filter.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Openstates MCP Server

openstates-mcp-server is an MCP server that connects AI clients to Open States legislative data across US states, Washington, DC, and five territories. Its main tools search and retrieve bills, legislators, committees, events, jurisdictions, and representatives for geographic coordinates, supporting legislative research and government-data workflows.

Install it with the `@cyanheads/openstates-mcp-server` package through `npx`, then configure your MCP client to provide `OPENSTATES_API_KEY`. Ready-made installation links are available for Claude Desktop, Cursor, and VS Code.

Set the `OPENSTATES_API_KEY` environment variable to an Open States API key. The variable is included in the documented client configurations and is required when running the server.

Yes, openstates-mcp-server has a Cursor installation configuration. Cursor can launch the package with `npx` and pass `OPENSTATES_API_KEY` through the MCP server environment.

No, it requires decimal-degree latitude and longitude rather than an address. The location tool returns state legislators along with the coordinate's two US senators and one US representative.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewOpenstates MCP Server AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/openstates-mcp-server?style=directory)](https://allmcps.com/mcp/openstates-mcp-server)
HTML Embed
<a href="https://allmcps.com/mcp/openstates-mcp-server"><img src="https://allmcps.com/api/badge/openstates-mcp-server?style=directory" alt="Openstates MCP Server on AllMCPs" /></a>