使用说明
📸 camsnap mcp
MCP(模型上下文协议)服务器 照相机 --直接从Claude Desktop、Cursor或任何兼容MCP的客户端控制、捕获和分析您的IP/RTSP摄像机。
[!注意] 此MCP服务器是围绕 照相机 项目。
graph TD
Client[MCP Client e.g., Claude, Cursor] <-->|MCP JSON-RPC| Server[camsnap-mcp Server]
Server <-->|Subprocess Exec| Camsnap[camsnap CLI]
Camsnap <-->|FFmpeg / RTSP| Cameras[IP / RTSP Cameras]
Camsnap -->|Saves Assets| Disk[Local Disk / Temporary Directory]
📂 存储库结构
camsnap-mcp/
├── [pyproject.toml](file:///gorgon/ia/mcp_camsnap/pyproject.toml)
└── src/
└── camsnap_mcp/
├── __init__.py
└── [server.py](file:///gorgon/ia/mcp_camsnap/src/camsnap_mcp/server.py)
🛠️ 先决条件
在使用此MCP服务器之前,您必须 camsnap 在您的系统上安装和配置。
[!重要]
- 安装凸轮卡扣:按照以下说明操作 steipete/camsnap 安装二进制文件及其依赖项(如FFmpeg)。
- 配置摄像头:确保您有一个有效的配置文件。默认情况下,
camsnap在里面找$XDG_CONFIG_HOME/camsnap/config.yaml或~/.camsnap.yaml。您可以通过运行以下命令来验证您的设置camsnap list在你的终端。
自定义配置和温度路径
您可以使用以下环境变量配置服务器:
CAMSNAP_CONFIG:如果您的配置文件位于非标准位置,请指定其绝对路径。CAMSNAP_TMP_DIR:保存本地文件(快照、剪辑)的路径。默认为~/.camsnap/tmp.CAMSNAP_RESIZE_MAX:将其设置为像素值(例如。,1024或768)自动缩减内联返回的快照。这有助于节省LLM提示中的令牌使用,同时保持足够的详细信息以供分析。
🚀 安装
将以下内容添加到MCP客户端配置中(例如。, claude_desktop_config.json):
{
"mcpServers": {
"camsnap": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/mamorett/mcp_camsnap.git",
"mcp-camsnap"
],
"env": {
"CAMSNAP_CONFIG": "/path/to/your/camsnap.yaml",
"CAMSNAP_TMP_DIR": "/path/to/a/safe/tmp/dir",
"CAMSNAP_RESIZE_MAX": "1024"
}
}
}
}
[!提示] 使用
uvx自动处理Python服务器的下载和隔离。无手册pip install是必需的。
🔧 可用工具
此MCP服务器公开了以下工具:
| 工具 | 签名 | 描述 | 返回类型 |
|---|---|---|---|
| [列表_相机](file:///gorgon/ia/mcp_camsnap/src/camsnap_mcp/server.py#L68-L73) | list_cameras() -> str |
列出camsnap配置文件中配置的所有摄像头。 | str (摄像机列表) |
| [捕捉快照](file:///gorgon/ia/mcp_camsnap/src/camsnap_mcp/server.py#L113-L170) | capture_snap(camera_name: str) -> Image |
捕获快照并将其直接内联返回给客户端。 | Image (内联图像块) |
| [保存快照](file:///gorgon/ia/mcp_camsnap/src/camsnap_mcp/server.py#L75-L111) | save_snap(camera_name: str, target_path: str | None = None) -> str |
捕获快照并将其直接保存到 target_path。如果未指定,则保存到临时目录中带时间戳的文件中。 |
str (带路径的确认消息) |
| [捕获_链接](file:///gorgon/ia/mcp_camsnap/src/camsnap_mcp/server.py#L172-1200) | capture_clip(camera_name: str, duration: int = 10) -> str |
将短MP4视频剪辑录制到临时文件中,并返回其在主机系统上的绝对路径。 | str (带路径的确认消息) |
| [capture_raw_clip](file:///gorgon/ia/mcp_camsnap/src/camsnap_mcp/server.py#L202-L248) | capture_raw_clip(camera_name: str, duration: int = 10) -> dict |
录制一个简短的MP4视频片段,并返回其base64编码的原始二进制内容。 | dict (MIME类型和base64字符串) |
💻 本地开发
如果要在本地运行或修改服务器:
# Clone the repository
git clone https://github.com/mamorett/mcp_camsnap
cd mcp_camsnap
# Install with development dependencies
uv pip install -e .
# Run the MCP server locally
mcp-camsnap