OpenBusData

MCP server for UK Bus Open Data with timetable parsing, journey planning and live tracking.

OtherPythonv1.0.2

OpenBusData MCP Server

mcp-name: io.github.AndrewAubury/openbusdata

MCP server for the UK Bus Open Data Service 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)

uvx openbusdata-mcp

Option 2: via pip

pip install openbusdata-mcp

Configuration

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

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

Get a free key at data.bus-data.dft.gov.uk.

Usage

With uvx (recommended)

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

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

With pip install

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

Development

# 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

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
uvx openbusdata-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-andrewaubury-openbusdata": {
      "command": "uvx",
      "args": [
        "openbusdata-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

openbusdata-mcppypi

Compatible MCP Clients

OpenBusData works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More