Connect your AI agent to global transit data
Our MCP server connects Claude, ChatGPT, Gemini, Cursor, and any other MCP client to the busmaps.com Transit API. The public demo needs no API key. The agent plans routes, finds stops, reads service alerts, and explores GTFS data across 90+ countries, and works out the tools and their schemas on its own.
What is MCP?
The Model Context Protocol is an open standard that connects AI assistants to external tools and data. Instead of pasting API documentation into a chat and hoping the model guesses the right parameters, an MCP server publishes a typed list of tools. The AI reads that list and calls the tools on its own. Connect the busmaps.com server once and your assistant queries the transit API directly, without you re-explaining it.
What your agent can do
Fourteen read-only tools for trip planning, live data, GTFS downloads, geography, and geocoding.
Plans a journey between two points by bus, subway, train or tram. Returns route options with legs, board and alight stops, times, transfers, an encoded polyline, and predicted times where live data exists. The barrierMode filter can require explicitly wheelchair-accessible stops, trips, or both.
Returns scheduled and live departures from stops near a point or from a specific stop. Delay is rtDepartureTime minus the scheduled departureTime. The barrierMode filter uses the same strict wheelchair-accessibility rules as route planning.
Returns transit stops within a radius of a point, each with its id, name, coordinates, and the lines that serve it.
Returns a route's full timetable - its directions, ordered stops and the schedule as a trips x stops grid. The route card for one line.
Returns current service disruptions for exactly one route or one operator. It is a lightweight alternative to loading the full route timetable when only alerts are needed.
Returns one trip (a single vehicle run) as an ordered list of stops with arrival and departure times and GTFS boarding rules.
Returns live vehicle positions inside a bounding box, with route id, coordinates, direction and timestamp. positionType marks a real GPS fix or an estimated position; can be filtered to one route or trip.
Returns a walking route with turn-by-turn directions from OSRM for the first and last mile to a stop.
Returns a walking time and distance matrix between multiple points, so the agent can compare which stop is closest on foot.
Returns the GTFS catalog, optionally filtered by exact feedName. Each derivative includes a versioned download path, artifactHash, downloadFileName, licensing, and error-correction status.
Geocodes free text into GeoJSON, tuned for autocomplete and typeahead as the user types.
Resolves coordinates back to a place as GeoJSON, tuned for the same autocomplete-style lookups.
Geocodes free text into a full structured postal address as JSON.
Resolves coordinates back to a full structured postal address as JSON.
Built to be read by agents
On connect the agent reads the instructions, resources, and schemas, then builds correct requests on its own.
The server returns instructions that point the agent to where it should start.
start-here covers the overview and gotchas like coordinate order. recipes gives screen recipes for a departures board, route planner, search autocomplete, stops on a map, and a live vehicles map, each with its tool sequence and caching and debounce patterns.
Each tool exposes its response JSON Schema and a trimmed real example, so the agent knows the response shape before it calls.
build_transit_app turns one request into an app build plan. explain_api describes the API.
Tools are read-only and generated from the same API contract that drives the docs. Every tool includes a matching response schema and example.
The agent reads the 14 tools, 30 resources, and 2 prompts itself, so nobody pastes documentation into a chat.
Connect
Point your AI client at the server URL - no Docker, no local install. Pick your client below.
https://mcp.busmaps.com/mcpThis hosted MCP is a public demo over busmaps.com data. It uses a shared key with modest rate limits, so clients do not send an API key. Production apps call the REST API with their own key.
Claude Code
claude mcp add --transport http busmaps-transit https://mcp.busmaps.com/mcp Claude and Claude Desktop
On Pro or Max, open Customize > Connectors > Add custom connector and enter the server URL above. Team and Enterprise owners add it as a custom web connector in organization settings.
ChatGPT
On supported plans, enable Developer mode in Settings > Apps > Advanced settings, then create a custom app with the server URL. Workspace permissions determine who can add and publish it.
Cursor (.cursor/mcp.json)
{
"mcpServers": {
"busmaps-transit": {
"type": "http",
"url": "https://mcp.busmaps.com/mcp"
}
}
} Gemini CLI
gemini mcp add busmaps-transit https://mcp.busmaps.com/mcp --transport http Codex CLI (~/.codex/config.toml)
[mcp_servers.busmaps-transit]
url = "https://mcp.busmaps.com/mcp" VS Code (.vscode/mcp.json)
{
"servers": {
"busmaps-transit": {
"type": "http",
"url": "https://mcp.busmaps.com/mcp"
}
}
}Ask in plain language
Connect an agent to the server and try these. The agent picks the tool on its own.
- "Plan a route from central London to central Paris"plan_transit_route returns a Eurostar itinerary with legs, board and alight stops, times across two time zones, and an encoded polyline to draw on a map.
- "Find transit stops within 300m of 51.5074,-0.1278"find_nearby_stops returns stop ids, names, coordinates, and the lines serving each stop inside the radius.
- "When is the next departure near Manchester Piccadilly, and is it delayed?"get_realtime_departures returns scheduled and live predicted times. Delay is rtDepartureTime minus departureTime.
- "Show live vehicles in the area 51.45,-0.25,51.55,-0.05"track_vehicles_in_area returns live positions inside the bounding box with route id, coordinates, direction, and timestamp.
- "Are there service alerts for this route?"get_service_alerts returns current disruptions without loading the complete route timetable.
- "Get the current GTFS downloads for pks-nova"get_gtfs_feeds_catalog filters by feedName and returns versioned paths with the filenames to use when saving each artifact.
- "How do I read real-time delays from departures?"The agent answers from the tool description and schema. Nobody pastes documentation into the chat.
Build transit-aware AI agents
Explore with the public MCP demo, then use your own key for production REST API access.
Get production API access