Koskamo

SF Muni Real-Time Transit MCP

A community-hosted MCP server providing real-time SF Muni transit data including departures, routes, alerts, vehicle positions, and schedules. It allows agents to query live transit information using a user-provided 511.org API key for rate limit isolation.

Endpoint and access

API key: create a key with the vendor first; your client sends it as an authorization header on every request.

SF Muni Real-Time Transit MCP logo, by srivastshCommunity listingStreamable HTTPAPI keyEndpoint checked 2026-11-07Published by srivastsh
You need:Get a free 511.org API key at https://511.org/open-data/tokenPass it via the x-api-key-511 header in your MCP config
MCP endpoint (Streamable HTTP)
https://muni-mcp.srivastsh.workers.dev/mcp
Vendor documentation

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Get real-time departures from a specific Muni stop
  • List all Muni routes and their details
  • Check current service alerts for Muni lines
  • Find real-time GPS positions of Muni vehicles

Source and maintenance

Community listingRegistry 1.0.0
Maintenance checked

Tools

Reported by the attributed source; not independently observed by Koskamo.

No tool definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
123 ms
95th percentile latency
123 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 123 ms · metadata changed · refuses unauthenticated initialize (HTTP 401)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http sf-muni-real-time-transit-mcp https://muni-mcp.srivastsh.workers.dev/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add sf-muni-real-time-transit-mcp --url https://muni-mcp.srivastsh.workers.dev/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable sf-muni-real-time-transit-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "sf-muni-real-time-transit-mcp": {
      "url": "https://muni-mcp.srivastsh.workers.dev/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "sf-muni-real-time-transit-mcp": {
      "type": "streamableHttp",
      "url": "https://muni-mcp.srivastsh.workers.dev/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start sf-muni-real-time-transit-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "sf-muni-real-time-transit-mcp": {
      "type": "http",
      "url": "https://muni-mcp.srivastsh.workers.dev/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http sf-muni-real-time-transit-mcp https://muni-mcp.srivastsh.workers.dev/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://muni-mcp.srivastsh.workers.dev/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "sf-muni-real-time-transit-mcp": {
      "serverUrl": "https://muni-mcp.srivastsh.workers.dev/mcp"
    }
  }
}

Let your agent find its tools

Find servers like SF Muni Real-Time Transit MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.