The City Record

The City Record MCP

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

What you can do with OpenCity MCP

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

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

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

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

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"}'