{
  "markdown": "# Bay Area Transit MCP Servers\n\nTwo Cloudflare Workers providing MCP (Model Context Protocol) access to BART and SF Muni real-time transit data. Works with Claude, ChatGPT, Poke, Cursor, and any MCP-compatible client.\n\n**You don't need to deploy anything.** Just point your MCP client at the hosted endpoints below.\n\n## Live Endpoints\n\n- **BART**: `https://bart-mcp.srivastsh.workers.dev/mcp` — no auth, just connect\n- **Muni**: `https://muni-mcp.srivastsh.workers.dev/mcp` — pass your free 511.org API key via `x-api-key-511` header\n\nThese run on Cloudflare Workers' free tier (100k requests/day). Since the Muni server uses BYOK auth, each user's 511 rate limit is isolated to their own key.\n\n## Quick Start\n\n### BART (no auth required)\n\nJust add the URL to your MCP client. No API key needed.\n\n### Muni (BYOK)\n\n1. Get a free 511.org API key at https://511.org/open-data/token\n2. Pass it via the `x-api-key-511` header in your MCP config\n\n---\n\n## Client Configuration\n\n### Claude Desktop / Claude Code\n\n```json\n{\n  \"mcpServers\": {\n    \"bart\": {\n      \"url\": \"https://bart-mcp.srivastsh.workers.dev/mcp\"\n    },\n    \"muni\": {\n      \"url\": \"https://muni-mcp.srivastsh.workers.dev/mcp\",\n      \"headers\": {\n        \"x-api-key-511\": \"YOUR_511_API_KEY\"\n      }\n    }\n  }\n}\n```\n\n### Poke\n\nOne-click setup: [BART recipe](https://poke.com/refer/vFEH7FR-kPn) | [Muni recipe](https://poke.com/r/rqHQjgDqSzT)\n\nOr add manually as a remote MCP server:\n\n- **URL**: `https://bart-mcp.srivastsh.workers.dev/mcp` or `https://muni-mcp.srivastsh.workers.dev/mcp`\n- For Muni, set custom header `x-api-key-511` to your 511 key\n\n### Cursor / Windsurf / stdio-only Clients\n\nUse `mcp-remote` as a bridge:\n\n```json\n{\n  \"mcpServers\": {\n    \"bart\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@anthropic-ai/mcp-remote\", \"https://bart-mcp.srivastsh.workers.dev/mcp\"]\n    },\n    \"muni\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\", \"@anthropic-ai/mcp-remote\",\n        \"https://muni-mcp.srivastsh.workers.dev/mcp\",\n        \"--header\", \"x-api-key-511:YOUR_511_API_KEY\"\n      ]\n    }\n  }\n}\n```\n\n---\n\n## Available Tools\n\n### BART (5 tools)\n\n| Tool | Description |\n|------|-------------|\n| `bart_stations` | List all BART stations with codes |\n| `bart_departures` | Real-time departures from a station |\n| `bart_trip` | Plan a trip between two stations |\n| `bart_advisories` | Current service advisories |\n| `bart_fare` | Fare lookup between two stations |\n\n### Muni (7 tools)\n\n| Tool | Description |\n|------|-------------|\n| `transit_operators` | List all 511 transit operators |\n| `muni_routes` | List all Muni routes |\n| `muni_departures` | Real-time departures from a stop |\n| `muni_line` | Line details with stops |\n| `muni_alerts` | Current service alerts |\n| `muni_vehicles` | Real-time vehicle GPS positions |\n| `muni_schedule` | Timetable for a line |\n\n---\n\n## Deploy Your Own\n\nMost users don't need to deploy — just use the hosted endpoints above. But if you want your own instance:\n\n### Prerequisites\n\n- Node.js 18+\n- Cloudflare account (free tier works)\n- `wrangler` CLI: `npm install -g wrangler`\n\n### BART Worker\n\n```bash\ncd bart-mcp\nnpm install\nwrangler login\nwrangler deploy\n```\n\nThe public BART demo key (`MW9S-E7SL-26DU-VV8V`) is baked into `wrangler.toml`. No secrets needed.\n\n### Muni Worker\n\n```bash\ncd muni-mcp\nnpm install\nwrangler deploy\n```\n\nOptionally set a fallback 511 key (used when no header key is provided):\n\n```bash\nwrangler secret put API_511_KEY\n```\n\n---\n\n## Architecture\n\n- **Runtime**: Cloudflare Workers (V8 isolates)\n- **Transport**: `WebStandardStreamableHTTPServerTransport` (stateless, one server per request)\n- **Auth**: BYOK via request headers, optional env secret fallback\n- **Validation**: Zod schemas for all tool inputs\n- **CORS**: Enabled for all origins\n- **API Sources**: api.bart.gov (BART), api.511.org (Muni/511)\n",
  "bytes": 3848,
  "sha": "1eca3d19d75cbd3e7f8a8d40844c1622347941caaec08230c00f0ff72e2c6e35",
  "repo_slug": "srivastsh/bay-area-transit-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_srivastsh_bart_mcp_41c8bb52/readme"
}