Config is the same across clients — only the file and path differ.
{
"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"
}
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe 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.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'wrangler' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
Wrangler affected by OS Command Injection in `wrangler pages deploy`
**Summary** A command injection vulnerability (CWE-78) has been found to exist in the `wrangler pages deploy` command. The issue occurs because the `--commit-hash` parameter is passed directly to a shell command without proper validation or sanitization, allowing an attacker with control of `--commit-hash` to execute arbitrary commands on the system running Wrangler. **Root cause** The `commitHash` variable, derived from user input via the `--commit-hash` CLI argument, is interpolated directl
Arbitrary remote code execution within `wrangler dev` Workers sandbox
### Impact The V8 inspector intentionally allows arbitrary code execution within the Workers sandbox for debugging. `wrangler dev` would previously start an inspector server listening on all network interfaces. This would allow an attacker on the local network to connect to the inspector and run arbitrary code. Additionally, the inspector server did not validate `Origin`/`Host` headers, granting an attacker that can trick any user on the local network into opening a malicious website the ability
Arbitrary remote file read in Wrangler dev server
### Impact Sending specially crafted HTTP requests and inspector messages to Wrangler's dev server could result in any file on the user's computer being accessible over the local network. An attacker that could trick any user on the local network into opening a malicious website could also read any file. ### Patches This issue was fixed in `wrangler@3.19.0`. Wrangler will now only serve files that are part of your bundle, or referenced by your bundle's source maps. ### Workarounds Configure Wr
Cloudflare Wrangler directory traversal vulnerability
### Impact The Wrangler command line tool (<=wrangler@3.1.0 or <=wrangler@2.20.1) was affected by a directory traversal vulnerability when running a local development server for Pages (wrangler pages dev command). This vulnerability enabled an attacker in the same network as the victim to connect to the local development server and access the victim's files present outside of the directory for the development server. ### Patches Wrangler2: Upgrade to v2.20.1 or higher. Wrangler3: Upgrade to v3
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in maps
Global weather API: forecasts, historical data, marine, ski, astronomy and timezone.
18 Google Maps tools for AI agents — geocode, search, directions, weather, and more.
MCP server for the VesselAPI — maritime vessel tracking, port events, emissions, and navigation data
Fair meeting point discovery for AI agents with isochrone-based travel time fairness
MCP Security Weekly
Get CVE alerts and security updates for io.github.srivastsh/bart-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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.
https://bart-mcp.srivastsh.workers.dev/mcp — no auth, just connecthttps://muni-mcp.srivastsh.workers.dev/mcp — pass your free 511.org API key via x-api-key-511 headerThese 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.
Just add the URL to your MCP client. No API key needed.
x-api-key-511 header in your MCP config{
"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"
}
}
}
}
One-click setup: BART recipe | Muni recipe
Or add manually as a remote MCP server:
https://bart-mcp.srivastsh.workers.dev/mcp or https://muni-mcp.srivastsh.workers.dev/mcpx-api-key-511 to your 511 keyUse 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"
]
}
}
}
| Tool | Description |
|---|---|
bart_stations | List all BART stations with codes |
bart_departures | Real-time departures from a station |
bart_trip | Plan a trip between two stations |
bart_advisories | Current service advisories |
bart_fare | Fare lookup between two stations |
| Tool | Description |
|---|---|
transit_operators | List all 511 transit operators |
muni_routes | List all Muni routes |
muni_departures | Real-time departures from a stop |
muni_line | Line details with stops |
muni_alerts | Current service alerts |
muni_vehicles | Real-time vehicle GPS positions |
muni_schedule | Timetable for a line |
Most users don't need to deploy — just use the hosted endpoints above. But if you want your own instance:
wrangler CLI: npm install -g wranglercd bart-mcp
npm install
wrangler login
wrangler deploy
The public BART demo key (MW9S-E7SL-26DU-VV8V) is baked into wrangler.toml. No secrets needed.
cd muni-mcp
npm install
wrangler deploy
Optionally set a fallback 511 key (used when no header key is provided):
wrangler secret put API_511_KEY
WebStandardStreamableHTTPServerTransport (stateless, one server per request)