WorldEye

WorldEye MCP cung cấp cho các tác nhân AI quyền truy cập chỉ đọc vào phần danh mục camera trực tiếp của WorldEye đã được cấp phép phân phối lại — gồm hàng chục nghìn camera công cộng, mỗi bản ghi đều ghi công cơ quan vận hành — cùng với nguồn dữ liệu động đất của USGS. Có năm công cụ: tìm kiếm camera, xem chi tiết camera, tìm camera gần một địa điểm, xem các trận động đất mới nhất và kiểm tra mức sử dụng khóa API. API chỉ cung cấp siêu dữ liệu, ảnh chụp nhanh và liên kết xem — không có URL luồng trực tiếp; việc xem diễn ra trên WorldEye.

Máy chủ MCP được lưu trữ

npx add-mcp 'https://worldeye.app/api/v1/mcp'

Cài vào Claude Code, Codex, Cursor và nhiều công cụ khác

Tài liệu

The live camera catalogue, as an API

Search tens of thousands of public cameras — the ones cleared for redistribution, with the operating agency credited on every record — and the USGS earthquake feed, from your own code or from an AI agent over MCP. Read-only, key-authenticated, with a free tier you can start on in under a minute.

Quickstart

1. Sign in and create a key in Account Settings → API keys. The key (it starts wek_) is shown once — store it somewhere safe. 2. Send it on every request, either as a bearer token or in the X-Api-Key header:

curl "https://worldeye.app/api/v1/cameras?country=Japan&limit=5" \
  -H "Authorization: Bearer wek_YOUR_KEY"

Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers for your plan's daily quota.

Endpoints

GET /api/v1/cameras

Search the redistribution-cleared camera catalogue.

  • q — text match over name, city, country and source
  • country — a full country name ("Japan") or ISO alpha-2 code ("JP")
  • kind — video, snapshot, embed or link
  • near=<lat>,<lng> or place=<name> — radius search, nearest first; radius_km defaults to 50 (max 500)
  • limit (default 20, max 100) and offset paginate the filtered set

GET /api/v1/cameras/<id>

One camera by id. A camera outside the cleared catalogue is a 404, exactly as if it didn't exist.

GET /api/v1/cameras/<id>/snapshot

The camera's current still: a 302 redirect to the snapshot URL the detail payload carries. Stream-only cameras answer 404 with the reason.

GET /api/v1/earthquakes

The site's earthquake layer: USGS magnitude 2.5+ events from the last 24 hours (US federal public-domain data). limit caps the list (max 500).

GET /api/v1/usage

Your key's plan tier, limits and today's usage. Checking usage does not consume quota.

The camera object

{
  "id": "…",
  "name": "…",
  "city": "…",
  "country": "…",
  "lat": 35.681,
  "lng": 139.767,
  "snapshotUrl": "https://worldeye.app/api/cctv/frame?id=…",   // null for stream-only cameras
  "watchUrl": "https://worldeye.app/?camera=…",                // opens the camera on the globe
  "attribution": "… via WorldEye",                // credit this agency
  "source": "…"
}

The API serves metadata, snapshots and deep links — watching a camera live happens on WorldEye, through its watchUrl. Every record carries the operating agency in attribution; keep that credit wherever you display the data.

Rate limits

Limits follow the key owner's WorldEye plan and reset at UTC midnight. One ladder, enforced identically on REST and MCP:

PlanRequests / dayBurst / minute
Free10010
Lite1,00030
Pro (incl. VIP Pro Annual)5,00060
Ultra & legacy VIP Pro Annual25,000120
Enterprise100,000300

Over the daily quota the API answers 429 daily_quota_exceeded; over the burst limit, 429 rate_limited — both with a Retry-After header. Errors everywhere share one shape: { "error": { "code", "message" } }.

MCP — for AI agents

The same catalogue is a Model Context Protocol server (Streamable HTTP) at https://worldeye.app/api/v1/mcp. Configure your MCP client with that URL and your key as a header — the key never travels as a tool argument:

{
  "mcpServers": {
    "worldeye": {
      "url": "https://worldeye.app/api/v1/mcp",
      "headers": { "Authorization": "Bearer wek_YOUR_KEY" }
    }
  }
}
  • search_cameras — text, country and kind search
  • get_camera — one camera by id
  • cameras_near — radius search around coordinates or a named place
  • latest_earthquakes — the USGS M2.5+ feed, last 24 hours
  • get_usage — the calling key's tier and remaining quota

Mistral Le Chat — connectable today

Le Chat takes custom MCP connectors, so WorldEye connects today:

  1. Open Intelligence → Connectors, choose Add Connector, then Custom MCP Connector.
  2. Name it WorldEye and set the server URL to https://worldeye.app/api/v1/mcp.
  3. Under Authentication choose API Token: header name Authorization, value Bearer wek_YOUR_KEY, using a key from API keys.
  4. Create the connector, then use Enable Tools to switch on the tools you want Le Chat to call.

Claude Code, Claude Desktop and other config-file clients

Any MCP client that reads a JSON config connects with the snippet above — Claude Code and Claude Desktop included. The key always travels in the Authorization header, never as a tool argument. The server is also published on the official MCP Registry as app.worldeye/worldeye v1.0.0.

ChatGPT and the Claude Directory — not listed yet

WorldEye is not yet listed in the ChatGPT app directory or the Claude Directory, so there is no in-app add button for it today. A ChatGPT listing needs a verified OpenAI developer account and OpenAI's review; a Claude Directory listing needs a paid Claude plan and Anthropic's review — both are publisher-side steps WorldEye has not completed. Developers building on the OpenAI API can still attach the server directly as a remote MCP server, with the same URL and Authorization header.

Fair use

The catalogue only contains cameras whose operators clear them for redistribution, and a source can be withdrawn — when it is, its cameras leave the API at once. Credit each camera's listed source, don't re-present snapshots as a live video feed, and cache politely: responses are cacheable for a minute and snapshots change on the operator's schedule, not yours. Keys are per-user; a revoked key stops working immediately.

Building something bigger?

The API is the self-serve route. If what you're building could be a partnership — a deeper integration, a co-branded experience, a data exchange — WorldEye is actively looking for strategic partners, and the application takes five minutes.