Skip to main content
Glama
countaight

BusTime MCP

by countaight

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
addA

Add two numbers

get_routesA

Fetch all CTA routes. This is usually the first call in a session: use the 'rt' field from each returned route as the route designator for get_directions, get_stops_for_route, get_predictions_for_stop, get_patterns, and get_detours.

get_stops_for_routeA

Fetch all stops for a route heading in a specified direction. Use the 'stpid' field from a result as input to get_predictions_for_stop. Call get_directions(rt) first if you don't already have a valid direction id.

get_predictions_for_stopA

Fetch the top number of predictions or just the latest one if not specified for buses on a specific stop. This is real-time data and is always live, never cached.

get_vehicleA

Fetch a vehicle's live location based on its id. This is real-time data and is always live, never cached. The returned 'pid' field can be passed to get_patterns to draw the vehicle's route shape.

get_timeA

Fetch the current BusTime system date and time. Useful for reconciling against prediction timestamps ('prdtm') from get_predictions_for_stop. Always live, never cached.

get_directionsA

Fetch the set of directions serviced by the specified route. Use the 'id' field (not the human-readable 'name') from a result as the 'direction' parameter for get_stops_for_route.

get_patternsA

Fetch pattern points for a comma-delimited list of pattern ids (pid, max 10), or all active patterns for a single route (rt). Provide exactly one of pid or rt, not both. Useful for drawing a route or vehicle's path on a map.

get_locale_listA

Fetch the list of locales (languages) supported by the API. Not currently consumed by other tools here, but useful to validate a 'locale' value before it's added elsewhere.

get_detoursA

Fetch active detours in the system. Optionally filter by route (rt) and, if rt is given, by direction. Check this before trusting a get_stops_for_route or get_patterns result is current, since detours can add/remove stops or shift pattern geometry.

get_enhanced_detoursA

Fetch enhanced detour data (used by GTFS-RT systems), including affected patterns, trips, and stops. Only returns data when detour support is enabled in BusTime for this API key; may return an 'Unsupported function' error otherwise (this is a CTA-side account limitation, not a bug in this tool).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 11 tools

Disambiguation2/5

Most tools target distinct aspects of CTA bus data, but the inclusion of 'add' (add two numbers) is completely unrelated to bus time, creating confusion about the server's purpose and when to use it.

Naming Consistency3/5

All bus-related tools follow a consistent 'get_<noun>' pattern, but the 'add' tool breaks this pattern entirely, resulting in moderate inconsistency.

Tool Count4/5

With 11 tools, the count is reasonable for a bus transit API. The 'add' tool is unnecessary but does not make the set too large or too small.

Completeness4/5

The bus tools cover core functionality: routes, directions, stops, predictions, vehicles, time, patterns, detours, and locale. Minor gaps exist (e.g., no route search), but the surface is largely complete for the domain.

Maintenance

ActivitySlowing
ResponsivenessNo issues