Video Still Capture MCP

Video Still Capture MCP

一个模型上下文协议服务器,它使 AI 助手能够通过 OpenCV 访问和控制网络摄像头,从而实现图像捕获和摄像头设置操作。 (Alternative, slightly more technical translation): 一个模型上下文协议服务器,允许 AI 助手通过 OpenCV 访问和控制网络摄像头,以进行图像捕获和摄像头设置的调整。

Category
访问服务器

README

视频静态图像捕获 MCP

一个用于通过 OpenCV 访问和控制网络摄像头的模型上下文协议服务器

概述

视频静态图像捕获 MCP 是模型上下文协议 (MCP) 的 Python 实现,它为 AI 助手提供了通过 OpenCV 访问和控制网络摄像头和视频源的能力。该服务器公开了一组工具,允许语言模型捕获图像、操作相机设置和管理视频连接。没有视频捕获功能。

示例

以下是一些视频静态图像捕获 MCP 服务器的实际应用示例:

橙色示例

左图:Claude 看到的图像 右图:实际网络摄像头捕获的图像
Claude 看到的橙色 网络摄像头捕获的橙色

磁铁示例

左图:Claude 看到的图像 右图:实际网络摄像头捕获的图像
Claude 看到的磁铁 网络摄像头捕获的磁铁

安装

前提条件

从源代码安装

git clone https://github.com/13rac1/videocapture-mcp.git
cd videocapture-mcp
pip install -e .

运行 MCP 服务器:

mcp dev videocapture_mcp.py

与 Claude Desktop 集成

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 替换为项目的绝对路径。

Windows

编辑您的 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 以使用您的 videocapture MCP 服务器。

集成后,Claude 将能够在请求时访问您的网络摄像头或视频源。只需让 Claude 拍照或执行任何与网络摄像头相关的任务。

功能

  • 快速图像捕获:从网络摄像头捕获单个图像,无需管理连接
  • 连接管理:打开、管理和关闭相机连接
  • 视频属性:读取和调整相机设置,如亮度、对比度和分辨率
  • 图像处理:基本的图像转换,如水平翻转

工具参考

quick_capture

快速打开相机,捕获单个帧,然后关闭它。

quick_capture(device_index: int = 0, flip: bool = False) -> Image
  • device_index:相机索引(0 通常是默认网络摄像头)
  • flip:是否水平翻转图像
  • Returns:捕获的帧作为 Image 对象

open_camera

打开与相机设备的连接。

open_camera(device_index: int = 0, name: Optional[str] = None) -> str
  • device_index:相机索引(0 通常是默认网络摄像头)
  • name:用于标识此相机连接的可选名称
  • Returns:已打开相机的连接 ID

capture_frame

从指定的视频源捕获单个帧。

capture_frame(connection_id: str, flip: bool = False) -> Image
  • connection_id:先前打开的视频连接的 ID
  • flip:是否水平翻转图像
  • Returns:捕获的帧作为 Image 对象

get_video_properties

获取视频源的属性。

get_video_properties(connection_id: str) -> dict
  • connection_id:先前打开的视频连接的 ID
  • Returns:视频属性字典(宽度、高度、fps 等)

set_video_property

设置视频源的属性。

set_video_property(connection_id: str, property_name: str, value: float) -> bool
  • connection_id:先前打开的视频连接的 ID
  • property_name:要设置的属性的名称(宽度、高度、亮度等)
  • value:要设置的值
  • Returns:如果成功,则为 True,否则为 False

close_connection

关闭视频连接并释放资源。

close_connection(connection_id: str) -> bool
  • connection_id:要关闭的连接的 ID
  • Returns:如果成功,则为 True

list_active_connections

列出所有活动的视频连接。

list_active_connections() -> list
  • Returns:活动连接 ID 列表

使用示例

以下是 AI 助手可能如何使用 Webcam MCP 服务器:

  1. 拍一张快照

    我将使用您的网络摄像头拍一张照片。
    

    (AI 会在后台调用 quick_capture()

  2. 打开持久连接

    我将打开与您的网络摄像头的连接,以便我们可以拍摄多张照片。
    

    (AI 会调用 open_camera() 并存储连接 ID)

  3. 调整相机设置

    让我增加网络摄像头馈送的亮度。
    

    (AI 会使用适当的参数调用 set_video_property()

高级用法

资源管理

服务器自动管理相机资源,确保在服务器关闭时正确释放所有连接。对于长时间运行的应用程序,最好在不再需要连接时显式关闭连接。

多个摄像头

如果您的系统有多个摄像头,您可以在打开连接时指定设备索引:

# 打开第二个网络摄像头(索引 1)
connection_id = open_camera(device_index=1)

故障排除

  • 未找到相机:确保您的网络摄像头已正确连接且未被其他应用程序使用
  • 权限问题:某些系统需要明确的权限才能访问相机
  • OpenCV 安装:如果您遇到 OpenCV 问题,请参阅官方安装指南

许可证

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

贡献

欢迎贡献!请随时提交 Pull Request。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选