CTA MCP Server

A Model Context Protocol server for Chicago Transit Authority bus data. Real-time arrivals, vehicle tracking, and service alerts.

What is MCP?

The Model Context Protocol is an open standard that lets AI assistants connect to external data sources and tools. This server exposes CTA bus data so any MCP-compatible AI can answer questions like "When's the next bus?" or "Are there delays on route 36?"

Try It with MCP Inspector

Use the MCP Inspector to test this server locally:

npx @modelcontextprotocol/inspector

Then in the Inspector UI, connect to this server using the URL:

https://gvaughan.com/api/mcp/cta

Try calling cta_get_routes or cta_next_buses with a stop ID.

Available Tools

Workflow Tools (Recommended)

cta_next_buses

Get next bus arrivals at a stop. Handles 80% of queries in a single call.
Example: cta_next_buses("Broadway & Addison", route="36")

cta_route_status

Check service status and alerts for a route.
Example: cta_route_status("36")

Low-Level Tools

cta_get_routes

All 124 bus routes

cta_get_directions

Route directions

cta_get_stops

Stops on a route

cta_get_predictions

Real-time arrivals

cta_get_vehicles

Bus locations

cta_get_service_bulletins

Service alerts

Get More Requests

Anonymous: 10/day | Free tier: 100/day | Pro: 1,000/day

Register Free

Server Usage

-
Requests (7d)
-
Unique Users
-
Avg Latency (ms)
-
Success Rate

Daily Requests (Last 7 Days)

Loading...

Popular Tools

Loading...

Use with Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "cta": {
      "url": "https://gvaughan.com/api/mcp/cta"
    }
  }
}

Then ask Claude: "When's the next bus from Broadway and Addison?"

For higher rate limits, register for a free token and add it to the headers.