Live snapshots from ~29,000 public cameras across 11 countries — traffic, weather, webcams
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"openeagleeye": {
"args": [
"-y",
"openeagleeye"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
MCP server that gives AI agents instant access to public camera feeds worldwide. One HTTP GET, sub-second captures, no browser automation, no stream decoding.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'openeagleeye' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked openeagleeye against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in maps
Real-time BART departures, trip planning, fares, stations, and advisories.
Fair meeting point discovery for AI agents with isochrone-based travel time fairness
Global weather API: forecasts, historical data, marine, ski, astronomy and timezone.
18 Google Maps tools for AI agents — geocode, search, directions, weather, and more.
MCP Security Weekly
Get CVE alerts and security updates for io.github.stuchapin909/open-eagle-eye and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
MCP server that gives AI agents instant access to public camera feeds worldwide. One HTTP GET, sub-second captures, no browser automation, no stream decoding.
Most camera APIs require authentication, serve video streams, or hide images behind JavaScript rendering. Open Eagle Eye only indexes cameras that return a JPEG or PNG on a plain HTTP GET — the simplest possible integration. Agents don't need to render pages or decode video. They just fetch an image.
The registry is self-healing. A GitHub Action runs nightly, checks every camera, retries failures before removing them, and uses vision AI to catch cameras that return error pages instead of live feeds. Dead cameras get flagged automatically.
{
"mcpServers": {
"openeagleeye": {
"command": "npx",
"args": ["-y", "openeagleeye"]
}
}
}
Or install globally:
npm install -g openeagleeye
openeagleeye
On first run, the server fetches the latest camera registry from GitHub and caches it locally in ~/.openeagleeye/. Subsequent starts refresh the cache automatically.
A valid camera URL is any endpoint that returns a JPEG or PNG on a plain HTTP GET. Most city traffic cameras, weather stations, and park cams expose exactly this. The server fetches the image, saves it to disk, and returns the file path.
| Tool | Description |
|---|---|
get_snapshot | Fetch a live image from a camera — saves to disk, returns file path |
list_cameras | Browse the registry with filters (city, location, category) |
search_cameras | Search by name, location, or category |
add_local_camera | Add a camera to your local collection |
list_local | Show your locally-added cameras |
remove_local | Delete a locally-added camera |
submit_local | Share local cameras upstream via GitHub issue |
report_camera | Report a broken or low-quality camera |
check_config | Show API key configuration status |
The registry has two layers:
add_local_camera. They persist in ~/.openeagleeye/local-cameras.json, survive restarts, and appear in list_cameras/search_cameras with source: "local". Share them upstream anytime with submit_local.Every camera has a city field. Use list_cameras with city: "Sydney" to get a short, focused list instead of dumping all cameras into context.
Every tool returns structured JSON. Snapshots save to disk and return the file path — the MCP server runs as a local subprocess, so the agent has filesystem access.
Snapshot response:
{
"success": true,
"file_path": "/home/user/.openeagleeye/snapshots/a1b2c3d4e5f6a7b8.jpg",
"size_bytes": 14579,
"content_type": "image/jpeg",
"camera": {
"id": "nyc-bb-21-north-rdwy-at-above-south-st",
"name": "BB-21 North Rdwy @ Above South St",
"city": "New York",
"location": "Manhattan, New York, USA",
"coordinates": { "lat": 40.708, "lng": -73.999 }
}
}
~32,000 cameras across eleven countries (32,096 verified):
| Country | Count | Sources |
|---|---|---|
| US | 27,184 | NYC DOT, NY 511, WSDOT, Caltrans CWWP2, CDOT CoTrip, VDOT 511, FDOT FL511, NCDOT, PennDOT 511PA, Arizona ADOT, Oregon ODOT, Nevada NDOT, Utah UDOT, Wisconsin WisDOT, New England 511, Louisiana LADOTD, Alaska DOT&PF, Missouri MoDOT |
| FI | 1,309 | Digitraffic weather cameras (Fintraffic) |
| CA | 1,292 | Ontario MTO, Alberta 511 |
| HK | 995 | Hong Kong Transport Department |
| GB | 424 | London TfL JamCams |
| NZ |