此 MCP 可以做什么
Provides transit agency discovery, route and stop lookup, schedules, real-time arrivals, service alerts, trip status, and vehicle positions through OneBusAway APIs.
工具
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude of the search center, in [-90, 90].'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude of the search center, in [-180, 180].'}, 'query': {'type': 'string', 'description': 'Filter by route name or number (e.g. "44" or "Link Light Rail").'}, 'radius': {'type': 'number', 'default': 500, 'maximum': 1600, 'description': 'Search radius in meters. Must be positive; capped at 1600m. Defaults to 500m. Ignored when latSpan and lonSpan are both set.', 'exclusiveMinimum': 0}, 'latSpan': {'type': 'number', 'description': 'Optional bounding-box height in degrees, as an alternative to radius. Takes effect only when lonSpan is also set, in which case radius is ignored.', 'exclusiveMinimum': 0}, 'lonSpan': {'type': 'number', 'description': 'Optional bounding-box width in degrees, as an alternative to radius. Takes effect only when latSpan is also set, in which case radius is ignored.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['routes', 'limitExceeded', 'count']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'count': {'type': 'number', 'description': 'Number of routes returned.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['rate_limited'], 'description': 'Machine-readable failure mode. Declared by this tool: `rate_limited`: No upstream request slot opened within the queue wait cap, or OneBusAway returned a rate limit response. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'query': {'type': 'string', 'description': 'Route name/number filter applied to the search, if any.'}, 'notice': {'type': 'string', 'description': 'Guidance when no routes matched â\x80\x94 e.g. try a larger radius or different query.'}, 'routes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'shortName', 'longName', 'description', 'agencyId', 'agencyName', 'type', 'color', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Agency-prefixed route ID (e.g. "1_100259"). Use with onebusaway_get_schedule_for_route or onebusaway_get_vehicles.'}, 'url': {'type': ['string', 'null'], 'description': 'Agency schedule page URL, or null.'}, 'type': {'type': 'number', 'description': 'GTFS route type: 0=tram, 1=subway, 2=rail, 3=bus, 4=ferry, 5=cable_car.'}, 'color': {'type': ['string', 'null'], 'description': 'Route brand color hex (without #), or null.'}, 'agencyId': {'type': 'string', 'description': 'Agency ID that operates this route.'}, 'longName': {'type': 'string', 'description': 'Full route name.'}, 'shortName': {'type': 'string', 'description': 'The number or short name displayed on vehicles (e.g. "44").'}, 'agencyName': {'type': 'string', 'description': 'Agency name that operates this route.'}, 'description': {'type': 'string', 'description': 'Route description.'}}, 'description': 'A transit route with agency and type information.', 'additionalProperties': False}, 'description': 'Routes found near the specified location.'}, 'limitExceeded': {'type': 'boolean', 'description': 'True if more routes exist beyond the returned set; narrow the radius or set latSpan/lonSpan to see all.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude of the search center, in [-90, 90].'}, 'lon': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude of the search center, in [-180, 180].'}, 'query': {'type': 'string', 'description': 'Optional stop code filter (the number printed on the stop sign, e.g. "75403"). When provided, returns only stops matching this code within the radius.'}, 'radius': {'type': 'number', 'default': 300, 'maximum': 1600, 'description': 'Search radius in meters. Must be positive; capped at 1600m, beyond which results degrade. Defaults to 300m.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['stops', 'limitExceeded', 'count']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'count': {'type': 'number', 'description': 'Number of stops returned.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['rate_limited'], 'description': 'Machine-readable failure mode. Declared by this tool: `rate_limited`: No upstream request slot opened within the queue wait cap, or OneBusAway returned a rate limit response. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'query': {'type': 'string', 'description': 'Stop code filter applied to the search, if any.'}, 'stops': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'code', 'name', 'lat', 'lon', 'direction', 'routeIds', 'wheelchairBoarding'], 'properties': {'id': {'type': 'string', 'description': 'Agency-prefixed stop ID (e.g. "1_75403"). Use with onebusaway_get_arrivals.'}, 'lat': {'type': 'number', 'description': 'Latitude of the stop.'}, 'lon': {'type': 'number', 'description': 'Longitude of the stop.'}, 'code': {'type': 'string', 'description': 'The stop code printed on the sign.'}, 'name': {'type': 'string', 'description': 'Stop name.'}, 'routeIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'IDs of routes that serve this stop.'}, 'direction': {'type': 'string', 'description': 'Compass direction of travel at this stop (e.g. "NW").'}, 'wheelchairBoarding': {'enum': ['ACCESSIBLE', 'NOT_ACCESSIBLE', 'UNKNOWN'], 'type': 'string', 'description': 'Wheelchair boarding status.'}}, 'description': 'A transit stop with location and route information.', 'additionalProperties': False}, 'description': 'Stops within the search radius.'}, 'notice': {'type': 'string', 'description': 'Guidance when results are empty or truncated â\x80\x94 e.g. how to narrow the radius or verify the stop code.'}, 'limitExceeded': {'type': 'boolean', 'description': 'True if more stops exist beyond the returned set; narrow the radius to see all.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['situationId'], 'properties': {'situationId': {'type': 'string', 'minLength': 1, 'description': 'Situation/alert ID from onebusaway_get_arrivals (situations[].id or arrivals[].situationIds[]).'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['id', 'summary', 'description', 'reason', 'severity', 'consequenceMessage', 'affects', 'consequences', 'activeWindows', 'url']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'id': {'type': 'string', 'description': 'Situation ID.'}, 'url': {'type': ['string', 'null'], 'description': 'URL for more information about this alert, or null.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['situation_not_found', 'rate_limited'], 'description': 'Machine-readable failure mode. Declared by this tool: `situation_not_found`: Situation ID does not exist on this instance. `rate_limited`: No upstream request slot opened within the queue wait cap, or OneBusAway returned a rate limit response. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'reason': {'type': ['string', 'null'], 'description': 'Reason code from TPEG: equipmentReason, environmentReason, personnelReason, miscellaneousReason, securityAlert. Null when not provided.'}, 'affects': {'type': 'array', 'items': {'type': 'object', 'properties': {'stopId': {'type': 'string', 'description': 'Affected stop ID, if scoped to a stop.'}, 'tripId': {'type': 'string', 'description': 'Affected trip ID, if scoped to a trip.'}, 'routeId': {'type': 'string', 'description': 'Affected route ID, if scoped to a route.'}, 'agencyId': {'type': 'string', 'description': 'Affected agency ID, if scoped to an agency.'}}, 'description': 'An entity affected by this alert.', 'additionalProperties': False}, 'description': 'Stops, routes, trips, or agencies affected by this alert.'}, 'summary': {'type': 'string', 'description': 'Short summary of the service alert.'}, 'severity': {'type': ['string', 'null'], 'description': 'Severity level as reported by the agency, or null.'}, 'description': {'type': ['string', 'null'], 'description': 'Longer description of the alert, or null.'}, 'consequences': {'type': 'array', 'items': {'type': 'object', 'properties': {'condition': {'type': 'string', 'description': 'Consequence condition (e.g. "detour", "reducedService").'}, 'diversionStopIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Stop IDs on the diversion path, when condition is "detour".'}}, 'description': 'A consequence of this alert.', 'additionalProperties': False}, 'description': 'Operational consequences of this alert.'}, 'activeWindows': {'type': 'array', 'items': {'type': 'object', 'properties': {'to': {'type': 'number', 'description': 'End of active window as Unix milliseconds, if known.'}, 'from': {'type': 'number', 'description': 'Start of active window as Unix milliseconds, if known.'}}, 'description': 'A time window during which this alert is active.', 'additionalProperties': False}, 'description': 'Time windows when this alert is active.'}, 'consequenceMessage': {'type': ['string', 'null'], 'description': 'Human-readable consequence description (e.g. "Detour in effect"), or null.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['stopId'], 'properties': {'stopId': {'type': 'string', 'minLength': 1, 'description': 'Agency-prefixed stop ID (e.g. "1_75403" for Metro Transit stop 75403). Use onebusaway_find_stops or onebusaway_search_stops to discover IDs.'}, 'minutesAfter': {'type': 'integer', 'default': 35, 'maximum': 240, 'minimum': 0, 'description': 'Include arrivals expected within the next N minutes â\x80\x94 an integer from 0 to 240. Defaults to 35. For a longer horizon, use onebusaway_get_schedule_for_stop.'}, 'minutesBefore': {'type': 'integer', 'default': 5, 'maximum': 60, 'minimum': 0, 'description': 'Include arrivals that departed up to this many minutes ago â\x80\x94 an integer from 0 to 60. Defaults to 5.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['stopId', 'stopName', 'currentTime', 'arrivals', 'situations', 'queriedStop', 'count', 'windowMinutes']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'count': {'type': 'number', 'description': 'Number of arrivals in the time window.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['stop_not_found', 'rate_limited'], 'description': 'Machine-readable failure mode. Declared by this tool: `stop_not_found`: Stop ID does not exist on this instance. `rate_limited`: No upstream request slot opened within the queue wait cap, or OneBusAway returned a rate limit response. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'notice': {'type': 'string', 'description': 'Guidance when no arrivals were found â\x80\x94 widen minutesAfter, or check onebusaway_get_schedule_for_stop for scheduled service.'}, 'stopId': {'type': 'string', 'description': 'The queried stop ID.'}, 'arrivals': {'type': 'array', 'items': {'type': 'object', 'required': ['routeShortName', 'tripHeadsign', 'predicted', 'predictedArrivalTime', 'scheduledArrivalTime', 'scheduleDeviation', 'vehicleId', 'vehiclePosition', 'stopsAway', 'tripId', 'routeId', 'situationIds'], 'properties': {'tripId': {'type': 'string', 'description': 'Trip ID for follow-up onebusaway_get_trip calls.'}, 'routeId': {'type': 'string', 'description': 'Route ID for follow-up route calls.'}, 'predicted': {'type': 'boolean', 'description': 'True if GPS-tracked real-time data is available; false if schedule-only.'}, 'stopsAway': {'type': ['number', 'null'], 'description': 'Number of stops until this stop, or null if unknown.'}, 'vehicleId': {'type': ['string', 'null'], 'description': 'Vehicle ID if known, or null.'}, 'situationIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'IDs of active service alerts affecting this arrival.'}, 'tripHeadsign': {'type': 'string', 'description': 'Destination sign text (e.g. "Downtown Seattle").'}, 'routeShortName': {'type': 'string', 'description': 'Route short name (e.g. "44").'}, 'vehiclePosition': {'anyOf': [{'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number', 'description': 'Vehicle latitude.'}, 'lon': {'type': 'number', 'description': 'Vehicle longitude.'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Current vehicle position if available, or null.'}, 'scheduleDeviation': {'type': 'number', 'description': 'Seconds late (positive) or early (negative). Only meaningful when predicted=true.'}, 'predictedArrivalTime': {'type': ['number', 'null'], 'description': 'Predicted arrival time as Unix milliseconds. Null when predicted=false.'}, 'scheduledArrivalTime': {'type': 'number', 'description': 'Scheduled arrival time as Unix milliseconds.'}}, 'description': 'A single arrival or departure at this stop.', 'additionalProperties': False}, 'description': 'Arrivals and departures at this stop within the requested time window.'}, 'stopName': {'type': 'string', 'description': 'Stop name.'}, 'situations': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'summary', 'description'], 'properties': {'id': {'type': 'string', 'description': 'Situation ID.'}, 'summary': {'type': 'string', 'description': 'Short summary of the service alert.'}, 'description': {'type': ['string', 'null'], 'description': 'Longer description of the service alert, or null.'}}, 'description': 'A single active service alert.', 'additionalProperties': False}, 'description': 'Active service alerts at this stop â\x80\x94 those attached to the stop itself and those referenced by its arrivals, each listed once.'}, 'currentTime': {'type': 'number', 'description': 'Server time as Unix milliseconds, for computing countdown timers.'}, 'queriedStop': {'type': 'string', 'description': 'Stop ID queried.'}, 'windowMinutes': {'type': 'object', 'required': ['before', 'after'], 'properties': {'after': {'type': 'number', 'description': 'Minutes after current time included.'}, 'before': {'type': 'number', 'description': 'Minutes before current time included.'}}, 'description': 'Time window used for the arrivals query.', 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['blockId'], 'properties': {'blockId': {'type': 'string', 'minLength': 1, 'description': 'Block ID from a trip record. Obtain a tripId from onebusaway_get_arrivals, then call onebusaway_get_trip to get the blockId.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['blockId', 'activeServiceIds', 'inactiveServiceIds', 'trips']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['block_not_found', 'rate_limited'], 'description': 'Machine-readable failure mode. Declared by this tool: `block_not_found`: Block ID does not exist on this instance. `rate_limited`: No upstream request slot opened within the queue wait cap, or OneBusAway returned a rate limit response. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'trips': {'type': 'array', 'items': {'type': 'object', 'required': ['tripId', 'distanceAlongBlock', 'accumulatedSlackTime', 'blockStopTimes'], 'properties': {'tripId': {'type': 'string', 'description': 'Trip ID for follow-up onebusaway_get_trip calls.'}, 'blockStopTimes': {'type': 'array', 'items': {'type': 'object', 'required': ['stopId', 'arrivalTime', 'departureTime'], 'properties': {'stopId': {'type': 'string', 'description': 'Stop ID.'}, 'pickupType': {'type': 'number', 'description': 'GTFS pickup type (0=regular, 1=no pickup, 2=phone agency, 3=coordinate with driver).'}, 'arrivalTime': {'type': 'number', 'description': 'Scheduled arrival time as seconds from midnight (GTFS format).'}, 'dropOffType': {'type': 'number', 'description': 'GTFS drop-off type (0=regular, 1=no dropoff, 2=phone agency, 3=coordinate with driver).'}, 'departureTime': {'type': 'number', 'description': 'Scheduled departure time as seconds from midnight (GTFS format).'}}, 'description': 'A scheduled stop time within this trip.', 'additionalProperties': False}, 'description': 'Ordered stop times for this trip.'}, 'distanceAlongBlock': {'type': 'number', 'description': 'Cumulative distance (meters) from block start to the first stop of this trip.'}, 'accumulatedSlackTime': {'type': 'number', 'description': 'Accumulated layover/slack time (seconds) before this trip starts.'}}, 'description': 'A trip in this vehicle block.', 'additionalProperties': False}, 'description': 'All trips in this block in order.'}, 'blockId': {'type': 'string', 'description': 'Block ID.'}, 'activeServiceIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Service calendar IDs active for this block today.'}, 'inactiveServiceIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Service calendar IDs not active for this block today.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['routeId'], 'properties': {'routeId': {'type': 'string', 'minLength': 1, 'description': 'Agency-prefixed route ID (e.g. "1_100259"). Use onebusaway_find_routes or onebusaway_search_routes to discover IDs.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['id', 'shortName', 'longName', 'description', 'agencyId', 'agencyName', 'type', 'color', 'url']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'id': {'type': 'string', 'description': 'Agency-prefixed route ID.'}, 'url': {'type': ['string', 'null'], 'description': 'Agency schedule page URL, or null.'}, 'type': {'type': 'number', 'description': 'GTFS route type: 0=tram, 1=subway, 2=rail, 3=bus, 4=ferry, 5=cable_car.'}, 'color': {'type': ['string', 'null'], 'description': 'Route brand color hex (without #), or null.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['route_not_found', 'rate_limited'], 'description': 'Machine-readable failure mode. Declared by this tool: `route_not_found`: Route ID does not exist on this instance. `rate_limited`: No upstream request slot opened within the queue wait cap, or OneBusAway returned a rate limit response. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'agencyId': {'type': 'string', 'description': 'Agency ID that operates this route.'}, 'longName': {'type': 'string', 'description': 'Full route name.'}, 'shortName': {'type': 'string', 'description': 'The number or short name displayed on vehicles (e.g. "44").'}, 'agencyName': {'type': 'string', 'description': 'Agency name that operates this route.'}, 'description': {'type': 'string', 'description': 'Route description.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['routeId'], 'properties': {'date': {'anyOf': [{'type': 'string', 'const': ''}, {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'A real calendar date in YYYY-MM-DD form (e.g. "2026-05-23").'}], 'description': 'Service date as YYYY-MM-DD (e.g. "2026-05-23"). Must be a real calendar date. Omit or leave blank for today.'}, 'routeId': {'type': 'string', 'minLength': 1, 'description': 'Agency-prefixed route ID (e.g. "1_100259"). Use onebusaway_find_routes or onebusaway_search_routes to discover IDs.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['routeId', 'routeShortName', 'serviceDateMs', 'trips', 'queriedRoute', 'tripCount']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'date': {'type': 'string', 'description': 'Date parameter used for the schedule request, if specified.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['route_not_found', 'rate_limited'], 'description': 'Machine-readable failure mode. Declared by this tool: `route_not_found`: Route ID does not exist on this instance. `rate_limited`: No upstream request slot opened within the queue wait cap, or OneBusAway returned a rate limit response. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'trips': {'type': 'array', 'items': {'type': 'object', 'required': ['tripId', 'tripHeadsign', 'serviceId', 'stops'], 'properties': {'stops': {'type': 'array', 'items': {'type': 'object', 'required': ['stopId', 'stopName', 'arrivalTime', 'departureTime'], 'properties': {'stopId': {'type': 'string', 'description': 'Stop ID.'}, 'stopName': {'type': 'string', 'description': 'Stop name.'}, 'arrivalTime': {'type': 'number', 'description': 'Scheduled arrival time as seconds from midnight (GTFS format).'}, 'departureTime': {'type': 'number', 'description': 'Scheduled departure time as seconds from midnight (GTFS format).'}}, 'description': 'A stop time along this trip.', 'additionalProperties': False}, 'description': 'Stop sequence for this trip.'}, 'tripId': {'type': 'string', 'description': 'Trip ID for follow-up onebusaway_get_trip calls.'}, 'serviceId': {'type': 'string', 'description': 'Service calendar ID.'}, 'tripHeadsign': {'type': 'string', 'description': 'Destination sign text.'}}, 'description': 'A single trip with its scheduled stop sequence.', 'additionalProperties': False}, 'description': 'All trips for this route on this date, with their stop sequences.'}, 'notice': {'type': 'string', 'description': 'Guidance when no trips were found â\x80\x94 e.g. no service on weekends or holiday schedule in effect.'}, 'routeId': {'type': 'string', 'description': 'The queried route ID.'}, 'tripCount': {'type': 'number', 'description': 'Number of trips for this route on this date.'}, 'queriedRoute': {'type': 'string', 'description': 'Route ID queried.'}, 'serviceDateMs': {'type': 'number', 'description': 'Service date as Unix milliseconds.'}, 'routeShortName': {'type': 'string', 'description': 'Route short name.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['stopId'], 'properties': {'date': {'anyOf': [{'type': 'string', 'const': ''}, {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$', 'description': 'A real calendar date in YYYY-MM-DD form (e.g. "2026-05-23").'}], 'description': 'Service date as YYYY-MM-DD (e.g. "2026-05-23"). Must be a real calendar date. Omit or leave blank for today in the agency\'s timezone.'}, 'stopId': {'type': 'string', 'minLength': 1, 'description': 'Agency-prefixed stop ID (e.g. "1_75403"). Use onebusaway_find_stops or onebusaway_search_stops to discover IDs.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['stopId', 'stopName', 'serviceDateMs', 'routes', 'queriedStop', 'routeCount']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'date': {'type': 'string', 'description': 'Date parameter used for the schedule request, if specified.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['stop_not_found', 'rate_limited'], 'description': 'Machine-readable failure mode. Declared by this tool: `stop_not_found`: Stop ID does not exist on this instance. `rate_limited`: No upstream request slot opened within the queue wait cap, or OneBusAway returned a rate limit response. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'notice': {'type': 'string', 'description': 'Guidance when no routes were found â\x80\x94 e.g. no service on weekends or holiday schedule in effect.'}, 'routes': {'type': 'array', 'items': {'type': 'object', 'required': ['routeId', 'routeShortName', 'directions'], 'properties': {'routeId': {'type': 'string', 'description': 'Route ID for follow-up onebusaway_get_route or onebusaway_get_schedule_for_route calls.'}, 'directions': {'type': 'array', 'items': {'type': 'object', 'required': ['tripHeadsign', 'departures'], 'properties': {'departures': {'type': 'array', 'items': {'type': 'object', 'required': ['scheduledDepartureTime', 'tripId'], 'properties': {'tripId': {'type': 'string', 'description': 'Trip ID for follow-up onebusaway_get_trip calls.'}, 'scheduledDepartureTime': {'type': 'number', 'description': 'Scheduled departure time as Unix milliseconds.'}}, 'description': 'A single scheduled departure.', 'additionalProperties': False}, 'description': 'All departures for this direction.'}, 'tripHeadsign': {'type': 'string', 'description': 'Destination sign text.'}}, 'description': 'A service direction at this stop.', 'additionalProperties': False}, 'description': 'Service directions for this route at this stop.'}, 'routeShortName': {'type': 'string', 'description': 'Route short name.'}}, 'description': 'A route with its scheduled departures from this stop.', 'additionalProperties': False}, 'description': 'All routes with departures from this stop on this date.'}, 'stopId': {'type': 'string', 'description': 'The queried stop ID.'}, 'stopName': {'type': 'string', 'description': 'Stop name.'}, 'routeCount': {'type': 'number', 'description': 'Number of routes with departures from this stop on this date.'}, 'queriedStop': {'type': 'string', 'description': 'Stop ID queried.'}, 'serviceDateMs': {'type': 'number', 'description': 'Service date as Unix milliseconds (start of service day).'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['stopId'], 'properties': {'stopId': {'type': 'string', 'minLength': 1, 'description': 'Agency-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.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['id', 'code', 'name', 'lat', 'lon', 'direction', 'routeIds', 'wheelchairBoarding']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'id': {'type': 'string', 'description': 'Agency-prefixed stop ID.'}, 'lat': {'type': 'number', 'description': 'Latitude of the stop.'}, 'lon': {'type': 'number', 'description': 'Longitude of the stop.'}, 'code': {'type': 'string', 'description': 'The stop code printed on the sign.'}, 'name': {'type': 'string', 'description': 'Stop name.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['stop_not_found', 'rate_limited'], 'description': 'Machine-readable failure mode. Declared by this tool: `stop_not_found`: Stop ID does not exist on this instance. `rate_limited`: No upstream request slot opened within the queue wait cap, or OneBusAway returned a rate limit response. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'routeIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'IDs of routes that serve this stop. Use with onebusaway_get_arrivals or onebusaway_get_schedule_for_stop.'}, 'direction': {'type': 'string', 'description': 'Compass direction of travel at this stop (e.g. "NW").'}, 'wheelchairBoarding': {'enum': ['ACCESSIBLE', 'NOT_ACCESSIBLE', 'UNKNOWN'], 'type': 'string', 'description': 'Wheelchair boarding status.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['stopId'], 'properties': {'stopId': {'type': 'string', 'minLength': 1, 'description': 'Agency-prefixed stop ID (e.g. "1_75403" for Metro Transit stop 75403). Use onebusaway_find_stops or onebusaway_search_stops to discover IDs.'}, 'minutesAfter': {'type': 'integer', 'default': 35, 'maximum': 240, 'minimum': 0, 'description': 'Include arrivals expected within the next N minutes â\x80\x94 an integer from 0 to 240. Defaults to 35. For a longer horizon, use onebusaway_get_schedule_for_stop.'}, 'minutesBefore': {'type': 'integer', 'default': 5, 'maximum': 60, 'minimum': 0, 'description': 'Include arrivals that departed up to this many minutes ago â\x80\x94 an integer from 0 to 60. Defaults to 5.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['stop', 'currentTime', 'arrivals', 'alerts', 'queriedStop', 'windowMinutes']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'stop': {'anyOf': [{'type': 'object', 'required': ['id', 'code', 'name', 'lat', 'lon', 'direction', 'wheelchairBoarding'], 'properties': {'id': {'type': 'string', 'description': 'Agency-prefixed stop ID.'}, 'lat': {'type': 'number', 'description': 'Latitude of the stop.'}, 'lon': {'type': 'number', 'description': 'Longitude of the stop.'}, 'code': {'type': 'string', 'description': 'The stop code printed on the sign.'}, 'name': {'type': 'string', 'description': 'Stop name.'}, 'direction': {'type': 'string', 'description': 'Compass direction of travel at this stop (e.g. "NW").'}, 'wheelchairBoarding': {'enum': ['ACCESSIBLE', 'NOT_ACCESSIBLE', 'UNKNOWN'], 'type': 'string', 'description': 'Wheelchair boarding status.'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'The queried stop, without its served-route list (use onebusaway_get_stop for routeIds). Null when the upstream response omitted the stop.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['stop_not_found', 'rate_limited'], 'description': 'Machine-readable failure mode. Declared by this tool: `stop_not_found`: Stop ID does not exist on this instance. `rate_limited`: No upstream request slot opened within the queue wait cap, or OneBusAway returned a rate limit response. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'alerts': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'summary', 'description', 'reason', 'severity', 'consequenceMessage', 'affects', 'consequences', 'activeWindows', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Situation ID.'}, 'url': {'type': ['string', 'null'], 'description': 'URL for more information about this alert, or null.'}, 'reason': {'type': ['string', 'null'], 'description': 'Reason code from TPEG: equipmentReason, environmentReason, personnelReason, miscellaneousReason, securityAlert. Null when not provided.'}, 'affects': {'type': 'array', 'items': {'type': 'object', 'properties': {'stopId': {'type': 'string', 'description': 'Affected stop ID, if scoped to a stop.'}, 'tripId': {'type': 'string', 'description': 'Affected trip ID, if scoped to a trip.'}, 'routeId': {'type': 'string', 'description': 'Affected route ID, if scoped to a route.'}, 'agencyId': {'type': 'string', 'description': 'Affected agency ID, if scoped to an agency.'}}, 'description': 'An entity affected by this alert.', 'additionalProperties': False}, 'description': 'Stops, routes, trips, or agencies affected by this alert.'}, 'summary': {'type': 'string', 'description': 'Short summary of the service alert.'}, 'severity': {'type': ['string', 'null'], 'description': 'Severity level as reported by the agency, or null.'}, 'description': {'type': ['string', 'null'], 'description': 'Longer description of the alert, or null.'}, 'consequences': {'type': 'array', 'items': {'type': 'object', 'properties': {'condition': {'type': 'string', 'description': 'Consequence condition (e.g. "detour", "reducedService").'}, 'diversionStopIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Stop IDs on the diversion path, when condition is "detour".'}}, 'description': 'A consequence of this alert.', 'additionalProperties': False}, 'description': 'Operational consequences of this alert.'}, 'activeWindows': {'type': 'array', 'items': {'type': 'object', 'properties': {'to': {'type': 'number', 'description': 'End of active window as Unix milliseconds, if known.'}, 'from': {'type': 'number', 'description': 'Start of active window as Unix milliseconds, if known.'}}, 'description': 'A time window during which this alert is active.', 'additionalProperties': False}, 'description': 'Time windows when this alert is active.'}, 'consequenceMessage': {'type': ['string', 'null'], 'description': 'Human-readable consequence description (e.g. "Detour in effect"), or null.'}}, 'description': 'One service alert, in full detail.', 'additionalProperties': False}, 'description': 'Service alerts on this stop or on any arrival in the window, each listed once â\x80\x94 including alerts whose affected arrivals fall outside the window.'}, 'notice': {'type': 'string', 'description': 'What the response is missing and where to get it â\x80\x94 no arrivals in the window, stop details absent, or referenced alerts absent.'}, 'arrivals': {'type': 'array', 'items': {'type': 'object', 'required': ['routeShortName', 'tripHeadsign', 'predicted', 'predictedArrivalTime', 'scheduledArrivalTime', 'scheduleDeviation', 'vehicleId', 'vehiclePosition', 'stopsAway', 'tripId', 'routeId', 'situationIds'], 'properties': {'tripId': {'type': 'string', 'description': 'Trip ID for follow-up onebusaway_get_trip calls.'}, 'routeId': {'type': 'string', 'description': 'Route ID for follow-up route calls.'}, 'predicted': {'type': 'boolean', 'description': 'True if GPS-tracked real-time data is available; false if schedule-only.'}, 'stopsAway': {'type': ['number', 'null'], 'description': 'Number of stops until this stop, or null if unknown.'}, 'vehicleId': {'type': ['string', 'null'], 'description': 'Vehicle ID if known, or null.'}, 'situationIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'IDs of active service alerts affecting this arrival.'}, 'tripHeadsign': {'type': 'string', 'description': 'Destination sign text (e.g. "Downtown Seattle").'}, 'routeShortName': {'type': 'string', 'description': 'Route short name (e.g. "44").'}, 'vehiclePosition': {'anyOf': [{'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number', 'description': 'Vehicle latitude.'}, 'lon': {'type': 'number', 'description': 'Vehicle longitude.'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Current vehicle position if available, or null.'}, 'scheduleDeviation': {'type': 'number', 'description': 'Seconds late (positive) or early (negative). Only meaningful when predicted=true.'}, 'predictedArrivalTime': {'type': ['number', 'null'], 'description': 'Predicted arrival time as Unix milliseconds. Null when predicted=false.'}, 'scheduledArrivalTime': {'type': 'number', 'description': 'Scheduled arrival time as Unix milliseconds.'}}, 'description': 'A single arrival or departure at this stop.', 'additionalProperties': False}, 'description': 'Arrivals and departures at this stop within the requested time window.'}, 'currentTime': {'type': 'number', 'description': 'Server time as Unix milliseconds, for computing countdown timers.'}, 'queriedStop': {'type': 'string', 'description': 'Stop ID queried.'}, 'windowMinutes': {'type': 'object', 'required': ['before', 'after'], 'properties': {'after': {'type': 'number', 'description': 'Minutes after current time included.'}, 'before': {'type': 'number', 'description': 'Minutes before current time included.'}}, 'description': 'Time window used for the arrivals query.', 'additionalProperties': False}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['tripId'], 'properties': {'tripId': {'type': 'string', 'minLength': 1, 'description': 'Trip ID from an arrivals response or schedule lookup.'}, 'serviceDateMs': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Service date as Unix milliseconds (midnight local time) â\x80\x94 a non-negative integer. Only needed for trips from a previous service day. Omit to use today.'}, 'includeSchedule': {'type': 'boolean', 'default': True, 'description': 'Whether to include the full stop sequence with times. Defaults to true.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['tripId', 'routeShortName', 'tripHeadsign', 'blockId', 'status', 'schedule', 'situations']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['trip_not_found', 'rate_limited'], 'description': 'Machine-readable failure mode. Declared by this tool: `trip_not_found`: Trip ID not found or not active for the service date. `rate_limited`: No upstream request slot opened within the queue wait cap, or OneBusAway returned a rate limit response. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'status': {'type': 'object', 'required': ['phase', 'predicted', 'position', 'scheduleDeviation', 'nextStop', 'closestStop', 'vehicleId', 'lastUpdateTime'], 'properties': {'phase': {'type': 'string', 'description': 'Current journey phase (e.g. "in_progress", "layover_before", "layover_during").'}, 'nextStop': {'type': ['string', 'null'], 'description': 'Stop ID of the next stop, or null.'}, 'position': {'anyOf': [{'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number', 'description': 'Vehicle latitude.'}, 'lon': {'type': 'number', 'description': 'Vehicle longitude.'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Current vehicle position if available, or null.'}, 'predicted': {'type': 'boolean', 'description': 'True if GPS-tracked real-time data is available.'}, 'vehicleId': {'type': ['string', 'null'], 'description': 'Vehicle ID if known, or null.'}, 'closestStop': {'type': ['string', 'null'], 'description': 'Stop ID of the closest stop, or null.'}, 'lastUpdateTime': {'type': 'number', 'description': 'Timestamp of the last real-time update as Unix milliseconds.'}, 'scheduleDeviation': {'type': 'number', 'description': 'Seconds late (positive) or early (negative).'}}, 'description': 'Real-time status of the trip.', 'additionalProperties': False}, 'tripId': {'type': 'string', 'description': 'The queried trip ID.'}, 'blockId': {'type': ['string', 'null'], 'description': 'Block 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.'}, 'schedule': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['stopId', 'stopName', 'arrivalTime', 'departureTime', 'distanceAlongTripMeters'], 'properties': {'stopId': {'type': 'string', 'description': 'Stop ID.'}, 'stopName': {'type': 'string', 'description': 'Stop name.'}, 'arrivalTime': {'type': 'number', 'description': 'Scheduled arrival time as seconds from midnight (GTFS format).'}, 'departureTime': {'type': 'number', 'description': 'Scheduled departure time as seconds from midnight (GTFS format).'}, 'distanceAlongTripMeters': {'type': 'number', 'description': 'Distance along the trip to this stop, in meters.'}}, 'description': 'A scheduled stop time along this trip.', 'additionalProperties': False}}, {'type': 'null'}], 'description': 'Full stop sequence with times, or null if includeSchedule=false.'}, 'situations': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Active situation IDs affecting this trip.'}, 'tripHeadsign': {'type': 'string', 'description': 'Destination sign text.'}, 'routeShortName': {'type': 'string', 'description': 'Route short name (e.g. "44").'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['agencyId'], 'properties': {'routeId': {'type': 'string', 'description': 'Optional agency-prefixed route ID to filter results to one route. Filtering is client-side â\x80\x94 all agency vehicles are fetched first.'}, 'agencyId': {'type': 'string', 'minLength': 1, 'description': 'Agency ID (e.g. "1" for Metro Transit, "40" for Sound Transit). Use onebusaway_list_agencies to discover IDs.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['vehicles', 'limitExceeded', 'agencyId', 'count']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'count': {'type': 'number', 'description': 'Number of vehicles returned after any route filter.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['agency_not_found', 'rate_limited'], 'description': 'Machine-readable failure mode. Declared by this tool: `agency_not_found`: Agency ID does not exist on this instance. `rate_limited`: No upstream request slot opened within the queue wait cap, or OneBusAway returned a rate limit response. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'notice': {'type': 'string', 'description': 'Guidance when no vehicles were found â\x80\x94 e.g. the route may not be currently active, or the agency may not have real-time data.'}, 'routeId': {'type': 'string', 'description': 'Route ID filter applied client-side, if any.'}, 'agencyId': {'type': 'string', 'description': 'Agency ID queried.'}, 'vehicles': {'type': 'array', 'items': {'type': 'object', 'required': ['vehicleId', 'tripId', 'routeId', 'routeShortName', 'tripHeadsign', 'position', 'lastUpdateTime', 'phase', 'scheduleDeviation', 'orientation', 'nextStop', 'predicted'], 'properties': {'phase': {'type': 'string', 'description': 'Current journey phase (e.g. "in_progress", "layover_before").'}, 'tripId': {'type': ['string', 'null'], 'description': 'Current trip ID, or null if not on a trip.'}, 'routeId': {'type': ['string', 'null'], 'description': 'Current route ID, or null.'}, 'nextStop': {'type': ['string', 'null'], 'description': 'Stop ID of the next stop, or null.'}, 'position': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number', 'description': 'Vehicle latitude.'}, 'lon': {'type': 'number', 'description': 'Vehicle longitude.'}}, 'description': 'Current GPS position.', 'additionalProperties': False}, 'predicted': {'type': 'boolean', 'description': 'True if this vehicle is reporting real-time GPS data.'}, 'vehicleId': {'type': 'string', 'description': 'Vehicle ID.'}, 'orientation': {'type': ['number', 'null'], 'description': 'Heading in degrees (0=north, 90=east), or null.'}, 'tripHeadsign': {'type': ['string', 'null'], 'description': 'Destination sign text, or null.'}, 'lastUpdateTime': {'type': 'number', 'description': 'Timestamp of the last position update as Unix milliseconds.'}, 'routeShortName': {'type': ['string', 'null'], 'description': 'Route short name, or null.'}, 'scheduleDeviation': {'type': ['number', 'null'], 'description': 'Seconds late (positive) or early (negative), or null.'}}, 'description': 'A real-time vehicle position entry.', 'additionalProperties': False}, 'description': 'Active vehicles for the agency, optionally filtered by route.'}, 'limitExceeded': {'type': 'boolean', 'description': 'True if the upstream capped the vehicle list â\x80\x94 some vehicles were omitted. This endpoint has no pagination to retrieve them.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['agencies', 'limitExceeded', 'count']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'count': {'type': 'number', 'description': 'Number of transit agencies returned.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['rate_limited'], 'description': 'Machine-readable failure mode. Declared by this tool: `rate_limited`: No upstream request slot opened within the queue wait cap, or OneBusAway returned a rate limit response. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'notice': {'type': 'string', 'description': 'Guidance when no agencies were returned.'}, 'agencies': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'url', 'phone', 'timezone', 'coverageCenter', 'coverageSpan'], 'properties': {'id': {'type': 'string', 'description': 'Agency ID used in other calls (e.g. "1" for Metro Transit).'}, 'url': {'type': 'string', 'description': 'Agency website URL.'}, 'name': {'type': 'string', 'description': 'Full agency name.'}, 'phone': {'type': ['string', 'null'], 'description': 'Agency phone number, or null if not provided.'}, 'timezone': {'type': 'string', 'description': 'Agency timezone (e.g. "America/Los_Angeles").'}, 'coverageSpan': {'type': 'object', 'required': ['latSpan', 'lonSpan'], 'properties': {'latSpan': {'type': 'number', 'description': 'Latitude span of the coverage area in degrees.'}, 'lonSpan': {'type': 'number', 'description': 'Longitude span of the coverage area in degrees.'}}, 'description': "Geographic extent of the agency's service area.", 'additionalProperties': False}, 'coverageCenter': {'type': 'object', 'required': ['lat', 'lon'], 'properties': {'lat': {'type': 'number', 'description': 'Latitude of the coverage center.'}, 'lon': {'type': 'number', 'description': 'Longitude of the coverage center.'}}, 'description': "Geographic center of the agency's service area.", 'additionalProperties': False}}, 'description': 'A transit agency with coverage information.', 'additionalProperties': False}, 'description': 'All agencies served by this OneBusAway instance.'}, 'limitExceeded': {'type': 'boolean', 'description': 'True if the upstream capped the agency list â\x80\x94 some agencies were omitted. This endpoint has no pagination to retrieve them.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['agencyId'], 'properties': {'agencyId': {'type': 'string', 'minLength': 1, 'description': 'Agency ID (e.g. "1" for Metro Transit, "40" for Sound Transit). Use onebusaway_list_agencies to discover IDs.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['routes', 'limitExceeded', 'agencyId', 'count']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'count': {'type': 'number', 'description': 'Number of routes returned for this agency.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['agency_not_found', 'rate_limited'], 'description': 'Machine-readable failure mode. Declared by this tool: `agency_not_found`: Agency ID does not exist on this instance. `rate_limited`: No upstream request slot opened within the queue wait cap, or OneBusAway returned a rate limit response. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'notice': {'type': 'string', 'description': 'Guidance when no routes were found â\x80\x94 verify the agency ID with onebusaway_list_agencies.'}, 'routes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'shortName', 'longName', 'description', 'type', 'color', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Agency-prefixed route ID. Use with onebusaway_get_schedule_for_route or onebusaway_get_vehicles.'}, 'url': {'type': ['string', 'null'], 'description': 'Agency schedule page URL, or null.'}, 'type': {'type': 'number', 'description': 'GTFS route type: 0=tram, 1=subway, 2=rail, 3=bus, 4=ferry, 5=cable_car.'}, 'color': {'type': ['string', 'null'], 'description': 'Route brand color hex (without #), or null.'}, 'longName': {'type': 'string', 'description': 'Full route name.'}, 'shortName': {'type': 'string', 'description': 'The number or short name displayed on vehicles.'}, 'description': {'type': 'string', 'description': 'Route description.'}}, 'description': 'A transit route operated by this agency.', 'additionalProperties': False}, 'description': 'All routes operated by this agency.'}, 'agencyId': {'type': 'string', 'description': 'Agency ID queried.'}, 'limitExceeded': {'type': 'boolean', 'description': 'True if the upstream capped the route list â\x80\x94 some routes were omitted. This endpoint has no pagination to retrieve them.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'query': {'type': 'string', 'minLength': 1, 'description': 'Route name or number (e.g. "44", "Link", or "RapidRide").'}, 'maxCount': {'type': 'integer', 'default': 10, 'maximum': 100, 'description': 'Maximum number of results to return. A positive integer, at most 100. Defaults to 10.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['routes', 'limitExceeded', 'query', 'count']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'cap': {'type': 'number', 'description': 'The maxCount limit applied to truncated results.'}, 'count': {'type': 'number', 'description': 'Number of routes returned.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['endpoint_unavailable', 'rate_limited'], 'description': 'Machine-readable failure mode. Declared by this tool: `endpoint_unavailable`: The search/route endpoint returns 404 on this OBA instance (e.g. Puget Sound). `rate_limited`: No upstream request slot opened within the queue wait cap, or OneBusAway returned a rate limit response. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'query': {'type': 'string', 'description': 'Route name/number query sent to the API.'}, 'shown': {'type': 'number', 'description': 'Number of routes returned when results were truncated.'}, 'notice': {'type': 'string', 'description': 'Guidance when no routes matched â\x80\x94 e.g. try onebusaway_find_routes with coordinates, or onebusaway_list_routes_for_agency.'}, 'routes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'shortName', 'longName', 'description', 'agencyId', 'agencyName', 'type'], 'properties': {'id': {'type': 'string', 'description': 'Agency-prefixed route ID (e.g. "1_100259"). Use with onebusaway_get_vehicles or onebusaway_get_schedule_for_route.'}, 'type': {'type': 'number', 'description': 'GTFS route type: 0=tram, 1=subway, 2=rail, 3=bus, 4=ferry, 5=cable_car.'}, 'agencyId': {'type': 'string', 'description': 'Agency ID that operates this route.'}, 'longName': {'type': 'string', 'description': 'Full route name.'}, 'shortName': {'type': 'string', 'description': 'The number or short name displayed on vehicles (e.g. "44").'}, 'agencyName': {'type': 'string', 'description': 'Agency name that operates this route.'}, 'description': {'type': 'string', 'description': 'Route description.'}}, 'description': 'A transit route with agency and type information.', 'additionalProperties': False}, 'description': 'Routes matching the search query.'}, 'truncated': {'type': 'boolean', 'description': 'True when matching routes exceeded maxCount.'}, 'limitExceeded': {'type': 'boolean', 'description': 'True if more routes match than were returned; raise maxCount or refine the query to see all.'}}, 'additionalProperties': False}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'query': {'type': 'string', 'minLength': 1, 'description': 'Stop name fragment or stop code (e.g. "University Way" or "75403").'}, 'maxCount': {'type': 'integer', 'default': 10, 'maximum': 100, 'description': 'Maximum number of results to return. A positive integer, at most 100. Defaults to 10.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'anyOf': [{'not': {'required': ['error']}, 'required': ['stops', 'limitExceeded', 'query', 'count']}, {'required': ['error']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'cap': {'type': 'number', 'description': 'The maxCount limit applied to truncated results.'}, 'count': {'type': 'number', 'description': 'Number of stops returned.'}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'JSON-RPC error code for this failure.'}, 'data': {'type': 'object', 'properties': {'reason': {'type': 'string', 'examples': ['rate_limited'], 'description': 'Machine-readable failure mode. Declared by this tool: `rate_limited`: No upstream request slot opened within the queue wait cap, or OneBusAway returned a rate limit response. Other values are possible when a failure originates below the handler.'}, 'recovery': {'type': 'object', 'required': ['hint'], 'properties': {'hint': {'type': 'string'}}, 'description': 'Actionable next step for the caller.', 'additionalProperties': {}}, 'retryable': {'type': 'boolean', 'description': 'Whether retrying may succeed.'}}, 'additionalProperties': {}}, 'message': {'type': 'string', 'description': 'Human-readable description of what went wrong.'}}, 'description': 'Present when the call failed. Absent on success.', 'additionalProperties': {}}, 'query': {'type': 'string', 'description': 'Search query sent to the API.'}, 'shown': {'type': 'number', 'description': 'Number of stops returned when results were truncated.'}, 'stops': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'code', 'name', 'lat', 'lon', 'direction', 'routeIds', 'wheelchairBoarding'], 'properties': {'id': {'type': 'string', 'description': 'Agency-prefixed stop ID (e.g. "1_75403"). Use with onebusaway_get_arrivals.'}, 'lat': {'type': 'number', 'description': 'Latitude of the stop.'}, 'lon': {'type': 'number', 'description': 'Longitude of the stop.'}, 'code': {'type': 'string', 'description': 'The stop code printed on the sign.'}, 'name': {'type': 'string', 'description': 'Stop name.'}, 'routeIds': {'type': 'array', 'items': {'type': 'string'}, 'description': 'IDs of routes that serve this stop.'}, 'direction': {'type': 'string', 'description': 'Compass direction of travel at this stop.'}, 'wheelchairBoarding': {'enum': ['ACCESSIBLE', 'NOT_ACCESSIBLE', 'UNKNOWN'], 'type': 'string', 'description': 'Wheelchair boarding status.'}}, 'description': 'A transit stop with location and route information.', 'additionalProperties': False}, 'description': 'Stops matching the search query.'}, 'notice': {'type': 'string', 'description': 'Guidance when no stops matched â\x80\x94 e.g. try a different name fragment or use onebusaway_find_stops with coordinates.'}, 'truncated': {'type': 'boolean', 'description': 'True when matching stops exceeded maxCount.'}, 'limitExceeded': {'type': 'boolean', 'description': 'True if more stops match than were returned; raise maxCount or refine the query to see all.'}}, 'additionalProperties': False}
近期工具变更
类似的 MCP 服务器
MolTravel
Searches and provides details for flights, hotels, rental cars, ferries, airports, travel experiences, destinations, country info…
Wmata
Provides Washington Metro rail and bus routes, stops, stations, service incidents, route details, and real-time arrival predictio…
Openrouteservice
Provides geocoding, routing, travel-time matrices, isochrones, snapping, and elevation data using OpenStreetMap-based services.
Google_maps
Provides Google Maps geocoding, place search and details, directions, distance matrices, and elevation data.
SeaWeb
Searches and extracts web information about entities and travel locations, including restaurants, salons, tourist conditions, dis…
Aviationstack
Provides airline, airport, city, country, and flight directory data, including real-time and scheduled flight details.
Nps
Searches National Park Service data for parks, campgrounds, activities, alerts, visitor statistics, locations, fees, and operatin…
Tfl
Provides London transport journey planning, line status, disruptions, stop arrivals, and Santander Cycle availability.