Search bills, legislators, committees, and events across all 50 US states, DC, and Puerto Rico.
If you already use Openstates, the openstates mcp server is the piece that lets your assistant work with it directly. Search bills, legislators, committees, and events across all 50 US states, DC, and Puerto Rico.
Because this one is hosted, setup is mostly authentication — you point your client at the endpoint and approve access. Nothing runs on your machine, so there is no runtime to keep patched.
The toolset is worth reading before you wire it up, because it tells you what the integration is really for:
openstates_search_bills — Search state legislative bills across all covered US jurisdictions with full-text search, jurisdiction/session filtering, subject tags, and sponsoropenstates_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 IDopenstates_get_legislators_by_location — Find every legislator representing a geographic coordinate (latitude/longitude) — state legislators and the federal delegationopenstates_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 rosteropenstates_search_events — Search hearings, floor sessions, and committee meetings (experimental)openstates_get_event — Fetch full event detail including agenda, participants, and media linksopenstates_list_jurisdictions — List all 56 jurisdictions (50 states, DC, and 5 US territories) covered by Open States with session identifiers and coverage metadataopenstates_get_jurisdiction — Fetch full metadata for a specific jurisdiction including all legislative sessions and their identifiersPrerequisites — The Prerequisites tool exposed by this serverInstallation — The Installation tool exposed by this serverConfiguration is passed through the environment: MCP_TRANSPORT_TYPE, MCP_LOG_LEVEL, OPENSTATES_API_KEY, OPENSTATES_API_BASE_URL, MCP_HTTP_ENDPOINT_PATH, MCP_PUBLIC_URL. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
This sits in the file and storage access group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Openstates's toolset — openstates_search_bills, openstates_get_bill, openstates_search_people and 9 more — is a fair guide to whether it matches your workflow. It is maintained by cyanheads; worth a glance at recent repository activity before you build anything load-bearing on it.
This entry was verified against Openstates's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.
| Tool | What it does |
|---|---|
| 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 |
| Prerequisites | The Prerequisites tool exposed by this server. |
| Installation | The Installation tool exposed by this server. |
{
"mcpServers": {
"openstates-mcp-server": {
"type": "stdio",
"command": "bunx",
"args": ["@cyanheads/openstates-mcp-server@latest"],
"env": {
"MCP_TRANSPORT_TYPE": "stdio",
"MCP_LOG_LEVEL": "info",
"OPENSTATES_API_KEY": "your-api-key"
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| MCP_TRANSPORT_TYPE | Configuration value read at startup. | Optional |
| MCP_LOG_LEVEL | Configuration value read at startup. | Optional |
| OPENSTATES_API_KEY | Credential the server authenticates with. | Yes |
| OPENSTATES_API_BASE_URL | Endpoint or connection string the server talks to. | Yes |
| MCP_HTTP_ENDPOINT_PATH | Filesystem location the server is allowed to use. | Optional |
| MCP_PUBLIC_URL | Endpoint or connection string the server talks to. | Yes |
Scoped local file access — read, write, search and reorganise files in directories you explicitly allow.
Search and read your Drive — Docs, Sheets and files become context your assistant can actually use.
Query, modify and analyse local SQLite databases in conversation — the fastest way to chat with a data file.
Build a programmable telecommunications stack for connecting telephony services with the Internet via a cloud-based utility.
Chat with your second brain — search, read and write vault notes through the Local REST API.
Connects AI models to an Obsidian knowledge base for direct access and manipulation of notes and folders.