Bay Area Transit MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Bay Area Transit MCPare there any BART delays right now?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Bay Area Transit MCP Servers
Two 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.
You don't need to deploy anything. Just point your MCP client at the hosted endpoints below.
Live Endpoints
BART:
https://bart-mcp.srivastsh.workers.dev/mcp— no auth, just connectMuni:
https://muni-mcp.srivastsh.workers.dev/mcp— pass your free 511.org API key viax-api-key-511header
These 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.
Related MCP server: marta-mcp
Quick Start
BART (no auth required)
Just add the URL to your MCP client. No API key needed.
Muni (BYOK)
Get a free 511.org API key at https://511.org/open-data/token
Pass it via the
x-api-key-511header in your MCP config
Client Configuration
Claude Desktop / Claude Code
{
"mcpServers": {
"bart": {
"url": "https://bart-mcp.srivastsh.workers.dev/mcp"
},
"muni": {
"url": "https://muni-mcp.srivastsh.workers.dev/mcp",
"headers": {
"x-api-key-511": "YOUR_511_API_KEY"
}
}
}
}Poke
One-click setup: BART recipe | Muni recipe
Or add manually as a remote MCP server:
URL:
https://bart-mcp.srivastsh.workers.dev/mcporhttps://muni-mcp.srivastsh.workers.dev/mcpFor Muni, set custom header
x-api-key-511to your 511 key
Cursor / Windsurf / stdio-only Clients
Use mcp-remote as a bridge:
{
"mcpServers": {
"bart": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-remote", "https://bart-mcp.srivastsh.workers.dev/mcp"]
},
"muni": {
"command": "npx",
"args": [
"-y", "@anthropic-ai/mcp-remote",
"https://muni-mcp.srivastsh.workers.dev/mcp",
"--header", "x-api-key-511:YOUR_511_API_KEY"
]
}
}
}Available Tools
BART (5 tools)
Tool | Description |
| List all BART stations with codes |
| Real-time departures from a station |
| Plan a trip between two stations |
| Current service advisories |
| Fare lookup between two stations |
Muni (7 tools)
Tool | Description |
| List all 511 transit operators |
| List all Muni routes |
| Real-time departures from a stop |
| Line details with stops |
| Current service alerts |
| Real-time vehicle GPS positions |
| Timetable for a line |
Deploy Your Own
Most users don't need to deploy — just use the hosted endpoints above. But if you want your own instance:
Prerequisites
Node.js 18+
Cloudflare account (free tier works)
wranglerCLI:npm install -g wrangler
BART Worker
cd bart-mcp
npm install
wrangler login
wrangler deployThe public BART demo key (MW9S-E7SL-26DU-VV8V) is baked into wrangler.toml. No secrets needed.
Muni Worker
cd muni-mcp
npm install
wrangler deployOptionally set a fallback 511 key (used when no header key is provided):
wrangler secret put API_511_KEYArchitecture
Runtime: Cloudflare Workers (V8 isolates)
Transport:
WebStandardStreamableHTTPServerTransport(stateless, one server per request)Auth: BYOK via request headers, optional env secret fallback
Validation: Zod schemas for all tool inputs
CORS: Enabled for all origins
API Sources: api.bart.gov (BART), api.511.org (Muni/511)
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceMCP server that provides tools for querying live transit data (stops, departures, routes, vehicles, alerts) from any WP GTFS Pro site, enabling AI assistants to answer rider questions.14GPL 2.0
- AlicenseAqualityAmaintenanceMCP server for Atlanta MARTA real-time transit data, enabling queries about train arrivals and bus positions via natural language.4MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying Swiss public transport data (stations, departures, connections) from the Transport Open Data API via natural language through an MCP gateway.3MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying global transit data including agencies, routes, stops, and departures through a GTFS aggregator.2MIT
Related MCP Connectors
Transitland MCP — global GTFS aggregator
MBTA MCP — Boston real-time transit via the MBTA v3 API (api-v3.mbta.com)
BART MCP — San Francisco Bay Area Rapid Transit real-time data (api.bart.gov)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/srivastsh/bay-area-transit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server