@cyanheads/wsdot-mcp-server 0.2.6 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/AGENTS.md +1 -1
  2. package/CLAUDE.md +1 -1
  3. package/README.md +19 -14
  4. package/changelog/0.3.x/0.3.0.md +30 -0
  5. package/dist/mcp-server/tools/definitions/get-ferry-schedule.tool.d.ts.map +1 -1
  6. package/dist/mcp-server/tools/definitions/get-ferry-schedule.tool.js +7 -1
  7. package/dist/mcp-server/tools/definitions/get-ferry-schedule.tool.js.map +1 -1
  8. package/dist/mcp-server/tools/definitions/get-terminal-space.tool.d.ts.map +1 -1
  9. package/dist/mcp-server/tools/definitions/get-terminal-space.tool.js +2 -0
  10. package/dist/mcp-server/tools/definitions/get-terminal-space.tool.js.map +1 -1
  11. package/dist/mcp-server/tools/definitions/get-toll-rates.tool.d.ts +4 -0
  12. package/dist/mcp-server/tools/definitions/get-toll-rates.tool.d.ts.map +1 -1
  13. package/dist/mcp-server/tools/definitions/get-toll-rates.tool.js +123 -79
  14. package/dist/mcp-server/tools/definitions/get-toll-rates.tool.js.map +1 -1
  15. package/dist/mcp-server/tools/definitions/get-travel-times.tool.d.ts.map +1 -1
  16. package/dist/mcp-server/tools/definitions/get-travel-times.tool.js +103 -101
  17. package/dist/mcp-server/tools/definitions/get-travel-times.tool.js.map +1 -1
  18. package/dist/mcp-server/tools/definitions/search-alerts.tool.d.ts +10 -0
  19. package/dist/mcp-server/tools/definitions/search-alerts.tool.d.ts.map +1 -1
  20. package/dist/mcp-server/tools/definitions/search-alerts.tool.js +152 -130
  21. package/dist/mcp-server/tools/definitions/search-alerts.tool.js.map +1 -1
  22. package/dist/mcp-server/tools/definitions/search-cameras.tool.d.ts +12 -0
  23. package/dist/mcp-server/tools/definitions/search-cameras.tool.d.ts.map +1 -1
  24. package/dist/mcp-server/tools/definitions/search-cameras.tool.js +118 -67
  25. package/dist/mcp-server/tools/definitions/search-cameras.tool.js.map +1 -1
  26. package/dist/mcp-server/tools/page-budget.d.ts +56 -0
  27. package/dist/mcp-server/tools/page-budget.d.ts.map +1 -0
  28. package/dist/mcp-server/tools/page-budget.js +76 -0
  29. package/dist/mcp-server/tools/page-budget.js.map +1 -0
  30. package/package.json +2 -2
  31. package/server.json +3 -3
package/AGENTS.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** @cyanheads/wsdot-mcp-server
4
- **Version:** 0.2.6
4
+ **Version:** 0.3.0
5
5
  **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.13.6`
6
6
  **Engines:** Bun ≥1.4.0, Node ≥24.0.0
7
7
  **MCP SDK:** `@modelcontextprotocol/server` ^2.0.0 (protocol revisions 2026-07-28 and 2025-*)
package/CLAUDE.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** @cyanheads/wsdot-mcp-server
4
- **Version:** 0.2.6
4
+ **Version:** 0.3.0
5
5
  **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.13.6`
6
6
  **Engines:** Bun ≥1.4.0, Node ≥24.0.0
