OpenCity Record

Sign in · Sign up free

OpenCity Record MCP

Civic data for the AI you already use.

Pipe meeting transcripts, votes, ordinances, and permits into Claude.ai, ChatGPT, Cursor, Claude Code, or any HTTP MCP client. Free 1-state plan, no credit card. One account works on opencityrecord.org and openutah.org.

or

Ask things like

What you can do with OpenCity MCP

Voting record

How did my councilmember vote on the last housing reform package? Show me each vote and what public commenters said.

What the city is doing

What's the city doing about housing affordability? Summarize the positions officials have taken over the past year.

Upcoming agenda

What's on next week's council agenda I should care about? Flag anything that affects zoning or property taxes.

Position tracking

Find every time the mayor mentioned zoning reform in meetings — has their position shifted over time?

Connect your tools

One server URL, every major AI client

For Claude.ai, ChatGPT, and Cursor's built-in connectors, paste https://mcp.opencityrecord.org and approve OAuth — no bearer token needed. For Claude Code, Codex, scripts, or anything else, sign in to generate an API key, then drop it into one of the snippets below.

Claude Code

Add the server, then restart your terminal session (or run /mcp inside Claude Code) to pick it up.

claude mcp add --transport http opencity \
  https://mcp.opencityrecord.org/mcp \
  --header "Authorization: Bearer ock_live_…"

Codex CLI (OpenAI)

Add an entry to ~/.codex/config.toml (create the file if it doesn't exist):

[mcp_servers.opencity]
type = "http"
url  = "https://mcp.opencityrecord.org/mcp"
headers = { Authorization = "Bearer ock_live_…" }

Cursor (manual mode) · Continue · Goose · other HTTP MCP clients

Most clients accept a JSON or TOML config block. The shape that works for Cursor's mcp.json (and is structurally identical for Continue / Goose):

{
  "mcpServers": {
    "opencity": {
      "url": "https://mcp.opencityrecord.org/mcp",
      "headers": {
        "Authorization": "Bearer ock_live_…"
      }
    }
  }
}

Verify (curl)

Sanity-check the key. Should return a JSON list of tools.

curl -sS https://mcp.opencityrecord.org/mcp \
  -H "Authorization: Bearer ock_live_…" \
  -H "Accept: application/json, text/event-stream" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'