github Python analyzed 7c67133

nicglazkov/ca-roads-mcp

github

Live California road map, route planner, and AI assistant - plus an MCP server so any assistant gets CHP incidents, Caltrans closures, chain controls, cameras, and wildfires.

maintainer
nicglazkov
license
MIT
first seen
2026-07-07
last seen
2026-07-13
releases · 30d
48
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 10 tools
transport stdio · streamable-http · http counts 10 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • check_region
  • check_route
  • get_cameras
  • get_chain_controls
  • get_incidents
  • get_lane_closures
  • get_nearby_events
  • get_road_signs
  • get_wildfires
  • rank_routes
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 7c67133 · analyzer v28 · 2d ago

skills & prompt files 1

danger signals1

code evidence vv2.20.2 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 83

filesystem 5

  • fs nicglazkov-commutescout-7c67133/evals/fixture_mode.py :12 from pathlib import Path
  • fs nicglazkov-commutescout-7c67133/evals/record.py :22 from pathlib import Path
  • fs nicglazkov-commutescout-7c67133/evals/run_evals.py :28 from pathlib import Path
  • fs nicglazkov-commutescout-7c67133/src/ca_roads_demo/app.py :19 from pathlib import Path
  • fs nicglazkov-commutescout-7c67133/src/ca_roads_demo/trips.py :22 from pathlib import Path

network 18

  • net nicglazkov-commutescout-7c67133/evals/fixture_mode.py :14 import httpx
  • net nicglazkov-commutescout-7c67133/evals/record.py :24 import httpx
  • net nicglazkov-commutescout-7c67133/src/ca_roads/feeds/bay511.py :12 import httpx
  • net nicglazkov-commutescout-7c67133/src/ca_roads/feeds/calfire.py :19 import httpx
  • net nicglazkov-commutescout-7c67133/src/ca_roads/feeds/chains.py :19 import httpx
  • net nicglazkov-commutescout-7c67133/src/ca_roads/feeds/chp.py :18 import httpx
  • net nicglazkov-commutescout-7c67133/src/ca_roads/feeds/lcs.py :15 import httpx
  • net nicglazkov-commutescout-7c67133/src/ca_roads/feeds/nvroads.py :15 import httpx
  • net nicglazkov-commutescout-7c67133/src/ca_roads/feeds/nws.py :15 import httpx
  • net nicglazkov-commutescout-7c67133/src/ca_roads/feeds/portal.py :22 import httpx
  • net nicglazkov-commutescout-7c67133/src/ca_roads/feeds/quakes.py :13 import httpx
  • net nicglazkov-commutescout-7c67133/src/ca_roads/feeds/tomtom.py :15 import httpx
  • net nicglazkov-commutescout-7c67133/src/ca_roads/feeds/wildfire.py :15 import httpx
  • net nicglazkov-commutescout-7c67133/src/ca_roads/roaddata.py :14 import httpx
  • net nicglazkov-commutescout-7c67133/src/ca_roads_demo/analytics.py :16 import httpx
  • net nicglazkov-commutescout-7c67133/src/ca_roads_demo/states.py :29 from urllib.parse import quote
  • net nicglazkov-commutescout-7c67133/src/ca_roads_demo/watch.py :29 from urllib.parse import urlparse
  • net nicglazkov-commutescout-7c67133/src/ca_roads_mcp/geocode.py :24 import httpx

secrets 7

  • secrets nicglazkov-commutescout-7c67133/src/ca_roads/feeds/bay511.py :22 return os.environ.get("BAY511_API_KEY") or None
  • secrets nicglazkov-commutescout-7c67133/src/ca_roads/feeds/nvroads.py :25 return os.environ.get("NVROADS_API_KEY") or None
  • secrets nicglazkov-commutescout-7c67133/src/ca_roads/feeds/tomtom.py :27 return os.environ.get("TOMTOM_API_KEY") or None
  • secrets nicglazkov-commutescout-7c67133/src/ca_roads_demo/analytics.py :67 token = os.environ.get("CLOUDFLARE_API_TOKEN", "")
  • secrets nicglazkov-commutescout-7c67133/src/ca_roads_demo/app.py :1059 "enabled": bool(os.environ.get("TOMTOM_API_KEY"))},
  • secrets nicglazkov-commutescout-7c67133/src/ca_roads_demo/states.py :423 return os.environ.get("WSDOT_API_KEY", "")
  • secrets nicglazkov-commutescout-7c67133/src/ca_roads_demo/watch.py :52 RESEND_API_KEY = os.environ.get("RESEND_API_KEY", "")

tool registrations 10

  • check_route nicglazkov-commutescout-7c67133/src/ca_roads_mcp/server.py :266
  • check_region nicglazkov-commutescout-7c67133/src/ca_roads_mcp/server.py :609
  • get_incidents nicglazkov-commutescout-7c67133/src/ca_roads_mcp/server.py :752
  • get_lane_closures nicglazkov-commutescout-7c67133/src/ca_roads_mcp/server.py :827
  • get_chain_controls nicglazkov-commutescout-7c67133/src/ca_roads_mcp/server.py :895
  • get_wildfires nicglazkov-commutescout-7c67133/src/ca_roads_mcp/server.py :950
  • rank_routes nicglazkov-commutescout-7c67133/src/ca_roads_mcp/server.py :1047
  • get_cameras nicglazkov-commutescout-7c67133/src/ca_roads_mcp/server.py :1184
  • get_road_signs nicglazkov-commutescout-7c67133/src/ca_roads_mcp/server.py :1240
  • get_nearby_events nicglazkov-commutescout-7c67133/src/ca_roads_mcp/server.py :1282

declared dependencies 14

  • mcp@>=1.9
  • httpx@>=0.27
  • tzdata@; sys_platform ==
  • anthropic@>=0.40
  • google-auth@>=2.30
  • google-cloud-firestore@>=2.16
  • google-cloud-bigquery@>=3.20
  • pillow@>=10
  • pywebpush@>=2.0
  • pytest@>=8
  • pytest-asyncio@>=0.24
  • respx@>=0.21
  • ruff@>=0.6
  • pyyaml@>=6

transport_posture 1

  • binds all interfaces (0.0.0.0) nicglazkov-commutescout-7c67133/src/ca_roads_demo/app.py :1736 uvicorn.run(app, host="0.0.0.0", port=int(os.environ.get("PORT", 8081)))