Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Bay Area Transit

FreeNot checked

Real-time BART and SF Muni transit data via hosted Cloudflare Workers endpoints.

GitHubEmbed

About

Real-time BART and SF Muni transit data via hosted Cloudflare Workers endpoints.

README

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 connect
  • Muni: https://muni-mcp.srivastsh.workers.dev/mcp — pass your free 511.org API key via x-api-key-511 header

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.

Quick Start

BART (no auth required)

Just add the URL to your MCP client. No API key needed.

Muni (BYOK)

  1. Get a free 511.org API key at https://511.org/open-data/token
  2. Pass it via the x-api-key-511 header 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/mcp or https://muni-mcp.srivastsh.workers.dev/mcp
  • For Muni, set custom header x-api-key-511 to 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
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

Muni (7 tools)

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

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)
  • wrangler CLI: npm install -g wrangler

BART Worker

cd 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.

Muni Worker

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

Architecture

  • 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)

from github.com/srivastsh/bay-area-transit-mcp

Installing Bay Area Transit

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/srivastsh/bay-area-transit-mcp

FAQ

Is Bay Area Transit MCP free?

Yes, Bay Area Transit MCP is free — one-click install via Unyly at no cost.

Does Bay Area Transit need an API key?

No, Bay Area Transit runs without API keys or environment variables.

Is Bay Area Transit hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Bay Area Transit in Claude Desktop, Claude Code or Cursor?

Open Bay Area Transit on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Bay Area Transit with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs