CommuteScout watches 13 public agency feeds (CHP dispatch, Caltrans
closures, chain controls, cameras and message signs, wildfire
perimeters, weather) and turns them into one live picture of
California's roads. Look at the map, plan a route and see what's
actually on it, or just ask about a drive in plain English. The same
data is served over MCP, so Claude and other AI
assistants can use it as a tool instead of guessing about traffic.
What you get
- A live statewide map: incidents by type, closures by class,
chain controls, wildfires with burn footprints, weather stations,
~3,300 verified-live cameras, and every message sign currently
displaying something.
- A route planner that knows the roads: autocomplete, route
options, turn-by-turn directions, live conditions along the way, and
print / GPX / KML / share-link export.
- An assistant that reads the feeds: plan a route, tap a suggested
question, and the answer streams in from the same live data, with
per-source timestamps.
- Watch areas: draw a circle, polygon, or route corridor and get a
push or email alert when an incident, closure, chain control, or
wildfire appears inside it.
- An MCP server: nine tools over curated corridors and regions,
with a closure taxonomy
that keeps a closed on-ramp from reading as a closed highway.
- Public evals: 91 golden questions on recorded fixtures gate
every release; the scorecard and its history are
committed to this repo.
 Plan a trip. Autocomplete, route options, directions, print or export. |  Ask about it. One tap on a suggested question; the answer reads the live feeds. |  Or just look. Every layer toggleable, from full closures to blank signs. |
Get started
The fastest way to use CommuteScout is the hosted app:
commutescout.com. Nothing to run,
always on the latest release, feeds already warm.
| commutescout.com | Self-hosted |
|---|
| Setup | None, just open it | pip install or Cloud Run deploy |
| Updates & feeds | Always current, managed | You redeploy and manage keys |
| AI assistant | Included | Bring your own Anthropic API key |
| Watch-area alerts | Included (invite-only trial) | Extra setup: Firestore, push keys, a scheduler |
| Upcoming premium features | Land here first | Not planned |
| Support | Actively maintained | Best effort via issues |
Add to Claude
Give Claude live road data with a custom connector:
https://mcp.commutescout.com/mcp
Local stdio setup and the full tool reference: docs/mcp.md.
Self-hosting (advanced)
Everything here is MIT licensed and the core runs with zero accounts or
keys:
{
"mcpServers": {
"commutescout": {
"command": "uvx",
"args": ["--from", "git+https://github.com/nicglazkov/commutescout", "ca-roads-mcp"]
}
}
}
The web app is pip install ".[demo]" then ca-roads-demo with an
ANTHROPIC_API_KEY in the environment. For your own Cloud Run copy
(small enough for the free tier most months), optional feed keys, and
the watch-areas setup, see docs/deploy.md.
Self-hosted deployments are supported on a best-effort basis: issues
and PRs are very welcome, but there is no support guarantee for
deployments I don't run.
The data
CHP incidents, Caltrans lane closures, chain controls, message signs,
cameras, and road weather; WFIGS and CAL FIRE wildfires with
perimeters; NWS alerts; USGS quakes; and optional TomTom, 511 SF Bay,
and Nevada DOT feeds. Every response carries per-source data_as_of
timestamps, and a failing feed is never silent: the last good data is
served, flagged stale, with the error attached.
Full source table, refresh rates, and the closure taxonomy:
docs/data-sources.md.
How good are the answers?
An eval suite gates every release: recorded fixtures for four scenarios
(a Sierra storm day, a fire-closure day, a quiet day, and a
byte-for-byte capture of a real fire-season day), 91 golden questions
with ground truth including traps, and an LLM judge that is never an
evaluated model. Every run appends to a committed history file, so the
trend is public: EVALS.md.
Under the hood
Three cleanly layered Python packages (a feed layer with
stale-while-revalidate caches and salvaging parsers, the MCP surface,
and the web app) sharing one data spine. Diagram and design notes:
docs/architecture.md.
Contributing
PRs welcome. The test suite is fixture-based and runs without network
access. Start with CONTRIBUTING.md, and see
adding a data source if you want to wire up
a new feed.
License & sustainability
CommuteScout is MIT licensed: the map, the planner, the MCP
server, and every data parser, with no open-core carve-outs. The hosted
app at commutescout.com will soon offer
optional premium features (deeper history, more alerts); that is what
funds the servers and keeps the free tier free.
Disclaimer
Data: CHP, Caltrans, WFIGS, CAL FIRE, NWS, USGS. Not affiliated with
any agency. Conditions change faster than any feed; verify before you
drive (511 or quickmap.dot.ca.gov).
Place names resolve through the Nominatim and Photon OpenStreetMap
geocoders; the web app loads map tiles from CARTO and route previews
from the public OSRM and Valhalla routers, so those services see the
coordinates involved. Fonts and map libraries are served locally.