7
7
  **MCP SDK:** `@modelcontextprotocol/server` ^2.0.0 (protocol revisions 2026-07-28 and 2025-*)
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![Version](https://img.shields.io/badge/Version-0.2.6-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/wsdot-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.0.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/wsdot-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/wsdot-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.0%2B-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![Version](https://img.shields.io/badge/Version-0.3.0-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/wsdot-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^2.0.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/wsdot-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/wsdot-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.4.0%2B-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -34,9 +34,9 @@ Washington State transportation data from the WSDOT Traveler API and the WSF Fer
34
34
  | `wsdot_get_mountain_passes` | Current conditions for all WA mountain passes: status, road condition, traction laws, temperature, elevation. |
35
35
  | `wsdot_search_alerts` | Active highway alerts — incidents, construction, closures — filterable by state route, WSDOT region, and milepost range. |
36
36
  | `wsdot_get_travel_times` | Current vs. average travel times for named WA highway corridors (I-5, I-90, SR 520, etc.) with congestion delay. |
37
- | `wsdot_get_toll_rates` | Dynamic toll rates for WA express lanes and tolled facilities: SR 99, SR 167 HOT, I-405 Express, SR 509, SR 520. |
37
+ | `wsdot_get_toll_rates` | Dynamic toll rates for WA express lanes and tolled facilities — SR 99, SR 167 HOT, I-405 Express, SR 509, SR 520 — filterable by route. |
38
38
  | `wsdot_get_border_waits` | Current vehicle wait times at all WA/Canada land border crossings. |
39
- | `wsdot_search_cameras` | Highway camera metadata and image URLs, filterable by state route, region, and milepost range. |
39
+ | `wsdot_search_cameras` | Highway camera metadata and image URLs, filterable by state route, region, milepost range, and title words. |
40
40
  | `wsdot_get_ferry_terminals` | All WSF ferry terminals with numeric IDs needed for schedule and space lookups. |
41
41
  | `wsdot_get_ferry_routes` | WSF routes operating on a given date — route ID, abbreviation, and description for each, for route discovery and ferry-alert cross-reference. |
42
42
  | `wsdot_get_ferry_schedule` | Departure times for a specific WSF route — today-remaining or full-day future mode. |
@@ -57,21 +57,21 @@ Washington State transportation data from the WSDOT Traveler API and the WSF Fer
57
57
  ### `wsdot_search_alerts` <sub>tool</sub>
58
58
 
59
59
  - Filter by state route — natural forms all work: `"I-90"`, `"90"`, `"090"`, or `"SR 520"` / `"520"`
60
- - Filter by WSDOT region: Northwest, Olympic, Southwest, South Central, North Central, Eastern
61
- - Filter by milepost range to scope to a corridor — an alert matches when its extent overlaps the range, so a closure that spans the boundary is returned
62
- - Omit all filters to return all current statewide alerts
60
+ - Filter by WSDOT region name: Northwest, Olympic, Southwest, South Central, North Central, Eastern (case-insensitive; any other value is rejected with `invalid_region`)
61
+ - Filter by milepost range to scope to a corridor — an alert matches when its extent overlaps the range, so a closure that spans the boundary is returned. Either bound may be given alone; a start above the end is rejected with `invalid_milepost_range`
62
+ - Omit all filters to return all current statewide alerts; `stateRoute` and `region` accept at most 200 characters
63
63
  - Descriptions are normalized to plain text; a link renders inline as `link text (url)`
64
- - Results ordered by `alertId` and paged (default 50, max 500) — pass `offset`/`limit`; the notice reports the next offset
64
+ - Results ordered by `alertId` and paged (default 20, max 500) — pass `offset`/`limit`; a page also ends early at a 24,000-byte response budget, and the notice reports the next offset
65
65
 
66
66
  ---
67
67
 
68
68
  ### `wsdot_get_travel_times` <sub>tool</sub>
69
69
 
70
70
  - Covers I-5, I-90, SR 520, SR 99, I-405, SR 167, and others
71
- - Filter by route (`"I-5"`, `"5"`, `"SR 520"`) to get every corridor measured on it, or by any text to match corridor names (`"Everett"`)
71
+ - Filter by route (`"I-5"`, `"5"`, `"SR 520"`) to get every corridor measured on it, or by any text to match corridor names (`"Everett"`); `route` accepts at most 200 characters
72
72
  - When current time exceeds average, the corridor is congested; the delta is the delay
73
73
  - Reversible express-lane corridors report no travel time while closed in the queried direction — those figures are omitted rather than reported as zero minutes
74
- - Results are paged (default 50, max 500) — pass `offset`/`limit`; the notice reports the next offset
74
+ - Results are paged (default 50, max 500) — pass `offset`/`limit`; a page also ends early at a 24,000-byte response budget, and the notice reports the next offset
75
75
 
76
76
  ---
77
77
 
@@ -79,9 +79,11 @@ Washington State transportation data from the WSDOT Traveler API and the WSF Fer
79
79
 
80
80
  - Covers SR 99 (WSDOT Tunnel), SR 167 HOT Lanes, I-405 Express Lanes, the SR 509 tolled segment, and the SR 520 Bridge
81
81
  - Rates are time-banded and change dynamically based on traffic conditions
82
- - `stateRoute` is a bare, zero-padded route number (`"099"`, `"405"`) with no route type; the rendered text resolves the posted designation, so I-405 reads as `I-405` rather than `SR 405`
82
+ - Filter to one facility with `stateRoute` — `"SR 520"`, `"520"`, `"0520"`, `"I-405"`, and `"405"` all work, matched against the posted designation, so `"SR 405"` matches nothing. A route with no tolled facility returns an empty page whose notice names the tolled routes; the filter (at most 200 characters) is applied before paging and echoed in `appliedFilters`
83
+ - Each row's `stateRoute` is the bare, zero-padded route number the feed carries (`"099"`, `"405"`) with no route type; the rendered text resolves the posted designation, so I-405 reads as `I-405` rather than `SR 405`
84
+ - `travelDirection` is the feed's code, not the direction of travel: SR 99, SR 509, and SR 520 carry one fixed code per facility although trips run both ways — read direction from the segment's start and end
83
85
  - Each entry leads with its readable `startLocationName → endLocationName` segment; the opaque upstream trip key stays available as `tripName`
84
- - Results are paged (default 50, max 500) — pass `offset`/`limit`; the notice reports the next offset
86
+ - Results are paged (default 50, max 500) — pass `offset`/`limit`; a page also ends early at a 24,000-byte response budget, and the notice reports the next offset
85
87
 
86
88
  ---
87
89
 
@@ -96,10 +98,13 @@ Washington State transportation data from the WSDOT Traveler API and the WSF Fer
96
98
 
97
99
  ### `wsdot_search_cameras` <sub>tool</sub>
98
100
 
99
- - Filter by state route (`"I-90"`, `"90"`, `"SR 520"`, or `"520"` all work), WSDOT region, or milepost range
101
+ - Filter by state route (`"I-90"`, `"90"`, `"SR 520"`, or `"520"` all work), WSDOT region code, milepost range, or words in the camera title; `stateRoute`, `region`, and `titleContains` accept at most 200 characters
100
102
  - Camera road names carry a route-type prefix, so `"SR 26"` excludes US 26 and `"US 97"` excludes US 97A; a bare `"26"` returns both
103
+ - Region codes: `NW`, `SW`, `OL`, `ER`, `SC`, `NC`, `OS` (Oregon — the TripCheck cameras around Portland), and `WA` (airport cameras plus a few ferry-terminal cameras — most ferry-terminal cameras sit in `NW` and `OL`). Case-insensitive; any other value is rejected with `invalid_region`
104
+ - `titleContains` matches the title as WSDOT wrote it — case-insensitive, every word must appear in any order — so `"Snoqualmie"` returns Snoqualmie Summit and East Snoqualmie Summit but not Hyak. Titles lead with route and milepost, so filter a route with `stateRoute`
105
+ - Either milepost bound may be given alone; a start above the end is rejected with `invalid_milepost_range`
101
106
  - Returns metadata and image URLs — camera images are copyright WSDOT, not fetched as bytes
102
- - Results are ordered by `cameraId` and paged (default 50, max 500) — pass `offset`/`limit`; the notice reports the next offset
107
+ - Results are ordered by `cameraId` and paged (default 50, max 500) — pass `offset`/`limit`; a page also ends early at a 24,000-byte response budget, and the notice reports the next offset
103
108
 
104
109
  ---
105
110
 
@@ -122,7 +127,7 @@ Washington State transportation data from the WSDOT Traveler API and the WSF Fer
122
127
 
123
128
  ### `wsdot_get_ferry_schedule` <sub>tool</sub>
124
129
 
125
- - Requires numeric `departingTerminalId` and `arrivingTerminalId` — use `wsdot_get_ferry_terminals` first
130
+ - Requires `departingTerminalId` and `arrivingTerminalId`, both positive integers — use `wsdot_get_ferry_terminals` first
126
131
  - Optional `tripDate` (defaults to today) and `remainingOnly: true` (only future departures for today; ignored for future dates)
127
132
  - `departureTime` and `arrivalTime` are ISO 8601 **UTC**, while `tripDate` is the Pacific service day — an evening sailing therefore carries the following UTC calendar date and will not match `tripDate`. Convert to `America/Los_Angeles` before quoting a clock time
128
133
  - `arrivalTime` is populated on some routes and absent on others
@@ -0,0 +1,30 @@
1
+ ---
2
+ summary: "Traffic tools reject invalid regions and reversed milepost ranges, toll rates gain a stateRoute filter and cameras a titleContains filter, and each traffic page now ends at a 24,000-byte budget per surface."
3
+ breaking: true
4
+ security: false
5
+ ---
6
+
7
+ # 0.3.0 — 2026-09-24
8
+
9
+ ## Added
10
+
11
+ - **`wsdot_get_toll_rates` `stateRoute` filter** ([#44](https://github.com/cyanheads/wsdot-mcp-server/issues/44)) — `"SR 520"`, `"520"`, `"0520"`, `"I-405"`, and `"405"` all work, matched against the posted designation before paging and echoed in a new `appliedFilters` enrichment. A route with no tolled facility returns an empty page whose notice names the tolled routes.
12
+ - **`wsdot_search_cameras` `titleContains` filter** ([#45](https://github.com/cyanheads/wsdot-mcp-server/issues/45)) — case-insensitive, every whitespace-separated word must appear in the camera title; composes with the other filters and is echoed in `appliedFilters`.
13
+ - **Page byte budget** ([#43](https://github.com/cyanheads/wsdot-mcp-server/issues/43)) — `wsdot_search_alerts`, `wsdot_search_cameras`, `wsdot_get_travel_times`, and `wsdot_get_toll_rates` end a page at `limit` or at 24,000 bytes per surface (`structuredContent` and `content[]`), whichever comes first; a budget-ended page says so in its notice.
14
+
15
+ ## Changed
16
+
17
+ - **Invalid traffic filters fail instead of returning an empty page** ([#39](https://github.com/cyanheads/wsdot-mcp-server/issues/39)) — on `wsdot_search_alerts` and `wsdot_search_cameras`, a `region` outside the tool's vocabulary (names on alerts, codes on cameras; case-insensitive) raises `invalid_region`, and `startMilepost > endMilepost` raises `invalid_milepost_range`. Blank filters are still treated as omitted.
18
+ - **Ferry terminal IDs must be positive integers** — `departingTerminalId` on `wsdot_get_terminal_space` and both IDs on `wsdot_get_ferry_schedule`; anything else is an `InvalidParams` rejection that never reaches the upstream.
19
+ - **Free-text traffic filters accept at most 200 characters** — `stateRoute`, `region`, `route`, and `titleContains`.
20
+ - **`wsdot_search_alerts` default `limit`** drops from 50 to 20; the other three paged traffic tools stay at 50.
21
+ - **Migration:** a region outside the tool's vocabulary, a reversed milepost range, a non-positive or fractional terminal ID, or a filter over 200 characters now errors instead of returning an empty page; an alerts page defaults to 20 rows; and any traffic page may end before `limit` at the byte budget, reported through `hasMore` / `nextOffset` and the notice.
22
+
23
+ ## Fixed
24
+
25
+ - **`wsdot_get_toll_rates` output descriptions** — `stateRoute` is stated as the bare, zero-padded feed value, and `travelDirection` as one fixed code per facility on SR 99, SR 509, and SR 520 rather than the direction of travel.
26
+ - **`wsdot_search_cameras` `region` description** — `OS` is the Oregon TripCheck cameras around Portland and `WA` the airport cameras plus a few ferry-terminal cameras, not "Olympic South" and "statewide".
27
+
28
+ ## Dependencies
29
+
30
+ - `@types/node` `^26.6.1` → `^26.6.2` (dev)
@@ -1 +1 @@
1
- {"version":3,"file":"get-ferry-schedule.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-ferry-schedule.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAI3E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiM3B,CAAC"}
1
+ {"version":3,"file":"get-ferry-schedule.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-ferry-schedule.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAY,MAAM,+BAA+B,CAAC;AAI3E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuM3B,CAAC"}
@@ -20,8 +20,14 @@ export const getFerrySchedule = tool('wsdot_get_ferry_schedule', {
20
20
  input: z.object({
21
21
  departingTerminalId: z
22
22
  .number()
23
+ .int()
24
+ .positive()
23
25
  .describe('Numeric ID of the departing terminal. Use wsdot_get_ferry_terminals to look up terminal IDs.'),
24
- arrivingTerminalId: z.number().describe('Numeric ID of the arriving terminal.'),
26
+ arrivingTerminalId: z
27
+ .number()
28
+ .int()
29
+ .positive()
30
+ .describe('Numeric ID of the arriving terminal.'),
25
31
  tripDate: z
26
32
  .string()
27
33
  .optional()
@@ -1 +1 @@
1
- {"version":3,"file":"get-ferry-schedule.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-ferry-schedule.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-ferry-schedule.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-ferry-schedule.tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-terminal-space.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-terminal-space.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAWjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0R3B,CAAC"}
1
+ {"version":3,"file":"get-terminal-space.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-terminal-space.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAWjE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4R3B,CAAC"}
@@ -27,6 +27,8 @@ export const getTerminalSpace = tool('wsdot_get_terminal_space', {
27
27
  input: z.object({
28
28
  departingTerminalId: z
29
29
  .number()
30
+ .int()
31
+ .positive()
30
32
  .optional()
31
33
  .describe('Filter to a specific terminal by numeric ID. Omit to return all terminals.'),
32
34
  offset: z
@@ -1 +1 @@
1
- {"version":3,"file":"get-terminal-space.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-terminal-space.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-terminal-space.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-terminal-space.tool.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  import { z } from '@cyanheads/mcp-ts-core';
6
6
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
7
7
  export declare const getTollRates: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
8
+ stateRoute: z.ZodOptional<z.ZodString>;
8
9
  offset: z.ZodOptional<z.ZodNumber>;
9
10
  limit: z.ZodOptional<z.ZodNumber>;
10
11
  }, z.core.$strip>, z.ZodObject<{
@@ -42,6 +43,9 @@ export declare const getTollRates: import("@cyanheads/mcp-ts-core").ToolDefiniti
42
43
  readonly totalCount: z.ZodNumber;
43
44
  readonly nextOffset: z.ZodNullable<z.ZodNumber>;
44
45
  readonly hasMore: z.ZodBoolean;
46
+ readonly appliedFilters: z.ZodOptional<z.ZodObject<{
47
+ stateRoute: z.ZodOptional<z.ZodString>;
48
+ }, z.core.$strip>>;
45
49
  readonly notice: z.ZodOptional<z.ZodString>;
46
50
  }>;
47
51
  //# sourceMappingURL=get-toll-rates.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-toll-rates.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-toll-rates.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAoBjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqKvB,CAAC"}
1
+ {"version":3,"file":"get-toll-rates.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-toll-rates.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAyDjE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuKvB,CAAC"}
@@ -5,6 +5,8 @@
5
5
  import { tool, z } from '@cyanheads/mcp-ts-core';
6
6
  import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
7
7
  import { coordinatePair } from '../coordinate-pair.js';
8
+ import { continuationNotice, fitPageToBudget, MAX_FILTER_LENGTH, PAGE_BYTE_BUDGET, renderPage, } from '../page-budget.js';
9
+ import { routeMatches } from '../../../services/traffic/route-match.js';
8
10
  import { getTrafficApiService } from '../../../services/traffic/traffic-service.js';
9
11
  const DEFAULT_LIMIT = 50;
10
12
  const MAX_LIMIT = 500;
@@ -19,16 +21,47 @@ function routeDesignation(stateRoute) {
19
21
  const number = stateRoute.replace(/^0+(?=\d)/, '');
20
22
  return INTERSTATE_ROUTE_NUMBERS.has(number) ? `I-${number}` : `SR ${number}`;
21
23
  }
24
+ const TollRateSchema = z
25
+ .object({
26
+ tripName: z.string().optional().describe('Name of the tolled trip or lane segment.'),
27
+ stateRoute: z
28
+ .string()
29
+ .optional()
30
+ .describe('Route number as the feed reports it: bare and zero-padded, with no route type ("099", "405"). The rendered text shows the posted designation (SR 99, I-405).'),
31
+ travelDirection: z
32
+ .string()
33
+ .optional()
34
+ .describe('Direction code the feed assigns the toll trip: N, S, E, or W. On SR 99, SR 509, and SR 520 it is one fixed code per facility (S, S, and E) although trips run both ways, so read the direction of travel from the segment ends — startLocationName/endLocationName and startMilepost → endMilepost — not from this code.'),
35
+ startMilepost: z.number().optional().describe('Starting milepost of the toll segment.'),
36
+ endMilepost: z.number().optional().describe('Ending milepost of the toll segment.'),
37
+ tollRateInDollars: z.number().optional().describe('Current toll rate in US dollars.'),
38
+ message: z.string().optional().describe('Dynamic message associated with this toll.'),
39
+ startLocationName: z.string().optional().describe('Human-readable start location name.'),
40
+ endLocationName: z.string().optional().describe('Human-readable end location name.'),
41
+ startLatitude: z.number().optional().describe('Latitude of the segment start point.'),
42
+ startLongitude: z.number().optional().describe('Longitude of the segment start point.'),
43
+ endLatitude: z.number().optional().describe('Latitude of the segment end point.'),
44
+ endLongitude: z.number().optional().describe('Longitude of the segment end point.'),
45
+ timeUpdated: z.string().optional().describe('When this toll rate was last updated (ISO 8601).'),
46
+ })
47
+ .describe('Current toll rate for one segment or trip.');
22
48
  export const getTollRates = tool('wsdot_get_toll_rates', {
23
49
  title: 'Get Toll Rates',
24
50
  description: 'Returns current dynamic toll rates for WA express lanes and tolled facilities: SR 99 (WSDOT Tunnel), ' +
25
51
  'SR 167 HOT Lanes, I-405 Express Lanes, SR 509 tolled segment, and the SR 520 Bridge. ' +
26
52
  'Rates are time-banded and change dynamically based on traffic conditions. ' +
27
- 'stateRoute is a bare, zero-padded route number ("099", "405") — the posted designation is in ' +
28
- 'the rendered text. Results are paged — pass offset/limit to page through the full set ' +
29
- '(the notice reports the next offset).',
53
+ 'Filter to one facility with stateRoute ("SR 520", "520", "I-405", or "405" all work). ' +
54
+ 'Each row reports stateRoute as the bare, zero-padded number the feed carries ("099", "405") — ' +
55
+ 'the posted designation is in the rendered text. Results are paged — pass offset/limit to page ' +
56
+ 'through the matching set. ' +
57
+ `A page ends at limit or at a ${PAGE_BYTE_BUDGET.toLocaleString('en-US')}-byte response budget, whichever comes first; the notice reports the next offset.`,
30
58
  annotations: { readOnlyHint: true },
31
59
  input: z.object({
60
+ stateRoute: z
61
+ .string()
62
+ .max(MAX_FILTER_LENGTH)
63
+ .optional()
64
+ .describe('Tolled route to filter by. Accepts natural forms — "SR 520", "520", "0520", "I-405", "405" — matched case- and space-insensitively against each row\'s posted designation, so a route-type prefix must agree: "SR 405" matches nothing because the I-405 Express Lanes are an Interstate. A route with no tolled facility returns an empty page whose notice names the tolled routes. Omit to include every facility.'),
32
65
  offset: z
33
66
  .number()
34
67
  .int()
@@ -41,52 +74,39 @@ export const getTollRates = tool('wsdot_get_toll_rates', {
41
74
  .min(1)
42
75
  .max(MAX_LIMIT)
43
76
  .optional()
44
- .describe(`Maximum toll rates to return in this page (1–${MAX_LIMIT}). Defaults to ${DEFAULT_LIMIT}.`),
77
+ .describe(`Maximum toll rates to return in this page (1–${MAX_LIMIT}). Defaults to ${DEFAULT_LIMIT}. A large page ends sooner, at the ${PAGE_BYTE_BUDGET.toLocaleString('en-US')}-byte response budget.`),
45
78
  }),
46
79
  output: z.object({
47
80
  rates: z
48
- .array(z
49
- .object({
50
- tripName: z.string().optional().describe('Name of the tolled trip or lane segment.'),
51
- stateRoute: z.string().optional().describe('State route number.'),
52
- travelDirection: z
53
- .string()
54
- .optional()
55
- .describe('Travel direction code for this toll segment: N (north), S (south), E (east), W (west).'),
56
- startMilepost: z.number().optional().describe('Starting milepost of the toll segment.'),
57
- endMilepost: z.number().optional().describe('Ending milepost of the toll segment.'),
58
- tollRateInDollars: z.number().optional().describe('Current toll rate in US dollars.'),
59
- message: z.string().optional().describe('Dynamic message associated with this toll.'),
60
- startLocationName: z
61
- .string()
62
- .optional()
63
- .describe('Human-readable start location name.'),
64
- endLocationName: z.string().optional().describe('Human-readable end location name.'),
65
- startLatitude: z.number().optional().describe('Latitude of the segment start point.'),
66
- startLongitude: z.number().optional().describe('Longitude of the segment start point.'),
67
- endLatitude: z.number().optional().describe('Latitude of the segment end point.'),
68
- endLongitude: z.number().optional().describe('Longitude of the segment end point.'),
69
- timeUpdated: z
70
- .string()
71
- .optional()
72
- .describe('When this toll rate was last updated (ISO 8601).'),
73
- })
74
- .describe('Current toll rate for one segment or trip.'))
75
- .describe('Current toll rates for all active tolled facilities.'),
81
+ .array(TollRateSchema)
82
+ .describe('Current toll rates for the matching tolled facilities.'),
76
83
  }),
77
84
  enrichment: {
78
85
  totalCount: z
79
86
  .number()
80
- .describe('Total toll rate entries across all pages (not just this page).'),
87
+ .describe('Total toll rate entries matching the filter across all pages (not just this page).'),
81
88
  nextOffset: z
82
89
  .number()
83
90
  .nullable()
84
91
  .describe('Offset to pass to retrieve the next page, or null when this is the last page.'),
85
92
  hasMore: z.boolean().describe('True when more toll rates remain beyond the current page.'),
93
+ appliedFilters: z
94
+ .object({
95
+ stateRoute: z.string().optional().describe('State route filter applied.'),
96
+ })
97
+ .optional()
98
+ .describe('Active filters applied to the toll rates. Absent when no filter was applied.'),
86
99
  notice: z
87
100
  .string()
88
101
  .optional()
89
- .describe('Informational note about the page window, or guidance when no toll rate data is available or the offset ran past the end.'),
102
+ .describe('Informational note about the page window, or guidance when no toll rate data is available, the route has no tolled facility, or the offset ran past the end.'),
103
+ },
104
+ enrichmentTrailer: {
105
+ appliedFilters: {
106
+ render: (filters) => filters?.stateRoute
107
+ ? `**Applied Filters:**\n- **Route:** ${filters.stateRoute}`
108
+ : '**Applied Filters:** none',
109
+ },
90
110
  },
91
111
  errors: [
92
112
  {
@@ -107,27 +127,51 @@ export const getTollRates = tool('wsdot_get_toll_rates', {
107
127
  },
108
128
  ],
109
129
  async handler(input, ctx) {
130
+ const stateRoute = input.stateRoute?.trim() || undefined;
110
131
  const allRates = await getTrafficApiService().getTollRates(ctx);
111
- // Page the full set so structuredContent and content[] carry the identical page (the
112
- // service stays filter-only; paging is a tool-handler concern). totalCount stays the
113
- // full entry count so the agent knows how much lies beyond this page.
114
- const totalCount = allRates.length;
132
+ // The feed value carries no route type, so it is matched as its posted designation — a bare
133
+ // "405" would otherwise let "SR 405" return the I-405 Express Lanes.
134
+ const matched = stateRoute
135
+ ? allRates.filter((r) => r.stateRoute != null && routeMatches(stateRoute, routeDesignation(r.stateRoute)))
136
+ : allRates;
137
+ // Page the matching set so structuredContent and content[] carry the identical page (the
138
+ // service stays fetch-only; filtering and paging are tool-handler concerns). totalCount
139
+ // stays the full match count so the agent knows how much lies beyond this page.
140
+ const totalCount = matched.length;
115
141
  const offset = input.offset ?? 0;
116
142
  const limit = input.limit ?? DEFAULT_LIMIT;
117
- const rates = allRates.slice(offset, offset + limit);
143
+ const requested = matched.slice(offset, offset + limit);
144
+ const rates = fitPageToBudget(requested, renderTollRate, stateRoute);
118
145
  const hasMore = offset + rates.length < totalCount;
119
146
  const nextOffset = hasMore ? offset + rates.length : null;
120
147
  ctx.log.info('Toll rates fetched', { totalCount, offset, limit, returned: rates.length });
121
- ctx.enrich({ totalCount, nextOffset, hasMore });
122
- if (totalCount === 0) {
148
+ ctx.enrich({
149
+ totalCount,
150
+ nextOffset,
151
+ hasMore,
152
+ ...(stateRoute && { appliedFilters: { stateRoute } }),
153
+ });
154
+ if (allRates.length === 0) {
123
155
  ctx.enrich.notice('No toll rate data available. The WSDOT API may be temporarily unavailable — retry in 30 seconds.');
124
156
  }
157
+ else if (totalCount === 0) {
158
+ // Dedupe the designations, not the raw values — "099" and "99" are one facility.
159
+ const tolled = [
160
+ ...new Set(allRates
161
+ .flatMap((r) => (r.stateRoute ? [r.stateRoute] : []))
162
+ .toSorted((a, b) => Number.parseInt(a, 10) - Number.parseInt(b, 10))
163
+ .map(routeDesignation)),
164
+ ];
165
+ ctx.enrich.notice(`No tolled facility on ${stateRoute}. The feed carries tolls on ${tolled.join(', ')} — pass one of those, or omit stateRoute for every facility.`);
166
+ }
125
167
  else if (rates.length === 0) {
126
168
  ctx.enrich.notice(`Offset ${offset} is past the end of ${totalCount} toll rate entries. Use an offset between 0 and ${totalCount - 1}.`);
127
169
  }
128
170
  else {
129
- const window = `Showing toll rates ${offset + 1}–${offset + rates.length} of ${totalCount}.`;
130
- ctx.enrich.notice(hasMore ? `${window} Pass offset=${nextOffset} for the next page.` : window);
171
+ const shown = `Showing toll rates ${offset + 1}–${offset + rates.length} of ${totalCount}.`;
172
+ ctx.enrich.notice(nextOffset === null
173
+ ? shown
174
+ : `${shown} ${continuationNotice(nextOffset, rates.length < requested.length)}`);
131
175
  }
132
176
  return { rates };
133
177
  },
@@ -135,42 +179,42 @@ export const getTollRates = tool('wsdot_get_toll_rates', {
135
179
  if (result.rates.length === 0) {
136
180
  return [{ type: 'text', text: 'No toll rate data available.' }];
137
181
  }
138
- const lines = [];
139
- for (const r of result.rates) {
140
- // tripName is an opaque upstream key ("099tp03268"); the endpoint names read as a segment,
141
- // so they lead. A segment whose ends carry the same name collapses to one.
142
- const ends = [r.startLocationName, r.endLocationName].filter(Boolean);
143
- const segment = [...new Set(ends)].join(' → ');
144
- lines.push(`### ${segment || r.tripName || 'Toll segment'}`);
145
- if (r.tripName)
146
- lines.push(`**Trip:** ${r.tripName}`);
147
- if (r.stateRoute)
148
- lines.push(`**Route:** ${routeDesignation(r.stateRoute)}`);
149
- if (r.travelDirection)
150
- lines.push(`**Direction:** ${r.travelDirection}`);
151
- if (r.startLocationName)
152
- lines.push(`**From:** ${r.startLocationName}`);
153
- if (r.endLocationName)
154
- lines.push(`**To:** ${r.endLocationName}`);
155
- if (r.startMilepost != null)
156
- lines.push(`**Start MP:** ${r.startMilepost}`);
157
- if (r.endMilepost != null)
158
- lines.push(`**End MP:** ${r.endMilepost}`);
159
- if (r.tollRateInDollars != null)
160
- lines.push(`**Rate:** $${r.tollRateInDollars.toFixed(2)}`);
161
- if (r.message)
162
- lines.push(`**Message:** ${r.message}`);
163
- const startCoords = coordinatePair(r.startLatitude, r.startLongitude);
164
- if (startCoords)
165
- lines.push(`**Start Coords:** ${startCoords}`);
166
- const endCoords = coordinatePair(r.endLatitude, r.endLongitude);
167
- if (endCoords)
168
- lines.push(`**End Coords:** ${endCoords}`);
169
- if (r.timeUpdated)
170
- lines.push(`**Updated:** ${r.timeUpdated}`);
171
- lines.push('');
172
- }
173
- return [{ type: 'text', text: lines.join('\n') }];
182
+ return [{ type: 'text', text: renderPage(result.rates, renderTollRate) }];
174
183
  },
175
184
  });
185
+ /** One toll rate's `content[]` block — shared by `format()` and the page-budget charge. */
186
+ function renderTollRate(r) {
187
+ // tripName is an opaque upstream key ("099tp03268"); the endpoint names read as a segment,
188
+ // so they lead. A segment whose ends carry the same name collapses to one.
189
+ const ends = [r.startLocationName, r.endLocationName].filter(Boolean);
190
+ const segment = [...new Set(ends)].join(' → ');
191
+ const lines = [`### ${segment || r.tripName || 'Toll segment'}`];
192
+ if (r.tripName)
193
+ lines.push(`**Trip:** ${r.tripName}`);
194
+ if (r.stateRoute)
195
+ lines.push(`**Route:** ${routeDesignation(r.stateRoute)}`);
196
+ if (r.travelDirection)
197
+ lines.push(`**Direction:** ${r.travelDirection}`);
198
+ if (r.startLocationName)
199
+ lines.push(`**From:** ${r.startLocationName}`);
200
+ if (r.endLocationName)
201
+ lines.push(`**To:** ${r.endLocationName}`);
202
+ if (r.startMilepost != null)
203
+ lines.push(`**Start MP:** ${r.startMilepost}`);
204
+ if (r.endMilepost != null)
205
+ lines.push(`**End MP:** ${r.endMilepost}`);
206
+ if (r.tollRateInDollars != null)
207
+ lines.push(`**Rate:** $${r.tollRateInDollars.toFixed(2)}`);
208
+ if (r.message)
209
+ lines.push(`**Message:** ${r.message}`);
210
+ const startCoords = coordinatePair(r.startLatitude, r.startLongitude);
211
+ if (startCoords)
212
+ lines.push(`**Start Coords:** ${startCoords}`);
213
+ const endCoords = coordinatePair(r.endLatitude, r.endLongitude);
214
+ if (endCoords)
215
+ lines.push(`**End Coords:** ${endCoords}`);
216
+ if (r.timeUpdated)
217
+ lines.push(`**Updated:** ${r.timeUpdated}`);
218
+ return lines.join('\n');
219
+ }
176
220
  //# sourceMappingURL=get-toll-rates.tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-toll-rates.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-toll-rates.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-toll-rates.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-toll-rates.tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-travel-times.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-travel-times.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAOjE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyPzB,CAAC"}
1
+ {"version":3,"file":"get-travel-times.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/get-travel-times.tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAqEjE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2JzB,CAAC"}