PluginBench
MCP Server
Active
Apache-2.0

io.github.cyanheads/openstates-mcp-server MCP Server

io.github.cyanheads/openstates-mcp-server

What is the io.github.cyanheads/openstates-mcp-server MCP server?

Search bills, legislators, committees, and events across all 50 US states, DC, and 5 US territories.

How to install io.github.cyanheads/openstates-mcp-server

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • OPENSTATES_API_KEY
    required

    Open States API key from open.pluralpolicy.com. Required to make any API requests.

  • OPENSTATES_DAILY_REQUEST_BUDGET

    Maximum upstream Open States requests per rolling 24 hours. Rejects before the request is issued once spent. Defaults to the v3 free-tier daily cap.

  • OPENSTATES_REQUEST_TIMEOUT_MS

    Per-attempt upstream request deadline in milliseconds (minimum 1000). Expiry is non-retryable. Open States answers a scoped query in under a second to ~57s and its gateway gives up near 60s.

  • OPENSTATES_TOTAL_REQUEST_BUDGET_MS

    Wall-clock ceiling in milliseconds for one call across every retry attempt and the backoff between them. Bounds a slow upstream that keeps failing retryably. Must be at least OPENSTATES_REQUEST_TIMEOUT_MS; startup rejects a lower value.

  • MCP_LOG_LEVEL

    Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

  • MCP_HTTP_HOST

    The hostname for the HTTP server.

  • MCP_HTTP_PORT

    The port to run the HTTP server on.

  • MCP_HTTP_ENDPOINT_PATH

    The endpoint path for the MCP server.

  • MCP_AUTH_MODE

    Authentication mode to use: 'none', 'jwt', or 'oauth'.

~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "openstates-mcp-server": {
      "command": "bun",
      "args": [
        "-y",
        "@cyanheads/openstates-mcp-server",
        "run",
        "start:stdio"
      ],
      "env": {
        "OPENSTATES_API_KEY": "<YOUR_OPENSTATES_API_KEY>",
        "OPENSTATES_DAILY_REQUEST_BUDGET": "<YOUR_OPENSTATES_DAILY_REQUEST_BUDGET>",
        "OPENSTATES_REQUEST_TIMEOUT_MS": "<YOUR_OPENSTATES_REQUEST_TIMEOUT_MS>",
        "OPENSTATES_TOTAL_REQUEST_BUDGET_MS": "<YOUR_OPENSTATES_TOTAL_REQUEST_BUDGET_MS>",
        "MCP_LOG_LEVEL": "<YOUR_MCP_LOG_LEVEL>",
        "MCP_HTTP_HOST": "<YOUR_MCP_HTTP_HOST>",
        "MCP_HTTP_PORT": "<YOUR_MCP_HTTP_PORT>",
        "MCP_HTTP_ENDPOINT_PATH": "<YOUR_MCP_HTTP_ENDPOINT_PATH>",
        "MCP_AUTH_MODE": "<YOUR_MCP_AUTH_MODE>"
      }
    }
  }
}

Related MCP servers

Geocode, reverse geocode, and run Overpass spatial queries on OpenStreetMap data.

2
TypeScript
Apache-2.0
View repository →

Researcher profiles, works, affiliations, funding, and peer reviews from the ORCID registry.

2
TypeScript
View repository →

Query OSV.dev for package vulnerabilities and batch-audit dependency lists via MCP.

1
TypeScript
Apache-2.0
View repository →

Offline global aviation reference — airports, runways, navaids, frequencies from OurAirports.

1
TypeScript
Apache-2.0
View repository →

Search fossil occurrences, taxon ranges, diversity through deep time, and the geologic time scale.

1
TypeScript
Apache-2.0
View repository →

Offline methodology engine for authorized penetration testing, CTF, and security research.

1
TypeScript
Apache-2.0
View repository →