Wsdot MCP Server

WA highway conditions, ferry schedules, vessel locations, toll rates, and border waits via MCP.

Remote serverstreamable-http

What is the Wsdot MCP server?

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.

What it actually does

  • Declarative tool definitions — single file per tool, framework handles registration and validation
  • Unified error handling across all tools
  • Pluggable auth (none, jwt, oauth)
  • Swappable storage backends: in-memory, filesystem, Supabase, Cloudflare KV/R2/D1
  • Structured logging with optional OpenTelemetry tracing
  • STDIO and Streamable HTTP transports

Its toolset

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, 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

Configuration

You 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.

Adding it to your client

Being a remote server, there is no local install. You register the endpoint with your client, authorise it once, and the tools appear.

When to reach for it

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.

Caveats

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Wsdot.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the wsdot mcp server does with a few real requests.

Available tools

ToolWhat it does
wsdot_get_mountain_passesCurrent conditions for all WA mountain passes: status, road condition, traction laws, temperature, elevation.
wsdot_search_alertsActive highway alerts — incidents, construction, closures — filterable by state route, WSDOT region, and milepost range.
wsdot_get_travel_timesCurrent vs. average travel times for named WA highway corridors (I-5, I-90, SR 520, etc.) with congestion delay.
wsdot_get_toll_ratesDynamic toll rates for WA express lanes and tolled facilities: SR 99, SR 167 HOT, I-405 Express, SR 509, SR 520.
wsdot_get_border_waitsCurrent vehicle wait times at all WA/Canada land border crossings.
wsdot_search_camerasHighway camera metadata and image URLs, filterable by state route, region, and milepost range.
wsdot_get_ferry_terminalsAll WSF ferry terminals with numeric IDs needed for schedule and space lookups.
wsdot_get_ferry_routesWSF routes operating on a given date — route ID, abbreviation, and description for each, for route discovery and ferry-alert cross-reference.
wsdot_get_ferry_scheduleDeparture times for a specific WSF route — today-remaining or full-day future mode.
wsdot_get_vessel_locationsReal-time AIS positions, speed, heading, ETA, and dock status for all active WSF vessels.
wsdot_get_terminal_spaceDrive-up and reservable vehicle space available at WSF terminals for upcoming sailings.
wsdot_get_ferry_alertsActive WSF service disruptions and bulletins with impacted route IDs.
PrerequisitesThe Prerequisites tool exposed by this server.
InstallationThe Installation tool exposed by this server.

How to install the Wsdot MCP 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.

Configuration

VariableDescriptionRequired
MCP_TRANSPORT_TYPEConfiguration value read at startup.Optional
MCP_LOG_LEVELConfiguration value read at startup.Optional
WSDOT_ACCESS_CODEConfiguration value read at startup.Optional
MCP_HTTP_HOSTEndpoint or connection string the server talks to.Optional
MCP_HTTP_ENDPOINT_PATHFilesystem location the server is allowed to use.Optional
MCP_PUBLIC_URLEndpoint or connection string the server talks to.Yes

Example prompts to try

  • Use Wsdot to wsdot get mountain passes.
  • Use Wsdot to wsdot search alerts.
  • Use Wsdot to wsdot get travel times.

Frequently asked questions

It connects Wsdot to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (wsdot_get_mountain_passes, wsdot_search_alerts, wsdot_get_travel_times, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Wsdot directly.