
Open Eagle Eye
io.github.stuchapin909由 GitHub 帳號 stuchapin909 發布v8.0.0更新於 Oct 27, 2026
Live snapshots from ~29,000 public cameras across 11 countries — traffic, weather, webcams
概覽
讓助理瀏覽約 2.9 萬個公共交通、天氣與網路攝影機,並抓取即時 JPEG/PNG 快照存到本機磁碟。
- 可以做什麼
- 依城市、地點、類別或名稱瀏覽與搜尋攝影機清冊
- 抓取攝影機即時快照,存到磁碟並回傳檔案路徑
- 管理本機攝影機清單:新增、列出、刪除並向上游提交
- 回報損壞或畫質不佳的攝影機,查看 API 金鑰設定狀態
- 適用情境
- 適合需要助理取得公共交通、天氣、高速公路或城市攝影機目前畫面,或想維護自己的直連圖片攝影機清單以便反覆抓圖的情境。
- 執行需求
- 以 npm 套件形式透過 stdio 在本機執行(npx 或全域安裝),需要 Node.js 與網路存取:啟動時從 GitHub 取得清冊,並需能連線各攝影機主機。部分攝影機需要選用的 API 金鑰,放在使用者家目錄下的設定檔。向上游提交本機攝影機需要已登入的 gh CLI。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Open Eagle Eye,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Open Eagle Eye
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.
Why
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.
Quick start
Or install globally:
On first run, the server fetches the latest camera registry from GitHub and caches it locally in ~/.openeagleeye/. Subsequent starts refresh the cache automatically.
How it works
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.
MCP Tools
Upstream vs local cameras
The registry has two layers:
- Upstream — the global registry fetched from GitHub on every server start. These are the ~32,000 validated public cameras.
- Local — cameras you add yourself via
add_local_camera. They persist in~/.openeagleeye/local-cameras.json, survive restarts, and appear inlist_cameras/search_cameraswithsource: "local". Share them upstream anytime withsubmit_local.
Filtering
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.
Output format
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:
Registry
~32,000 cameras across eleven countries (32,096 verified):
Every camera has country, city, location, timezone, and coordinates (lat/lng).
Self-healing
A GitHub Action runs nightly at 3 AM UTC:
- Checks cameras not validated in the last 7 days, plus any flagged as suspect
- First failure marks as suspect, second consecutive failure removes and opens a GitHub issue
- Vision AI (GPT-4o-mini via GitHub Models) catches cameras returning error pages
- Suspect cameras that recover are cleared automatically
Security
- SSRF protection — blocks private IPs, cloud metadata endpoints, non-HTTP protocols, and DNS rebinding
- Content-type whitelist — only
image/jpegandimage/pngaccepted - Magic byte detection — validates JPEG/PNG by file header when CDN returns wrong content-type
- Push/PR cap — max 500 cameras per push to prevent DoS via oversized PRs
- Random filenames — snapshots use random hex filenames, no camera ID in the path
API Keys (optional)
Most cameras work out of the box. Some require a free API key. If a snapshot fails with a key error, the response tells you where to sign up and how to configure it.
Create ~/.openeagleeye/config.json:
Use check_config to see which cameras need keys and whether yours are set.
Adding cameras
- Find a direct-image URL (must return
image/jpegorimage/pngon plain GET) add_local_camerawith the URL, city, location, timezone, and optional coordinatesget_snapshotto test itsubmit_localto share upstream — requires theghCLI (gh auth login)
Local cameras work immediately and don't need upstream approval to be useful.
Good sources: city DOTs, weather stations, ski resorts, national parks, ports, airports.
File layout
All runtime data lives in ~/.openeagleeye/:
Contributing
Pull requests welcome. See CONTRIBUTING.md for guidelines on adding camera sources.
Why this exists
See WHY.md for the reasoning behind the project's design decisions, how it compares to other camera services, and why agent-native and self-healing matter.
Privacy & security
See SECURITY.md for answers to common questions about surveillance, data collection, private cameras, and the security architecture.
License
MIT
來源:README.md,提交 62654d5
工具
0版本歷史
1- v8.0.0最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分