turnout.apppublic · no accounts · no tracking
For developers & AI assistants

A public MCP server,
so AI can answer civic questions correctly.

Connect Claude Desktop, ChatGPT, Cursor, or any other Model Context Protocol client to mcp.turnout.app and ask questions like “What’s on the ballot for ZIP 11211?” The model gets real, citation-bearing answers from US Census TIGER/Line 2024, NCSL voter data, and Wikipedia.

Connect Claude Desktop in 30 seconds

Drop this into your config file.

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows). Restart Claude Desktop. Look for the “Search and tools” icon — turnout will appear with all tools listed.

{
  "mcpServers": {
    "turnout": {
      "url": "https://mcp.turnout.app/mcp"
    }
  }
}
Live tool surface · tools

What the AI can call.

loading from mcp.turnout.app…

Try these in Claude

Example questions.

What’s on the ballot for ZIP 11211?
geo.geocodegeo.lookup_divisionselections.list_upcoming
Who represents San Francisco?
civic.my_reps
Tell me about California’s congressional district 12.
civic.about_division
What are the voter ID rules in Texas?
civic.voting_info
List all 26 NY congressional districts.
civic.house_districts
Who is the governor of Ohio and what are its US Senators’ names?
civic.about_state
Or call it directly

JSON-RPC 2.0 · Streamable HTTP.

No auth. No API key. Spec-compliant MCP — works with any client that speaks JSON-RPC over POST.

curl -sS https://mcp.turnout.app/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc":"2.0",
    "id":1,
    "method":"tools/call",
    "params":{
      "name":"civic.my_reps",
      "arguments":{"query":"94110"}
    }
  }' | jq .result.structuredContent
On the wire

Every tool here is read-only and sourced from public reference data. No PII flows through this server. No request bodies are logged. The Postgres database behind it has zero voter records by design — that’s a separate, end-to-end-encrypted system at canvass.turnout.app. See About for the two-sided architecture.