Use the Transit API with your AI assistant
BusMaps MCP connects Claude, ChatGPT, Codex, Gemini, Cursor and other AI clients to transit routes, isochrones, departures, stops, vehicles, geocoding and GTFS information. Sign in to BusMaps with email and password or Google. Requests use your account's current API coverage and limits.
What is MCP?
The Model Context Protocol connects AI assistants to external tools and data. BusMaps publishes callable transit tools, API guides, response schemas and examples. Your assistant can read the contract and make requests on your behalf. MCP and direct REST requests use the same account access and allowance.
What your agent can do
Shows your display name, API plan, allowed coverage and data sources. Does not return your API key.
Lists source GTFS records, validation reports, licenses, hashes and versioned download links. Enhanced datasets and custom exports are requested separately.
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.
Calculates areas reachable by public transport and walking from a point, or areas that can reach it by an arrival time. Returns cumulative travel-time contours, their area, and a reachable stop count. Geometry uses precision-6 encoded rings by default, with GeoJSON available on request.
Calculates the same reachability from a line or area boundary within 1000 by 1000 meters. Supports travel-time thresholds, departure or arrival time, transfer limits, and walking options.
Returns scheduled and live departures from stops near a point or from a specific stop. Delay is realtimeDepartureTime minus scheduledDepartureTime. 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 a snapshot of current vehicle positions inside a bounding box, with route id, coordinates, direction and timestamp. positionType marks a real GPS fix or an estimated position; results can be filtered to one route or trip.
Returns driving routes from the full-planet OSRM car service, with distance, duration, geometry, alternatives, and optional turn-by-turn steps.
Returns driving time and distance matrices between multiple origins and destinations.
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.
Geocodes free text into a full structured postal address as JSON.
Resolves coordinates back to a full structured postal address as JSON.
Voice-ready response tools
These six tools call the live /compact/v1/* endpoints. Their smaller, answer-focused JSON responses reduce tool-call tokens for voice models while preserving the transit facts needed for spoken answers. See the Voice Model-Ready endpoint documentation.
Returns up to two structurally distinct compact journeys with services, stops, scheduled and real-time values, accessibility, and alert references.
Returns compact scheduled and real-time departures near a point or for an exact stop.
Returns nearby stops sorted by calculated distance, with identifiers for exact follow-up requests.
Returns the complete timetable for one route in the compact columnar format.
Returns a walking summary and the key manoeuvres needed for first and last mile guidance.
Returns compact structured place-search results for address queries.
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 complete tool sequences for common screens. compact-api explains the compact response model, tool mapping, live verification workflow, and production REST handoff.
Each transit 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 full API. explain_compact_api reads the compact contract and guides representative live calls.
Transit tools are generated from the same API contract that drives the docs, with matching response schemas and examples.
The agent reads the tools, resources, and prompts itself, so nobody pastes documentation into a chat.
Connect your BusMaps account
Server URL: https://mcp.busmaps.com/mcp
Claude / Claude Desktop
- Open the connector settings in Claude or Claude Desktop.
- Add a custom connector with the server URL
https://mcp.busmaps.com/mcp. - Connect the server and sign in to BusMaps with email and password or Google.
Availability depends on your plan and workspace permissions.
ChatGPT
Open ChatGPT and choose + > Add custom MCP server. Enter the server URL, select OAuth and sign in to BusMaps.
Gemini
In the Gemini web app, open Settings > Connected Apps > Custom apps, add the server URL and follow the BusMaps sign-in steps. Google's availability requirements apply.
Cursor (.cursor/mcp.json)
{
"mcpServers": {
"busmaps-transit": {
"type": "http",
"url": "https://mcp.busmaps.com/mcp"
}
}
} VS Code (.vscode/mcp.json)
{
"servers": {
"busmaps-transit": {
"type": "http",
"url": "https://mcp.busmaps.com/mcp"
}
}
} Claude Code
claude mcp add --transport http busmaps-transit https://mcp.busmaps.com/mcp In Claude Code, open /mcp and authenticate the BusMaps server in your browser.
Gemini CLI
gemini mcp add busmaps-transit https://mcp.busmaps.com/mcp --transport http After adding the server, use /mcp auth busmaps-transit in Gemini CLI to complete the browser login.
Codex (~/.codex/config.toml)
[mcp_servers.busmaps-transit]
url = "https://mcp.busmaps.com/mcp" Then authenticate in Codex. For Codex CLI, run codex mcp login busmaps-transit and sign in to BusMaps in the browser.
Use the server URL in your AI client. No Docker container or local MCP installation is needed.
- Add the server URL using your client's remote MCP connection settings.
- Sign in on BusMaps with email and password or Google. A confirmed account with active API access is required.
- Review the application and requested access, then choose Allow access to return to your client.
Your client can request transit data and read your display name, API plan, allowed coverage and data sources. It cannot change your password, billing or subscription. Your password and API key are not sent to the AI client.
API usage terms · Privacy Policy · Subprocessors and service providers
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 Camden Town to the London Eye"plan_transit_route returns available journey options with boarding stops, times and route geometry.
- "Where can I get from Trafalgar Square in 30 minutes by transit and walking?"calculate_transit_isochrone returns cumulative travel-time polygons and a reachable stop count for the selected departure time.
- "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 London Waterloo, and is it delayed?"get_departures returns scheduled and live predicted times. Delay is realtimeDepartureTime minus scheduledDepartureTime.
- "Show current vehicles in the area 51.45,-0.25,51.55,-0.05"get_vehicle_positions_in_area returns a current position snapshot 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.
- "How do I read real-time delays from departures?"The agent answers from the tool description and schema. Nobody pastes documentation into the chat.
- "Explain the Voice Model-Ready endpoints and prove them with a live route request"The agent reads busmaps://compact-api, inspects the matching schemas and examples, then calls the compact_* tools through the public explorer.
Ready to build?
Check your current API access in your profile. Eligible confirmed accounts can try London Demo examples; paid or individually agreed access uses its assigned coverage and limits.
Request data / API accessMCP and REST share your account allowance. Connecting an AI client does not start a paid subscription. Request additional coverage or capacity when your project needs it.