WA highway conditions, ferry schedules, vessel locations, toll rates, and border waits via MCP.
WA highway conditions, ferry schedules, vessel locations, toll rates, and border waits via MCP. The wsdot mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 14 defined tools rather than through you.
Everything the assistant can do here goes through one of these:
wsdot_get_mountain_passes — Current conditions for all WA mountain passes: status, road condition, traction laws, temperature, elevationwsdot_search_alerts — Active highway alerts — incidents, construction, closures — filterable by state route, WSDOT region, and milepost rangewsdot_get_travel_times — Current vs. average travel times for named WA highway corridors (I-5, I-90, SR 520, etc.) with congestion delaywsdot_get_toll_rates — Dynamic toll rates for WA express lanes and tolled facilities: SR 99, SR 167 HOT, I-405 Express, SR 509, SR 520wsdot_get_border_waits — Current vehicle wait times at all WA/Canada land border crossingswsdot_search_cameras — Highway camera metadata and image URLs, filterable by state route, region, and milepost rangewsdot_get_ferry_terminals — All WSF ferry terminals with numeric IDs needed for schedule and space lookupswsdot_get_ferry_routes — WSF routes operating on a given date — route ID, abbreviation, and description for each, for route discovery and ferry-alert cross-referencewsdot_get_ferry_schedule — Departure times for a specific WSF route — today-remaining or full-day future modewsdot_get_vessel_locations — Real-time AIS positions, speed, heading, ETA, and dock status for all active WSF vesselswsdot_get_terminal_space — Drive-up and reservable vehicle space available at WSF terminals for upcoming sailingswsdot_get_ferry_alerts — Active WSF service disruptions and bulletins with impacted route IDsYou will need 6 environment variables: MCP_TRANSPORT_TYPE, MCP_LOG_LEVEL, WSDOT_ACCESS_CODE, MCP_HTTP_HOST, MCP_HTTP_ENDPOINT_PATH, MCP_PUBLIC_URL. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
Being a remote server, there is no local install. You register the endpoint with your client, authorise it once, and the tools appear.
Plenty of file and storage access servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Wsdot's toolset — wsdot_get_mountain_passes, wsdot_search_alerts, wsdot_get_travel_times and 11 more — is a fair guide to whether it matches your workflow. It is maintained by cyanheads; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| wsdot_get_mountain_passes | Current conditions for all WA mountain passes: status, road condition, traction laws, temperature, elevation. |
| wsdot_search_alerts | Active highway alerts — incidents, construction, closures — filterable by state route, WSDOT region, and milepost range. |
| wsdot_get_travel_times | Current vs. average travel times for named WA highway corridors (I-5, I-90, SR 520, etc.) with congestion delay. |
| 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. |
| wsdot_get_border_waits | Current vehicle wait times at all WA/Canada land border crossings. |
| wsdot_search_cameras | Highway camera metadata and image URLs, filterable by state route, region, and milepost range. |
| wsdot_get_ferry_terminals | All WSF ferry terminals with numeric IDs needed for schedule and space lookups. |
| 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. |
| wsdot_get_ferry_schedule | Departure times for a specific WSF route — today-remaining or full-day future mode. |
| wsdot_get_vessel_locations | Real-time AIS positions, speed, heading, ETA, and dock status for all active WSF vessels. |
| wsdot_get_terminal_space | Drive-up and reservable vehicle space available at WSF terminals for upcoming sailings. |
| wsdot_get_ferry_alerts | Active WSF service disruptions and bulletins with impacted route IDs. |
| Prerequisites | The Prerequisites tool exposed by this server. |
| Installation | The Installation tool exposed by this server. |
{
"mcpServers": {
"wsdot-mcp-server": {
"type": "stdio",
"command": "bunx",
"args": ["@cyanheads/wsdot-mcp-server@latest"],
"env": {
"MCP_TRANSPORT_TYPE": "stdio",
"MCP_LOG_LEVEL": "info",
"WSDOT_ACCESS_CODE": "your-access-code"
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| MCP_TRANSPORT_TYPE | Configuration value read at startup. | Optional |
| MCP_LOG_LEVEL | Configuration value read at startup. | Optional |
| WSDOT_ACCESS_CODE | Configuration value read at startup. | Optional |
| MCP_HTTP_HOST | Endpoint or connection string the server talks to. | Optional |
| MCP_HTTP_ENDPOINT_PATH | Filesystem location the server is allowed to use. | Optional |
| MCP_PUBLIC_URL | Endpoint or connection string the server talks to. | Yes |
Scoped local file access — read, write, search and reorganise files in directories you explicitly allow.
Search and read your Drive — Docs, Sheets and files become context your assistant can actually use.
Query, modify and analyse local SQLite databases in conversation — the fastest way to chat with a data file.
Build a programmable telecommunications stack for connecting telephony services with the Internet via a cloud-based utility.
Chat with your second brain — search, read and write vault notes through the Local REST API.
Connects AI models to an Obsidian knowledge base for direct access and manipulation of notes and folders.