Aarekaz

Transit MCP

Community Aarekaz
Updated

Transit MCP connects AI agents to live DC Metro and NYC Subway arrivals, incidents, stations, buses, and train positions.

Transit MCP

Transit MCP is an anonymous, read-only Model Context Protocol server for live DC Metro, NYC Subway, and San Francisco Bay Area transit information.

Metro MCP is now Transit MCP.

Nearly 100,000 requests served in the last 7 days.

MCPTransit MCPCloudflare WorkersLicense

Connect

The production endpoint is https://transitmcp.com/mcp. No login is required. No client credentials, bearer token, or OAuth flow is required; Transit MCP does not collect client credentials. Stale Authorization headers are ignored.

The previous endpoint, https://metro-mcp.anuragd.me/mcp, will continue to be supported and serves the same Worker.

Directories

Claude

claude mcp add --transport http transit-mcp https://transitmcp.com/mcp

Codex

codex mcp add transit-mcp https://transitmcp.com/mcp

Generic Streamable HTTP client

{
  "mcpServers": {
    "transit-mcp": {
      "type": "http",
      "url": "https://transitmcp.com/mcp"
    }
  }
}

POST /mcp is the recommended stateless Streamable HTTP endpoint. POST and OPTIONS /sse are a compatibility alias; legacy GET SSE, DELETE, session-message URLs, and slash variants return 405.

What it provides

Transit MCP exposes 18 MCP tools across WMATA, MTA, and 511 SF Bay data, including arrivals, service incidents, stations, routes, buses, trains, transfers, and live vehicle positions.

Five Bay Area tools cover regional station search, station arrivals, routes, service alerts, and vehicle positions. Bay Area results include freshness information and attribution to 511 SF Bay and participating operators.

It also provides three transit:// URI templates (stations, routes, and incidents) and three canned templates (service-briefing, commute-planner, and accessibility-check). Tool calls are read-only, idempotent, and open-world. Every result includes typed structuredContent and a JSON text fallback.

An Apps-capable host can render the Transit Board resource for the 13 DC and NYC tools. Bay Area tools return the same structured content and JSON text fallback without a specialized board renderer. See the Apps verification record.

Runtime and safety boundaries

  • Protocol: MCP 2026-07-28 stateless Streamable HTTP. The server does not advertise sessions, resumability, or server push.
  • Request trust: public origin and host/origin allowlists are validated at startup. The signed MRTR request-state codec is bound to the MCP method and expires after five minutes.
  • Cancellation: client disconnects propagate request cancellation to MCP handlers and upstream transit fetches.
  • Caching: discovery and tool metadata are publicly cacheable for 24 hours. Station and route resources are public-cacheable; live incident resources are not. WMATA uses Cloudflare edge cache windows appropriate to each feed, MTA real-time feeds use a 30-second in-memory cache, and Bay Area GTFS data is refreshed through the regional feed hub.
  • Rate limiting: roughly 300 requests per 60-second window per source-IP key per Cloudflare location. Shared egress IPs group clients, and enforcement is eventually consistent. This is abuse protection, not a dedicated user quota.
  • Rollback: the inactive MetroMcpAgent class and original v1 Durable Object migration remain for rollback. Do not add a deletion migration during stabilization.

Deploy your own

Client access is anonymous. A self-hosted Worker still needs its own WMATA and 511 SF Bay API keys plus a stable MCP_REQUEST_STATE_KEY of at least 32 bytes for signed MRTR state.

bun install --frozen-lockfile
cp .dev.vars.example .dev.vars
bun run dev

Use the checked-in loopback origin, hostname allowlists, and ENVIRONMENT=development values together. Keep .dev.vars out of source control. Production and preview use their own origins, allowlists, state keys, WMATA and 511 keys, artifact buckets, and MCP_RATE_LIMITER bindings.

Before an approved deployment, run only dry-runs:

bunx wrangler deploy --dry-run --outdir /tmp/transit-mcp-production
bunx wrangler deploy --env preview --dry-run --outdir /tmp/transit-mcp-preview

Verification

Run the suite with bun run test. The direct conformance runner requires only a target URL:

export MCP_CONFORMANCE_TARGET_URL=https://metro-mcp-preview.anuragd.me/mcp
./scripts/run-conformance.sh

See MCP 2026 verification for protocol coverage and security architecture for the public-request and rate-limit boundaries.

Support and legal

License

MIT. See LICENSE.

MCP Server · Populars

MCP Server · New

    fullselfbrowsing

    FSB v0.9.92 Full Self Browsing

    DOM-first AI browser automation for Chrome and MCP clients.

    Community fullselfbrowsing
    kody-hq

    kody

    🐨 Your agents' cloud — the memory, keys, code, and automations your AI agent keeps, portable across every MCP host.

    Community kody-hq
    rootSunc

    CNEquity · 中国市场金融数据湖

    中国 A 股数据基础设施。55个日更数据集:股票行情、基本面、期货数据、资金面、公告事件、指数行业、宏观与风险。行级溯源、PIT 语义、复权与历史成分内置,MCP 原生。自托管,零注册、零 API Token

    Community rootSunc
    VicPitic

    The Brains

    The smartest brains on earth, in an MCP. Cited, searchable MCP servers built from founders' talks, essays and posts.

    Community VicPitic
    metavert-io

    LightCMS

    Self-hosted CMS that works human or headless: full admin UI plus REST and MCP APIs, built-in semantic search and site chat, and content forking, versioning, diff/merge review, templates, approvals, and static page generation.

    Community metavert-io