mcpField
W
Webcam MCP

Webcam MCP

本地服务
github.com媒体与设计02 周前更新

关于 Webcam MCP

Webcam MCP 是为 LLM Agent 提供摄像头访问的 MCP 服务,支持拍照和录制短视频,并附带聊天内控制面板。可用于观察环境或调试实体系统。

主要功能

  1. 01拍摄高分辨率照片
  2. 02按时长录制视频帧
  3. 03聊天内摄像头控制面板
  4. 04配置分辨率、摄像头索引和画质
  5. 05支持 Linux、macOS 和 Windows

适用场景

  1. 01让 Agent 拍摄画面并进行描述
  2. 02记录运动画面以分析变化
  3. 03远程观察环境或调试实体系统

MCP 相关

作为 MCP 服务,向客户端提供 take_photo 和 record_video 工具,并支持 SSE 传输。默认仅监听本机;SSE 没有身份验证。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbbotbridge-webcam.mcpb0.2.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Webcam MCP 📸

用于访问摄像头的 MCP 服务——为大模型 Agent 拍摄照片和录制视频

PyPI CI License: MIT

分支说明。 这是 botbridge-webcam-mcp,是 pavel-kirienko/webcam_mcp(MIT)的一个分支, 由 1019666077-bit 维护。它新增了 MCP Apps 面板(webcam_panel)。请将此发行版安装为 botbridge-webcam-mcp;上游在 PyPI 上的发行版名为 webcam-mcp。Python 导入包名为 webcam_mcp。


Webcam MCP 是一种模型上下文协议(MCP)服务,可让大模型 Agent 直接访问你的摄像头。它支持自主 Agent 拍摄照片和录制视频片段,从而无需人工干预即可调试信息物理系统、监控环境并与物理世界交互。

Webcam MCP 演示

功能:

  • 📸 高分辨率照片:拍摄静态图像
  • 🎛️ MCP Apps 面板(webcam_panel):免费的聊天内按钮(拍一张 / 再拍 / 关掉);仅提供 Pro 占位项
  • 🎥 视频录制:在指定时长内录制一系列帧
  • 🌐 SSE 传输:默认仅限环回;可选择启用 LAN 暴露,且无身份验证
  • ⚙️ 可配置:调整分辨率、摄像头索引和画质设置
  • 🔌 跨平台:支持 Linux、macOS 和 Windows
  • 🚀 易于集成:MCP 客户端配置简单

使用方法

安装:

pip install botbridge-webcam-mcp

启动 MCP 服务:

webcam-mcp

服务默认在 http://127.0.0.1:8000/sse 启动(仅限环回)。

你可以使用任意 MCP 客户端测试服务,例如 MCP Inspector(通过 npx @modelcontextprotocol/inspector 安装)。

CLI 选项
选项类型默认值说明
--hoststring127.0.0.1服务主机地址
--portinteger8000服务端口
--camera-indexinteger0摄像头设备索引
--photo-widthinteger1920默认照片宽度(像素)
--photo-heightinteger1080默认照片高度(像素)
--video-widthinteger640默认视频帧宽度(像素)
--video-heightinteger480默认视频帧高度(像素)
--version--显示版本并退出
示例
# Start on custom port
webcam-mcp --port 9000

# Use different camera (e.g., external USB webcam)
webcam-mcp --camera-index 1

# Custom photo resolution
webcam-mcp --photo-width 1280 --photo-height 720

# Opt-in LAN exposure (unauthenticated! see Security below)
WEBCAM_MCP_ALLOW_LAN=1 webcam-mcp --host 0.0.0.0

安全性

SSE 传输没有身份验证。任何能够访问 SSE 端点的人,都可以触发你的摄像头拍照和录制视频。

  • 优先使用 stdio(桌面 MCP 客户端会自动使用),或使用环回地址 (默认值为 127.0.0.1)。
  • 将 --host 绑定到非环回地址(例如 0.0.0.0 或 LAN IP)时,启动时会打印醒目的警告,且除非设置 WEBCAM_MCP_ALLOW_LAN=1,否则会拒绝启动。
  • 只有在了解风险,并且已在服务前配置自己的身份验证时,才应将服务暴露在 LAN 或公共网络接口上。

MCP 客户端配置

Claude Desktop

将以下内容添加到你的 claude_desktop_config.json:

{
  "mcpServers": {
    "webcam": {
      "url": "http://localhost:8000/sse"
    }
  }
}

配置文件位置:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.json
其他 MCP 客户端

任何支持 SSE 传输的 MCP 客户端都可以连接到:

http://<host>:<port>/sse

MCP 工具

take_photo

使用摄像头拍摄一张高分辨率照片。

参数: 无

返回: JPEG 图像

Claude 中的使用示例:

Can you take a photo and describe what you see?
record_video

在指定时长内录制视频帧。

参数:

  • duration_seconds(float,可选):录制时长,单位为秒
    • 最短:1.0 秒
    • 最长:60.0 秒
    • 默认值:5.0 秒

返回: JPEG 帧列表

在 Claude 中的示例用法:

Record a 10-second video and analyze any movement you detect.

故障排除

摄像头权限被拒绝(macOS)

在 macOS 上,你需要授予摄像头权限:

  1. 打开系统设置 → 隐私与安全性 → 摄像头
  2. 为 Terminal(或你的终端应用)启用摄像头访问权限
  3. 重启终端并重试
摄像头已在使用

如果看到“摄像头不可用”错误:

  1. 关闭其他正在使用网络摄像头的应用程序(Zoom、Skype 等)
  2. 检查是否有其他 webcam-mcp 实例正在运行
  3. 尝试使用其他摄像头索引:webcam-mcp --camera-index 1
摄像头索引错误

查找可用摄像头:

import cv2
for i in range(10):
    cap = cv2.VideoCapture(i)
    if cap.isOpened():
        print(f"Camera {i}: Available")
        cap.release()
    else:
        print(f"Camera {i}: Not available")

然后使用 --camera-index 并指定正确的编号。

不支持该分辨率

如果摄像头不支持请求的分辨率,服务将:

  • 记录警告,并显示实际采用的分辨率
  • 继续使用摄像头支持的最高分辨率运行

检查日志中是否有类似以下的消息:

WARNING: Requested resolution 1920x1080, but camera provided 1280x720

开发

# Install in editable mode with dev dependencies
pip install -e ".[dev]"

# Run all tests
pytest

# Run with verbose output
pytest -v

# Run specific test file
pytest tests/test_camera.py

所有测试均使用模拟摄像头硬件,因此测试不需要实体网络摄像头。

发布

要标记并发布新版本,请向 main 推送一个包含新 __version__ 字符串的提交。 这将触发新的标签创建,并将新版本推送到 PyPI。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。