---
summary: "Service alert + block schedule tools; error-contract data.reason fix; list-routes-for-agency empty-result notice."
breaking: false
security: false
---

# 0.1.6 — 2026-05-30

## Added

- **`onebusaway_get_alert`** — fetches full service alert detail by situation ID (summary, description, reason, affected stops/routes, consequence, active time windows). Situation IDs surface in `onebusaway_get_arrivals` under `situations[].id` and `arrivals[].situationIds`. ([#10](https://github.com/cyanheads/onebusaway-mcp-server/issues/10))
- **`onebusaway_get_block`** — fetches the full-day block schedule for a vehicle by block ID, returning all trips in order with GTFS stop times. Useful for fleet tracking and "when will this bus return?" queries. ([#10](https://github.com/cyanheads/onebusaway-mcp-server/issues/10))
- **`SituationDetail`, `BlockResult`, `BlockTrip`, `BlockStopTime`** types added to `src/services/onebusaway/types.ts`.

## Fixed

- **`classifyError()`** now re-throws `McpError` instances as-is; previously it caught and re-wrapped them as `serviceUnavailable`, silently dropping `data.reason`. ([#12](https://github.com/cyanheads/onebusaway-mcp-server/issues/12))
- **`data.reason`** now populated on all NotFound errors — `classifyError()` threads the `notFoundReason` string into the factory's data arg. Affected tools: `onebusaway_get_stop` (`stop_not_found`), `onebusaway_get_route` (`route_not_found`), `onebusaway_get_trip` (`trip_not_found`), `onebusaway_list_routes_for_agency` and `onebusaway_get_vehicles` (`agency_not_found`), `onebusaway_get_arrivals` and `onebusaway_get_schedule_for_stop` (`stop_not_found`), `onebusaway_get_schedule_for_route` (`route_not_found`). ([#12](https://github.com/cyanheads/onebusaway-mcp-server/issues/12))
- **Null-response guard** — OBA returns `null` (not `NotFoundError`) for invalid IDs on some endpoints; guards updated to `resp?.data` / `resp?.data?.entry` so the explicit `notFound()` throw fires instead of crashing with a `TypeError`. ([#12](https://github.com/cyanheads/onebusaway-mcp-server/issues/12))
- **`onebusaway_list_routes_for_agency`** now emits `ctx.enrich.notice()` with recovery guidance when the route list is empty, consistent with `find-stops`, `get-vehicles`, and other collection tools. ([#14](https://github.com/cyanheads/onebusaway-mcp-server/issues/14))
