Skip to main content
Glama
README.md
# OpenBusData MCP Server

mcp-name: io.github.AndrewAubury/openbusdata

MCP server for the [UK Bus Open Data Service](https://data.bus-data.dft.gov.uk) with rich
timetable parsing, stop search, route discovery, journey planning and real-time bus tracking.

## Features

- **Live API tools** — query timetables, fares, disruptions, cancellations and real-time bus locations
- **Stop search** — fuzzy text search across every bus stop in the UK
- **Route finder** — discover all routes serving a pair of stops
- **Journey planner** — "get to X by Y o'clock" with support for direct and chained multi-leg journeys
- **Live tracking** — see exactly where buses are right now

## Installation

### Option 1: via `uvx` (recommended — no install needed)

```bash
uvx openbusdata-mcp
```

### Option 2: via `pip`

```bash
pip install openbusdata-mcp
```

## Configuration

Set your Bus Open Data Service API key as an environment variable:

```bash
export OPENBUS_API_KEY="your-api-key-here"
```

Get a free key at [data.bus-data.dft.gov.uk](https://data.bus-data.dft.gov.uk).

## Usage

### With `uvx` (recommended)

Add to your MCP client (Claude Desktop, Cursor, etc.):

```json
{
  "mcpServers": {
    "openbusdata": {
      "command": "uvx",
      "args": ["openbusdata-mcp"],
      "env": {
        "OPENBUS_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

### With `pip` install

```json
{
  "mcpServers": {
    "openbusdata": {
      "command": "openbusdata-mcp",
      "env": {
        "OPENBUS_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

## Development

```bash
# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows

# Install dependencies
pip install -e ".[dev]"

# Run server
python -m openbusdata_mcp.server
```

## License

MIT

TDQS

C2.7/5.0

Scored across 16 tools

Disambiguation3/5

Several tools have overlapping scopes, like multiple dataset listing tools (Data_set_api_v1_fares_dataset and timetables_api_v1_dataset) and real-time feed tools (get_live_buses_on_route and SIRI_VM_Data_feed_api_v1_datafeed). While they target different data types (fares vs timetables, route-level vs feed-level), the names are similar and could confuse an agent.

Naming Consistency2/5

Naming is highly inconsistent: some tools use snake_case (find_buses_by_arrival_time), some use camelCase (Data_set_api_v1_fares_dataset), and others use a mix (GTFS_RT_Data_feed_api_v1_gtfsrtdatafeed). There is no consistent pattern, making it hard to predict tool names.

Tool Count4/5

16 tools is reasonable for a comprehensive bus data API covering fares, timetables, real-time, disruptions, and planning. It is slightly on the high side but still well-scoped for the domain.

Completeness4/5

The tool set covers core bus data operations: dataset discovery, stop search, route lookup, timetables, real-time positions, cancellations, disruptions, and journey planning. Minor gaps exist (e.g., no fare calculation), but the overall coverage is good.

Maintenance

ActivityInactive
ResponsivenessNo issues