关于 Vancam
Vancam 是面向 AI Agent 的交通摄像头 MCP 服务,可搜索全球摄像头并获取实时画面,适用于查询道路状况。它支持按地图边界、半径、路线走廊或距点距离搜索。
主要功能
- 01按边界框搜索摄像头
- 02按指定点周围半径搜索
- 03搜索两点间直线路廊摄像头
- 04查找距指定点最近的摄像头
- 05按资产 ID 获取实时画面
适用场景
- 01查看出发地附近的道路摄像头
- 02沿路线查询摄像头位置
- 03获取摄像头实时画面以检查路况
MCP 相关
该 MCP 服务向兼容客户端提供摄像头空间搜索、最近摄像头查询、实时画面获取及 API 说明工具。请求可使用共享限流密钥,也可配置个人 API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
6收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | |
| max_lat | number | 是 | |
| max_lon | number | 是 | |
| min_lat | number | 是 | |
| min_lon | number | 是 | |
| active_only | boolean | 否 |
详细介绍
Vancam MCP 服务
Vancam.ai — 交通摄像头与道路状况 — 作为 MCP(Model Context Protocol) 服务。让 AI Agent 能够实时访问 Vancam 道路状况数据背后的同一摄像头网络:全球超过 100 万个交通摄像头,可按地图范围、半径、路线或最近点搜索。
- 🔍 搜索摄像头:按边界框、半径、路线走廊或最近点搜索
- 📸 获取实时画面:按摄像头资源 ID 获取,并直接在工具结果中返回
- 🌐 实时数据:来自为 Vancam.ai 地图提供支持的同一后端
- 🤖 适用于 AI:基于 FastMCP 构建,可与 Claude Desktop、Claude Code 及任何兼容 MCP 的客户端配合使用
快速开始
选项 A:从 PyPI 安装
uvx vancam-mcp # or: pip install vancam-mcp
选项 B:克隆并安装依赖项
git clone https://github.com/shughestr/vancam-mcp.git
cd vancam-mcp
pip install -r requirements.txt
2.(可选)设置 API 密钥
开箱即用的请求会使用共享的限流密钥(每秒 1 个请求,每月 500 个请求,由所有匿名用户共享)。如需更高限额,请从 Vancam.ai 账户页面获取免费的个人密钥,并将其设置为环境变量:
cp .env.example .env # then edit .env
# .env
VANCAM_API_KEY=your_personal_key_here
3. 将服务注册到 MCP 客户端
对于 Claude Desktop 或 Claude Code,请将其添加到 MCP 配置中。如果从 PyPI 安装(选项 A):
{
"mcpServers": {
"vancam": {
"command": "uvx",
"args": ["vancam-mcp"],
"env": {
"VANCAM_API_KEY": ""
}
}
}
}
如果从本地克隆运行(选项 B,参见此仓库中的 .mcp.json):
{
"mcpServers": {
"vancam": {
"command": "python3",
"args": ["/absolute/path/to/vancam-mcp/vancam_mcp/server.py"],
"env": {
"VANCAM_API_KEY": ""
}
}
}
}
VANCAM_API_KEY 为可选项 — 留空即可使用共享的限流密钥。
重启客户端后,即可使用以下工具。
可用工具
list_cameras
列出边界框内的摄像头 — 与 VanCam 地图平移/缩放时执行的查询相同。
list_cameras(min_lat=49.2, min_lon=-123.2, max_lat=49.3, max_lon=-123.0, limit=50)
| 参数 | 类型 | 描述 |
|---|---|---|
min_lat、min_lon、max_lat、max_lon | float | 边界框(WGS84) |
limit | int,可选 | 结果数量上限,1–100(默认值为 100) |
active_only | bool,可选 | 仅包含 camera_class=open 的实时画面(默认值为 false) |
get_cameras_by_radius
获取某个点指定半径范围内的摄像头。
get_cameras_by_radius(lat=49.28, lon=-123.12, radius=1.0, limit=20)
| 参数 | 类型 | 描述 |
|---|---|---|
lat、lon | float | 中心点(WGS84) |
radius | float,可选 | 半径,单位为 km(默认值为 1.0) |
limit | int,可选 | 结果数量上限(默认值为 50) |
active_only | bool,可选 | 仅包含开放/实时摄像头 |
get_cameras_along_route
获取两点之间直线走廊沿线的摄像头。
get_cameras_along_route(
origin_lat=49.2827, origin_lon=-123.1207,
dest_lat=49.1666, dest_lon=-123.1367,
buffer=200.0, limit=50
)
| 参数 | 类型 | 描述 |
|---|---|---|
origin_lat、origin_lon、dest_lat、dest_lon | float | 路线端点 |
buffer | float,可选 | 走廊宽度,单位为米(默认值为 100.0) |
limit | int,可选 | 结果数量上限(默认值为 50) |
active_only | bool,可选 | 仅包含开放/实时摄像头 |
结果按 route_fraction 排序(0 = 起点,1 = 终点)。注意:这里使用的是两点之间的直线,而不是驾车路线。
get_nearest_cameras
获取距离某个点最近的摄像头。
get_nearest_cameras(lat=49.2827, lon=-123.1207, limit=5)
| 参数 | 类型 | 描述 |
|---|---|---|
lat、lon | float | 查询点(WGS84) |
limit | int,可选 | 摄像头数量(默认值为 5) |
active_only | bool,可选 | 仅包含开放/实时摄像头 |
get_camera_image
按资源 ID 获取摄像头的实时画面,并以图像数据的形式在工具结果中返回(而非仅返回 URL — 图像端点需要 API 密钥请求头,而大多数 MCP 客户端无法自行附加该请求头)。
get_camera_image(asset_id="30145")
describe_camera_api
返回所有搜索模式、摄像头字段和图像 URL 格式的文档。如果不确定该使用哪个工具,请先调用此工具。
API 参考
每个搜索工具都查询与 Vancam.ai 地图相同的空间 API:
| 用途 | URL |
|---|---|
| 空间搜索 | https://api.vancam.ai/cameras/cameras |
| 实时图像 | https://api.vancam.ai/api?asset_id={id} |
每个摄像头都包含 asset_id、latitude、longitude、street_address、direction、camera_class(open/premium)、level1/level2/level3(国家/州/城市)、distance_meters(半径/最近距离搜索)、route_fraction(路线搜索)以及 image_url/image_urls。
完整架构:openapi.yaml。
环境变量覆盖项: VANCAM_API_KEY、VANCAM_CAMERAS_SEARCH_URL、VANCAM_API_IMAGE_URL
项目结构
vancam-mcp/
├── vancam_mcp/
│ ├── server.py # MCP server — registers the tools above
│ └── camera_api.py # api.vancam.ai client
├── openapi.yaml # API specification
├── pyproject.toml # Package metadata (PyPI: vancam-mcp)
├── requirements.txt # Python dependencies
└── .mcp.json # Example MCP client config
相关项目
- Vancam.ai — 交通摄像头的 Web 界面
- Model Context Protocol — MCP 规范
- Vancam GPT — 相同数据,以 ChatGPT GPT 的形式提供
参与贡献
欢迎贡献——欢迎提交 issue 或拉取请求。
许可证
MIT — 详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。