视频静态捕捉 MCP
用于通过 OpenCV 访问和控制网络摄像头的模型上下文协议服务器
概述
视频静态捕获 MCP 是模型上下文协议 (MCP) 的 Python 实现,它使 AI 助手能够通过 OpenCV 访问和控制网络摄像头及视频源。该服务器公开了一组工具,允许语言模型捕获图像、操作摄像头设置以及管理视频连接。但它不提供视频捕获功能。
Related MCP server: VRChat MCP Server
示例
以下是视频静态捕获 MCP 服务器运行的一些示例:
橙色示例
左图:克劳德对图像的看法 | 右图:实际网络摄像头捕捉到的图像 |
|
|
磁铁示例
左图:克劳德对图像的看法 | 右图:实际网络摄像头捕捉到的图像 |
|
|
安装
先决条件
从源安装
git clone https://github.com/13rac1/videocapture-mcp.git
cd videocapture-mcp
pip install -e .运行 MCP 服务器:
mcp dev videocapture_mcp.py与 Claude 桌面版集成
macOS/Linux
编辑您的 Claude Desktop 配置:
# Mac
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Linux
nano ~/.config/Claude/claude_desktop_config.json 添加此 MCP 服务器配置:
{
"mcpServers": {
"VideoCapture ": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"numpy",
"--with",
"opencv-python",
"mcp",
"run",
"/ABSOLUTE_PATH/videocapture_mcp.py"
]
}
}
}确保将/ABSOLUTE_PATH/videocapture-mcp替换为项目的绝对路径。
视窗
编辑您的 Claude Desktop 配置:
nano $env:AppData\Claude\claude_desktop_config.json添加此 MCP 服务器配置:
{
"mcpServers": {
"VideoCapture": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"numpy",
"--with",
"opencv-python",
"mcp",
"run",
"C:\ABSOLUTE_PATH\videocapture-mcp\videocapture_mcp.py"
]
}
}
}确保将C:\ABSOLUTE_PATH\videocapture-mcp替换为项目的绝对路径。
使用安装命令
或者,您可以使用mcp CLI 来安装服务器:
mcp install videocapture_mcp.py这将自动配置 Claude Desktop 以使用您的视频捕获 MCP 服务器。
集成后,Claude 将能够在需要时访问您的网络摄像头或视频源。只需让 Claude 拍照或执行任何与网络摄像头相关的任务即可。
特征
快速图像捕捉:无需管理连接即可从网络摄像头捕捉单幅图像
连接管理:打开、管理和关闭相机连接
视频属性:读取和调整相机设置,如亮度、对比度和分辨率
图像处理:基本图像转换,如水平翻转
工具参考
quick_capture
快速打开相机,捕捉单帧画面,然后关闭。
quick_capture(device_index: int = 0, flip: bool = False) -> Imagedevice_index :摄像头索引(0 通常是默认的网络摄像头)
flip :是否水平翻转图像
返回:捕获的帧作为图像对象
open_camera
打开与相机设备的连接。
open_camera(device_index: int = 0, name: Optional[str] = None) -> strdevice_index :摄像头索引(0 通常是默认的网络摄像头)
name :可选名称,用于识别此相机连接
返回:已打开相机的连接ID
capture_frame
从指定的视频源捕获单帧。
capture_frame(connection_id: str, flip: bool = False) -> Imageconnection_id :之前打开的视频连接的ID
flip :是否水平翻转图像
返回:捕获的帧作为图像对象
get_video_properties
获取视频源的属性。
get_video_properties(connection_id: str) -> dictconnection_id :之前打开的视频连接的ID
返回:视频属性字典(宽度、高度、fps 等)
set_video_property
设置视频源的属性。
set_video_property(connection_id: str, property_name: str, value: float) -> boolconnection_id :之前打开的视频连接的ID
property_name :要设置的属性的名称(宽度、高度、亮度等)
value :要设置的值
返回:如果成功则返回 True,否则返回 False
close_connection
关闭视频连接并释放资源。
close_connection(connection_id: str) -> boolconnection_id :要关闭的连接的 ID
返回:如果成功则返回 True
list_active_connections
列出所有活动的视频连接。
list_active_connections() -> list返回:活动连接 ID 列表
示例用法
AI 助手可能会这样使用 Webcam MCP 服务器:
快速拍摄一张照片:
I'll take a photo using your webcam.(AI 会在后台调用
quick_capture())打开持久连接:
I'll open a connection to your webcam so we can take multiple photos.(AI 会调用
open_camera()并存储连接 ID)调整相机设置:
Let me increase the brightness of the webcam feed.(AI 会使用适当的参数调用
set_video_property())
高级用法
资源管理
服务器会自动管理摄像头资源,确保在服务器关闭时所有连接都能正常释放。对于长时间运行的应用,最好在不再需要连接时明确关闭它们。
多台摄像机
如果您的系统有多个摄像头,您可以在打开连接时指定设备索引:
# Open the second webcam (index 1)
connection_id = open_camera(device_index=1)故障排除
未找到摄像头:确保您的网络摄像头已正确连接且未被其他应用程序使用
权限问题:某些系统需要明确许可才能访问摄像头
OpenCV 安装:如果您遇到 OpenCV 问题,请参阅官方安装指南
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
贡献
欢迎贡献代码!欢迎提交 Pull 请求。
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.



