Onebusaway MCP Server logo

Onebusaway MCP Server

Access OneBusAway stops, routes, arrivals, alerts, vehicle positions, trips, blocks, and schedules through MCP.

Install Onebusaway MCP Server

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "onebusaway-mcp-server": {
      "command": "bunx",
      "args": [
        "@cyanheads/onebusaway-mcp-server@latest"
      ],
      "env": {
        "ONEBUSAWAY_API_KEY": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

bunx @cyanheads/onebusaway-mcp-server@latest

Process exited before answering initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 7d ago.

Overview

The onebusaway-mcp-server MCP server exposes OneBusAway transit data through 16 MCP tools and two resources. It can query stops and routes, retrieve live arrivals and vehicle positions, inspect alerts and trips, and fetch full-day schedules. The server supports stdio, local Streamable HTTP, and a public hosted endpoint, and defaults to the Puget Sound OneBusAway instance. Reach for it when an agent needs transit information tied to a specific OneBusAway deployment.

Use cases

  • Find nearby transit stops and routes
  • Check live arrivals and service alerts
  • Track active vehicles by agency or route
  • Inspect trip blocks and stop sequences
  • Retrieve full-day stop or route schedules

Key features

  • OneBusAway agency, stop, and route lookup
  • Real-time arrivals with alerts and vehicle data
  • Vehicle positions, trip status, and service-day blocks
  • Full-day schedules for stops and routes
  • STDIO and Streamable HTTP transport
  • Stop and route MCP resources

Tools16

What Onebusaway MCP Server lets your agent do. Expand a tool for its parameters.

Self-reported~330 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

6/6 checks healthy over the last 46d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 5d ago via OSV.dev · @cyanheads/onebusaway-mcp-server@latest (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
npm downloads811Package downloads in the last 30 days.
Last commit19d agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Tools exposed16Callable tools this server registers over MCP.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How Onebusaway MCP Server works

What onebusaway-mcp-server does

The onebusaway-mcp-server MCP server gives MCP clients access to transit data from OneBusAway APIs. It covers agency discovery, stop and route lookup, real-time arrival information, service alerts, vehicle locations, trip status, vehicle blocks, and scheduled departures.

The default data source is the Puget Sound instance, which includes agencies such as King County Metro, Sound Transit, Pierce Transit, and Community Transit. The server can also work with other OneBusAway instances.

Two MCP resources provide direct metadata access:

  • onebusaway://stop/{stopId} returns stop details including coordinates, served routes, and wheelchair accessibility.
  • onebusaway://route/{routeId} returns route naming, agency, description, and schedule URL information.

How it works

An MCP client calls tools with identifiers, coordinates, search terms, or time windows. Agents can first resolve a stop or route by name, code, number, or location, then use the resulting ID for detailed or real-time queries.

Arrival queries return predicted and scheduled services, schedule deviation, vehicle position data, stops away, trip IDs, and active alerts. A stop-context request combines stop metadata, arrivals, and detailed alerts in one upstream request. Schedule tools cover a full day, while arrival queries are intended for a shorter window around the current time.

The onebusaway-mcp-server MCP server can run as a local stdio process or as a Streamable HTTP server. A public hosted MCP endpoint is also documented at https://onebusaway.caseyjhand.com/mcp.

Setup and configuration

The project is distributed as the @cyanheads/onebusaway-mcp-server npm package and has install links for Claude Desktop, Cursor, and VS Code. The repository also publishes a Docker image and documents a public hosted endpoint. The runtime badges identify Bun 1.4.0 or newer.

Configure the ONEBUSAWAY_API_KEY environment variable when launching the package.

Tools and capabilities

The 16 tools support these operations:

  • List agencies and their contact, timezone, and coverage information.
  • Find or search stops, then retrieve one stop by ID.
  • Find or search routes, retrieve one route, or list an agency’s routes.
  • Get arrivals and departures with prediction, deviation, vehicle, and alert data.
  • Retrieve a combined stop context or fetch a complete alert by situation ID.
  • Inspect a trip’s live status and stop sequence.
  • List every trip operated by one vehicle during a service day through a block query.
  • Find active vehicle positions for an agency, optionally limited to a route.
  • Get full-day schedules for a stop or route.

Limitations and notes

Radius searches are capped at 1,600 meters, and several list operations can report that the upstream result was truncated without offering pagination. Arrival windows support up to 60 minutes before and 240 minutes after the current time; longer planning horizons should use stop schedules.

Route search can fail with endpoint_unavailable on OneBusAway instances whose route-search endpoint returns 404, including Puget Sound. Use geographic route search or agency route listing there. Invalid stop, route, agency, or alert identifiers return typed errors such as stop_not_found, route_not_found, agency_not_found, or situation_not_found.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Onebusaway MCP Server

onebusaway-mcp-server is an MCP server that connects AI clients to OneBusAway transit APIs. Its main tools find stops and routes, retrieve real-time arrivals, alerts, vehicle positions, trip and block details, and full-day schedules. It defaults to Puget Sound data and can also work with other OneBusAway instances.

Install it from the @cyanheads/onebusaway-mcp-server npm package or use the repository’s installation links for Claude Desktop, Cursor, and VS Code. Configure ONEBUSAWAY_API_KEY when launching the server. Docker distribution and a public hosted endpoint are also documented.

Yes, onebusaway-mcp-server works with Cursor. The repository provides a Cursor installation link configured to launch the npm package with npx and pass ONEBUSAWAY_API_KEY.

Route search returns endpoint_unavailable when the selected OneBusAway instance exposes a 404 route-search endpoint. This includes the Puget Sound instance; use geographic route search or list routes for an agency instead.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewOnebusaway MCP Server AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/onebusaway-mcp-server?style=directory)](https://allmcps.com/mcp/onebusaway-mcp-server)
HTML Embed
<a href="https://allmcps.com/mcp/onebusaway-mcp-server"><img src="https://allmcps.com/api/badge/onebusaway-mcp-server?style=directory" alt="Onebusaway MCP Server on AllMCPs" /></a>