openbusdata
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENBUS_API_KEY | Yes | Your Bus Open Data Service API key. Get a free key at https://data.bus-data.dft.gov.uk. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| load_timetable_indexA | Download and index all accessible timetable datasets. Call this first if stop/route search tools return no results. Parameters: force_refresh: If true, re-download all data instead of using cache. |
| search_stopsA | Search for bus stops by name across all loaded timetable data. Returns matching stops with their NaPTAN codes. Parameters: query: Substring to search for in stop names (case-insensitive). |
| find_routes_between_stopsA | Find all bus routes that serve BOTH of the given stops. Stops can be specified by NaPTAN code or by name. Parameters: stop_a: First stop (NaPTAN code or name substring). stop_b: Second stop (NaPTAN code or name substring). |
| get_route_stopsA | Get the full ordered list of stops for a specific bus route. Parameters: operator: Operator name (exact or partial match). route: Route number/identifier. direction: Optional filter: 'inbound', 'outbound', or leave blank for all. |
| find_buses_by_arrival_timeA | Find scheduled buses that board at stop_a and arrive at stop_b by the given time. Parameters: stop_a: Boarding stop (NaPTAN code or name). stop_b: Alighting stop (NaPTAN code or name). arrive_by: Target arrival time (HH:MM, 24h format). day: Optional day filter: mon, tue, wed, thu, fri, sat, sun. Defaults to today. |
| plan_journeyA | Plan a journey from stop_a to stop_b arriving by a given time. Supports direct routes and single changes. Parameters: stop_a: Starting stop (NaPTAN code or name). stop_b: Destination stop (NaPTAN code or name). arrive_by: Target arrival time (HH:MM, 24h format). day: Optional day filter: mon, tue, wed, thu, fri, sat, sun. Defaults to today. max_changes: Maximum number of bus changes (0 = direct only, 1 = one change). Default 1. |
| get_live_buses_on_routeA | Get real-time bus locations for a specific operator and route. Parameters: operator_ref: Operator NOC code (e.g. ARBB, SCCM, CBBH). line_ref: Route number (e.g. 12, MK1, 100). |
| SIRI_VM_Data_feed_api_v1_datafeedA | Returns all published datafeeds Parameters: boundingBox: Limit results to bus location data with vehicle position within the rectangular boundingBox you set using co-ordinates. [minLongitude, minLatitude, maxLongitude, maxLatitude]. The default values shown are for the Liverpool area. operatorRef: Limit results to bus location data with the specified operatorRef. The National Operator Code is often used as the input for operatorRef. Comma separated list of values can be used for querying. vehicleRef: Limit results to bus location data with the specified vehicleRef. lineRef: Limit results to bus location data with the specified lineRef. producerRef: Limit results to bus location data with the specified producerRef. originRef: Limit results to bus location data with the specified originRef. destinationRef: Limit results to bus location data with the specified destinationRef. |
| SIRI_VM_Data_feed_api_v1_datafeed_by_datafeedIDC | Returns a single datafeed Parameters: datafeedID (required): Limit results to a specific data feed of a publisher using the data feed ID. |
| GTFS_RT_Data_feed_api_v1_gtfsrtdatafeedD | Returns all published datafeeds Parameters: boundingBox: Limit results to bus location data with vehicle position within the rectangular boundingBox you set using co-ordinates. [minLongitude, minLatitude, maxLongitude, maxLatitude] The default values shown are for the Liverpool area. routeId: Limit results to bus location data with the specified routeId. Use a comma-separated list to specify multiple routeId values. startTimeAfter: Limit results to bus location data with a start time after startTimeAfter. startTimeBefore: Limit results to bus location data with a start time before startTimeBefore. |
| SIRI_SX_Cancellations_siri_sx_cancellationsD | Returns all cancellations Parameters: |
| SIRI_SX_Disruptions_siri_sxC | Returns all disruptions Parameters: |
| Data_set_api_v1_fares_datasetC | Returns all fares datasets Parameters: noc: Operators can operate using a single National Operator Code (NOC) or have multiple NOCs associated. Download the data catalogue to see the relationship between operators and NOCs within the service. To limit results to operators associated with multiple NOCs, input a comma separated list of the relevant NOCs. status: Limit results to data sets with the specified status string, accepted values are published, inactive. boundingBox: Limit results to fares data sets that contain information for the area within the rectangular boundingBox you set using co-ordinates. [minLatitude, maxLatitude, minLongitude, maxLongitude]. The default values shown are for the Liverpool area. limit: The maximum number of records to return. The default value shown is 25. offset: Return results that match the query starting from the specified offset. e.g. If the offset=10 and limit=25, then results from 11 to 35 will be returned The default value shown is 0. |
| Data_set_api_v1_fares_dataset_by_datasetIDB | Returns a single dataset Parameters: datasetID (required): Limit results to a specific data set of a publisher using the data set ID. |
| timetables_api_v1_datasetC | Returns all timetables Parameters: adminArea: Limit results to datasets with services that stop within the specified area(s). The adminAreas entered will be inserted into a comma delimited query in the API. noc: Limit results to data sets published by an operator identified by the specified National Operator Code (NOC). The NOCs entered will be inserted into a comma delimited query in the API. limit: The maximum number of records to return. The default value shown is 25. offset: Return results that match the query starting from the specified offset e.g. If the offset=10 and limit=25, then results from 11 to 35 will be returned. The default value shown is 0. search: Return data sets where the data set name, data set description, organisation name, or admin area name contain the specified value. status: Limit results to data sets with the specified status. endDateStart: Limit results to data sets with services with end dates after this date. endDateEnd: Limit results to data sets with services with end dates before this date. modifiedDate: Limit results to data sets that have been created/updated since the specified date. startDateStart: Limit results to data sets with services with start dates after this date. startDateEnd: Limit results to data sets with services with start dates before this date. dqRag: Limit results to data sets with the specified String. bodsCompliance: Limit results to data sets with the specified boolean value. |
| timetables_api_v1_dataset_by_datasetIDC | Returns a single dataset Parameters: datasetID (required): Limit results to a specific data set of a publisher using the data set ID. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AndrewAubury/openbusdata-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server