Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.cyanheads/onebusaway-mcp-server

REMOTE · ONEBUSAWAY.CASEYJHAND.COM · 2 COMPONENTS · SCANNED SEP 21

Real-time transit stops, routes, arrivals, vehicle positions, and schedules via OneBusAway APIs.

0 this week 84 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security66
  • The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
  • Authorisation not fully verified: no authorisation is required to call this server, and 15 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
  • HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
  • The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
  • DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
Schema Quality & AI Usability84
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2279 tokens (~134/item across 17 items; 15 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the io.github.cyanheads/onebusaway-mcp-server server?

io.github.cyanheads/onebusaway-mcp-server is a hosted endpoint at https://onebusaway.caseyjhand.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · onebusaway.caseyjhand.com

# add to Claude Code
claude mcp add --transport http cyanheads-onebusaway-mcp-server 'https://onebusaway.caseyjhand.com/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "cyanheads-onebusaway-mcp-server": {
      "url": "https://onebusaway.caseyjhand.com/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "cyanheads-onebusaway-mcp-server": {
      "type": "http",
      "url": "https://onebusaway.caseyjhand.com/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.cyanheads-onebusaway-mcp-server]
url = "https://onebusaway.caseyjhand.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cyanheads-onebusaway-mcp-server": {
      "type": "remote",
      "url": "https://onebusaway.caseyjhand.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add cyanheads-onebusaway-mcp-server --url 'https://onebusaway.caseyjhand.com/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  cyanheads-onebusaway-mcp-server:
    url: "https://onebusaway.caseyjhand.com/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "cyanheads-onebusaway-mcp-server": {
      "Transport": "http",
      "Url": "https://onebusaway.caseyjhand.com/mcp"
    }
  }
}
# add to Vellum
assistant mcp add cyanheads-onebusaway-mcp-server -t streamable-http -u 'https://onebusaway.caseyjhand.com/mcp'
// mcp.json
{
  "mcpServers": {
    "cyanheads-onebusaway-mcp-server": {
      "type": "http",
      "url": "https://onebusaway.caseyjhand.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 19 Sept 26 0
    • Server version: 0.1.14 → 0.1.15 functional
  • 9 Sept 26 +1
    • Stability: 0.97 → pass security
  • 7 Sept 26 −1
    • Stability: pass → 0.93 functional
  • 26 Aug 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Aug 26 0
    • Stability: 0.97 → pass security
  • 24 Aug 26 +1
    • MCP protocol: Implements a current MCP spec version (2026-07-28). functional
    • MCP protocol version: 2025-11-25 → 2026-07-28 functional
    • Server version: 0.1.13 → 0.1.14 functional
  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 10 Aug 26 0
    • HSTS header: fail → pass security
    • Transport: fail → pass security
    • Authorization: Authorisation not fully verified: no authorisation is required to call this server, and 15 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. security
    • Endpoint reachability: not serving MCP → reachable functional
    • Tool coverage: unverified → 100 functional
    • Stability: unverified → 0.50 functional
    • MCP protocol: unverified → pass functional
    • Schema quality: unverified → 100 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 21 Sept 2026 · Probed https://onebusaway.caseyjhand.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=caseyjhand.com CN=WE1,O=Google Trust Services,C=US 4 Sept 2026 3 Dec 2026 ECDSA 256 ECDSA-SHA256 a6985204ed51ae050e7738aa6be668e9
SANs: caseyjhand.com, *.caseyjhand.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of onebusaway.caseyjhand.com. Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
caseyjhand.com. present 2371 13 Verified
onebusaway.caseyjhand.com. Verified address RRset verified with the apex keys
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
x-content-type-options nosniff

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://onebusaway.caseyjhand.com/mcp Verified 200
http (plaintext) http://onebusaway.caseyjhand.com/mcp HTTPS enforced 301 https://onebusaway.caseyjhand.com/mcp
MCP tools · 15 exposed · ~1,992 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
onebusaway_find_routes ~227

Find transit routes near a location, optionally filtered by name or number. Returns routes with IDs, short names, and descriptions. Use routeId values to fetch schedules, vehicles, or stop sequences.

NameTypeReqDescription
latnumberyesLatitude of the search center, in [-90, 90].
latSpannumberOptional bounding-box height in degrees, as an alternative to radius. Takes effect only when lonSpan is also set, in which case radius is ignored.
lonnumberyesLongitude of the search center, in [-180, 180].
lonSpannumberOptional bounding-box width in degrees, as an alternative to radius. Takes effect only when latSpan is also set, in which case radius is ignored.
querystringFilter by route name or number (e.g. "44" or "Link Light Rail").
radiusnumberSearch radius in meters. Must be positive; capped at 1600m. Defaults to 500m. Ignored when latSpan and lonSpan are both set.
NameTypeReqDescription
countnumberNumber of routes returned.
errorobjectPresent when the call failed. Absent on success.
limitExceededbooleanTrue if more routes exist beyond the returned set; narrow the radius or set latSpan/lonSpan to see all.
noticestringGuidance when no routes matched — e.g. try a larger radius or different query.
querystringRoute name/number filter applied to the search, if any.
routesarrayRoutes found near the specified location.

No examples provided.

onebusaway_find_stops ~192

Find bus stops near a location. Returns stops within a radius, each with ID, name, direction, served routes, and wheelchair boarding status. Use stopId values from results to fetch real-time arrivals with onebusaway_get_arrivals. Optionally filter by stop code (the number printed on the stop sign, e.g. "75403").

NameTypeReqDescription
latnumberyesLatitude of the search center, in [-90, 90].
lonnumberyesLongitude of the search center, in [-180, 180].
querystringOptional stop code filter (the number printed on the stop sign, e.g. "75403"). When provided, returns only stops matching this code within the radius.
radiusnumberSearch radius in meters. Must be positive; capped at 1600m, beyond which results degrade. Defaults to 300m.
NameTypeReqDescription
countnumberNumber of stops returned.
errorobjectPresent when the call failed. Absent on success.
limitExceededbooleanTrue if more stops exist beyond the returned set; narrow the radius to see all.
noticestringGuidance when results are empty or truncated — e.g. how to narrow the radius or verify the stop code.
querystringStop code filter applied to the search, if any.
stopsarrayStops within the search radius.

No examples provided.

onebusaway_get_alert ~104

Fetch full detail for a service alert (situation) by ID. Returns the summary, description, reason (e.g. detour, construction), affected stops and routes, consequence description, and active time windows. Situation IDs appear in onebusaway_get_arrivals responses under situationIds and situations[].id.

NameTypeReqDescription
situationIdstringyesSituation/alert ID from onebusaway_get_arrivals (situations[].id or arrivals[].situationIds[]).
NameTypeReqDescription
activeWindowsarrayTime windows when this alert is active.
affectsarrayStops, routes, trips, or agencies affected by this alert.
consequenceMessagestring|nullHuman-readable consequence description (e.g. "Detour in effect"), or null.
consequencesarrayOperational consequences of this alert.
descriptionstring|nullLonger description of the alert, or null.
errorobjectPresent when the call failed. Absent on success.
idstringSituation ID.
reasonstring|nullReason code from TPEG: equipmentReason, environmentReason, personnelReason, miscellaneousReason, securityAlert. Null when not provided.
severitystring|nullSeverity level as reported by the agency, or null.
summarystringShort summary of the service alert.
urlstring|nullURL for more information about this alert, or null.

No examples provided.

onebusaway_get_arrivals ~197

Real-time arrivals and departures at a stop. Returns predicted arrival times, schedule deviation (how many seconds late/early), vehicle positions, and any active service alerts. The predicted boolean on each arrival indicates whether GPS tracking backs the estimate — predicted=false means schedule-only. Use tripId from results for follow-up onebusaway_get_trip calls. Stop IDs use agency-prefixed format: {agencyId}_{localId} (e.g. "1_75403").

NameTypeReqDescription
minutesAfternumberInclude arrivals expected within the next N minutes. Defaults to 35.
minutesBeforenumberInclude arrivals that departed up to this many minutes ago. Defaults to 5.
stopIdstringyesAgency-prefixed stop ID (e.g. "1_75403" for Metro Transit stop 75403). Use onebusaway_find_stops or onebusaway_search_stops to discover IDs.
NameTypeReqDescription
arrivalsarrayArrivals and departures at this stop within the requested time window.
countnumberNumber of arrivals in the time window.
currentTimenumberServer time as Unix milliseconds, for computing countdown timers.
errorobjectPresent when the call failed. Absent on success.
noticestringGuidance when no arrivals were found — e.g. try expanding the time window or check for service alerts.
queriedStopstringStop ID queried.
situationsarrayActive service alerts referenced by arrivals at this stop.
stopIdstringThe queried stop ID.
stopNamestringStop name.
windowMinutesobjectTime window used for the arrivals query.

No examples provided.

onebusaway_get_block ~132

Fetch the full-day block schedule for a vehicle by block ID. A block is the ordered sequence of trips a single vehicle makes in one service day. Returns all trips in order with their stop times. Useful for 'when will this bus return?' and fleet tracking. Block IDs appear in onebusaway_get_trip responses under the schedule block field; obtain a tripId from onebusaway_get_arrivals first.

NameTypeReqDescription
blockIdstringyesBlock ID from a trip record. Obtain a tripId from onebusaway_get_arrivals, then call onebusaway_get_trip to get the blockId.
NameTypeReqDescription
activeServiceIdsarrayService calendar IDs active for this block today.
blockIdstringBlock ID.
errorobjectPresent when the call failed. Absent on success.
inactiveServiceIdsarrayService calendar IDs not active for this block today.
tripsarrayAll trips in this block in order.

No examples provided.

onebusaway_get_route ~98

Fetch details for a specific route by ID. Returns short name, description, agency, route type, and schedule URL. Route IDs use agency-prefixed format: {agencyId}_{localId} (e.g. "1_100259").

NameTypeReqDescription
routeIdstringyesAgency-prefixed route ID (e.g. "1_100259"). Use onebusaway_find_routes or onebusaway_search_routes to discover IDs.
NameTypeReqDescription
agencyIdstringAgency ID that operates this route.
agencyNamestringAgency name that operates this route.
colorstring|nullRoute brand color hex (without #), or null.
descriptionstringRoute description.
errorobjectPresent when the call failed. Absent on success.
idstringAgency-prefixed route ID.
longNamestringFull route name.
shortNamestringThe number or short name displayed on vehicles (e.g. "44").
typenumberGTFS route type: 0=tram, 1=subway, 2=rail, 3=bus, 4=ferry, 5=cable_car.
urlstring|nullAgency schedule page URL, or null.

No examples provided.

onebusaway_get_schedule_for_route ~128

Full-day schedule for a route — all trips, stop sequences, and departure times for the specified date (defaults to today). Returns up to all trips for the route. For live predictions, use onebusaway_get_arrivals at specific stops instead.

NameTypeReqDescription
datestringISO 8601 date (e.g. "2026-05-23"). Defaults to today.
routeIdstringyesAgency-prefixed route ID (e.g. "1_100259"). Use onebusaway_find_routes or onebusaway_search_routes to discover IDs.
NameTypeReqDescription
datestringDate parameter used for the schedule request, if specified.
errorobjectPresent when the call failed. Absent on success.
noticestringGuidance when no trips were found — e.g. no service on weekends or holiday schedule in effect.
queriedRoutestringRoute ID queried.
routeIdstringThe queried route ID.
routeShortNamestringRoute short name.
serviceDateMsnumberService date as Unix milliseconds.
tripCountnumberNumber of trips for this route on this date.
tripsarrayAll trips for this route on this date, with their stop sequences.

No examples provided.

onebusaway_get_schedule_for_stop ~133

Full-day departure schedule for a stop. Lists every departure by route and direction for the specified date (defaults to today). Useful for planning or when real-time data isn't needed. For live predictions, use onebusaway_get_arrivals instead.

NameTypeReqDescription
datestringISO 8601 date (e.g. "2026-05-23"). Defaults to today in the agency's timezone.
stopIdstringyesAgency-prefixed stop ID (e.g. "1_75403"). Use onebusaway_find_stops or onebusaway_search_stops to discover IDs.
NameTypeReqDescription
datestringDate parameter used for the schedule request, if specified.
errorobjectPresent when the call failed. Absent on success.
noticestringGuidance when no routes were found — e.g. no service on weekends or holiday schedule in effect.
queriedStopstringStop ID queried.
routeCountnumberNumber of routes with departures from this stop on this date.
routesarrayAll routes with departures from this stop on this date.
serviceDateMsnumberService date as Unix milliseconds (start of service day).
stopIdstringThe queried stop ID.
stopNamestringStop name.

No examples provided.

onebusaway_get_stop ~128

Fetch details for a specific stop by ID. Returns the stop's name, coordinates, direction, served routes, and wheelchair accessibility. Stop IDs use agency-prefixed format: {agencyId}_{localId} (e.g. "1_75403" for Metro Transit stop 75403).

NameTypeReqDescription
stopIdstringyesAgency-prefixed stop ID (e.g. "1_75403" for Metro Transit stop 75403, "40_100239" for Sound Transit). Use onebusaway_find_stops or onebusaway_search_stops to discover IDs.
NameTypeReqDescription
codestringThe stop code printed on the sign.
directionstringCompass direction of travel at this stop (e.g. "NW").
errorobjectPresent when the call failed. Absent on success.
idstringAgency-prefixed stop ID.
latnumberLatitude of the stop.
lonnumberLongitude of the stop.
namestringStop name.
routeIdsarrayIDs of routes that serve this stop. Use with onebusaway_get_arrivals or onebusaway_get_schedule_for_stop.
wheelchairBoardingstringWheelchair boarding status.

No examples provided.

onebusaway_get_trip ~127

Real-time status and stop sequence for a trip. Returns vehicle position, schedule deviation, current phase, and remaining stops. Use tripId from onebusaway_get_arrivals to look up a specific vehicle's progress.

NameTypeReqDescription
includeSchedulebooleanWhether to include the full stop sequence with times. Defaults to true.
serviceDateMsnumberService date as Unix milliseconds (midnight local time). Only needed for trips from a previous service day. Omit to use today.
tripIdstringyesTrip ID from an arrivals response or schedule lookup.
NameTypeReqDescription
blockIdstring|nullBlock ID grouping this trip with the others the same vehicle runs back-to-back. Pass to onebusaway_get_block for the full block schedule. Null when the trip has no block.
errorobjectPresent when the call failed. Absent on success.
routeShortNamestringRoute short name (e.g. "44").
scheduleFull stop sequence with times, or null if includeSchedule=false.
situationsarrayActive situation IDs affecting this trip.
statusobjectReal-time status of the trip.
tripHeadsignstringDestination sign text.
tripIdstringThe queried trip ID.

No examples provided.

onebusaway_get_vehicles ~143

Real-time positions of all active vehicles for an agency. Optionally filter to a single route (client-side). Returns GPS coordinates, heading, schedule deviation, and current trip. Useful for "where are all the buses on route X right now?" Use agencyId values from onebusaway_list_agencies.

NameTypeReqDescription
agencyIdstringyesAgency ID (e.g. "1" for Metro Transit, "40" for Sound Transit). Use onebusaway_list_agencies to discover IDs.
routeIdstringOptional agency-prefixed route ID to filter results to one route. Filtering is client-side — all agency vehicles are fetched first.
NameTypeReqDescription
agencyIdstringAgency ID queried.
countnumberNumber of vehicles returned after any route filter.
errorobjectPresent when the call failed. Absent on success.
limitExceededbooleanTrue if the upstream capped the vehicle list — some vehicles were omitted. This endpoint has no pagination to retrieve them.
noticestringGuidance when no vehicles were found — e.g. the route may not be currently active, or the agency may not have real-time data.
routeIdstringRoute ID filter applied client-side, if any.
vehiclesarrayActive vehicles for the agency, optionally filtered by route.

No examples provided.

onebusaway_list_agencies ~61

List all transit agencies served by this OneBusAway instance. Returns agency IDs, names, contact info, timezone, and geographic coverage center. Agency IDs are needed for onebusaway_list_routes_for_agency and onebusaway_get_vehicles.

Input schema present but exposes no named parameters.

NameTypeReqDescription
agenciesarrayAll agencies served by this OneBusAway instance.
countnumberNumber of transit agencies returned.
errorobjectPresent when the call failed. Absent on success.
limitExceededbooleanTrue if the upstream capped the agency list — some agencies were omitted. This endpoint has no pagination to retrieve them.
noticestringGuidance when no agencies were returned.

No examples provided.

onebusaway_list_routes_for_agency ~97

List all routes operated by an agency. Returns route IDs, short names, and descriptions. Use to enumerate an agency's full service before searching for a specific route. Get agencyId values from onebusaway_list_agencies.

NameTypeReqDescription
agencyIdstringyesAgency ID (e.g. "1" for Metro Transit, "40" for Sound Transit). Use onebusaway_list_agencies to discover IDs.
NameTypeReqDescription
agencyIdstringAgency ID queried.
countnumberNumber of routes returned for this agency.
errorobjectPresent when the call failed. Absent on success.
limitExceededbooleanTrue if the upstream capped the route list — some routes were omitted. This endpoint has no pagination to retrieve them.
noticestringGuidance when no routes were found — verify the agency ID with onebusaway_list_agencies.
routesarrayAll routes operated by this agency.

No examples provided.

onebusaway_search_routes ~118

Search for routes by name or number. Returns matching routes with IDs. Use to resolve a route short name (e.g. "44") to a route ID for schedule or vehicle lookups with onebusaway_get_vehicles or onebusaway_get_schedule_for_route.

NameTypeReqDescription
maxCountintegerMaximum number of results to return. A positive integer, at most 100. Defaults to 10.
querystringyesRoute name or number (e.g. "44", "Link", or "RapidRide").
NameTypeReqDescription
capnumberThe maxCount limit applied to truncated results.
countnumberNumber of routes returned.
errorobjectPresent when the call failed. Absent on success.
limitExceededbooleanTrue if more routes match than were returned; raise maxCount or refine the query to see all.
noticestringGuidance when no routes matched — e.g. try onebusaway_find_routes with coordinates, or onebusaway_list_routes_for_agency.
querystringRoute name/number query sent to the API.
routesarrayRoutes matching the search query.
shownnumberNumber of routes returned when results were truncated.
truncatedbooleanTrue when matching routes exceeded maxCount.

No examples provided.

onebusaway_search_stops ~107

Search for stops by name or code. Returns matching stops with IDs and coordinates. Use to resolve a human-readable stop name or number to a stop ID for arrivals lookups with onebusaway_get_arrivals.

NameTypeReqDescription
maxCountintegerMaximum number of results to return. A positive integer, at most 100. Defaults to 10.
querystringyesStop name fragment or stop code (e.g. "University Way" or "75403").
NameTypeReqDescription
capnumberThe maxCount limit applied to truncated results.
countnumberNumber of stops returned.
errorobjectPresent when the call failed. Absent on success.
limitExceededbooleanTrue if more stops match than were returned; raise maxCount or refine the query to see all.
noticestringGuidance when no stops matched — e.g. try a different name fragment or use onebusaway_find_stops with coordinates.
querystringSearch query sent to the API.
shownnumberNumber of stops returned when results were truncated.
stopsarrayStops matching the search query.
truncatedbooleanTrue when matching stops exceeded maxCount.

No examples provided.

Common questions

What is the io.github.cyanheads/onebusaway-mcp-server server?

io.github.cyanheads/onebusaway-mcp-server is listed in the public MCP registry as io.github.cyanheads/onebusaway-mcp-server. Real-time transit stops, routes, arrivals, vehicle positions, and schedules via OneBusAway APIs. This page covers its hosted endpoint (https://onebusaway.caseyjhand.com/mcp).

Is the io.github.cyanheads/onebusaway-mcp-server server safe to use?

io.github.cyanheads/onebusaway-mcp-server scores 84 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.cyanheads/onebusaway-mcp-server server expose?

io.github.cyanheads/onebusaway-mcp-server exposes 15 tools: onebusaway_list_agencies, onebusaway_find_stops, onebusaway_find_routes, onebusaway_search_stops, onebusaway_search_routes, and 10 more. Their descriptions and schemas cost roughly 1,992 tokens of context every time the server is loaded.

Does the io.github.cyanheads/onebusaway-mcp-server server require authentication?

No. We connected to io.github.cyanheads/onebusaway-mcp-server without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the io.github.cyanheads/onebusaway-mcp-server server still maintained?

io.github.cyanheads/onebusaway-mcp-server is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.