
Vancam
io.github.shughestrPublished by GitHub account shughestrv0.1.0Updated Oct 24, 2026
Search 1M+ live traffic cameras worldwide by bounds, radius, route, or nearest point.
Overview
Lets an assistant search over a million live traffic cameras worldwide by map area, radius, route, or nearest point, and fetch live camera frames.
- What you can do
- Provides tools to list cameras inside a bounding box, find cameras within a radius of a point, find cameras along a straight-line corridor between two points, and get the nearest cameras to a point. A separate tool fetches a camera's live frame by asset ID and returns the image data directly in the tool result. A documentation tool describes search modes, camera fields, and image URL patterns. Results include fields such as asset_id, coordinates, street address, direction, camera class, and location levels.
- When to use it
- Useful when an assistant needs current roadside or traffic-camera information for a location, corridor, or route, for example checking conditions near a point or along a drive. Also useful when a live camera image should be returned to the conversation rather than just a link.
- Requirements
- Runs locally as a Python package (uvx vancam-mcp or pip install vancam-mcp) over stdio, and is registered in an MCP client such as Claude Desktop or Claude Code. Network access to the Vancam API is required. An optional VANCAM_API_KEY environment variable raises rate limits; without it a shared, rate-limited key is used.
Installation
In SourceWeft
- Open Vancam in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Vancam MCP Server
Vancam.ai — Traffic Cameras & Road Conditions — as an MCP (Model Context Protocol) server. Gives AI agents live access to the same camera network behind Vancam's road-condition data: over 1 million traffic cameras worldwide, searchable by map bounds, radius, route, or nearest point.
- 🔍 Search cameras by bounding box, radius, route corridor, or nearest-to-point
- 📸 Fetch live frames by camera asset ID, returned directly in the tool result
- 🌐 Real-time data from the same backend that powers the Vancam.ai map
- 🤖 AI-ready — built with FastMCP, works with Claude Desktop, Claude Code, and any MCP-compatible client
Quick Start
Option A: Install from PyPI
Option B: Clone and install dependencies
2. (Optional) Set up an API key
Requests work out of the box using a shared, rate-limited key (1 req/s, 500/month, pooled across all anonymous users). For higher limits, grab a free personal key from your Vancam.ai account page and set it as an environment variable:
3. Register the server with your MCP client
For Claude Desktop or Claude Code, add to your MCP config. If installed from PyPI (Option A):
If running from a local clone (Option B, see .mcp.json in this repo):
VANCAM_API_KEY is optional — leave it blank to use the shared, rate-limited key.
Restart your client, and the tools below become available.
Available Tools
list_cameras
List cameras within a bounding box — the same query the VanCam map runs on pan/zoom.
get_cameras_by_radius
Get cameras within a radius of a point.
get_cameras_along_route
Get cameras along a straight-line corridor between two points.
Results are sorted by route_fraction (0 = origin, 1 = destination). Note: this is a straight line between the two points, not a driving route.
get_nearest_cameras
Get the closest cameras to a point.
get_camera_image
Fetch a camera's live frame by asset ID, returned as image data in the tool result (not just a URL — the image endpoint requires an API key header that most MCP clients can't attach themselves).
describe_camera_api
Returns documentation for all search modes, camera fields, and image URL patterns. Call this first if you're unsure which tool to use.
API Reference
Every search tool queries the same spatial API that backs the Vancam.ai map:
Each camera includes asset_id, latitude, longitude, street_address, direction, camera_class (open/premium), level1/level2/level3 (country/state/city), distance_meters (radius/nearest searches), route_fraction (route search), and image_url/image_urls.
Full schema: openapi.yaml.
Environment overrides: VANCAM_API_KEY, VANCAM_CAMERAS_SEARCH_URL, VANCAM_API_IMAGE_URL
Project Structure
Related Projects
- Vancam.ai — Web interface for traffic cameras
- Model Context Protocol — MCP specification
- Vancam GPT — Same data, packaged as a ChatGPT GPT
Contributing
Contributions are welcome — feel free to open an issue or submit a pull request.
License
MIT — see LICENSE.
Source: README.md at commit 1a3db75
Tools
0Version history
1- v0.1.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts