关于 MCP Web Cam Server
MCP Web Cam Server 让 MCP 客户端控制网络摄像头,可拍照、录制视频并调整摄像头设置。它还支持带实时预览的摄像头选择,并提供摄像头、照片和录像资源。
主要功能
- 01按需配置并拍摄照片
- 02录制及停止视频
- 03列出并选择摄像头
- 04读取和调整摄像头设置
- 05基础图像处理
适用场景
- 01按指定尺寸和格式拍摄图像
- 02使用选定格式和编码录制视频
- 03查看并调整摄像头参数
- 04浏览可用摄像头及已保存内容
MCP 相关
通过 MCP 工具提供网络摄像头控制,包括拍照、录像、选择摄像头和管理设置。它还提供列出摄像头、照片和录像的资源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Web Cam Server
一个用于控制网络摄像头的 Model Context Protocol(MCP)服务。此服务可让大模型通过 MCP 协议拍照、录制视频并管理摄像头设置。
安装为 MCP 服务
用于 Claude Desktop App
选项 1:使用 npx(推荐)
添加到 Claude Desktop 配置:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"webcam": {
"command": "npx",
"args": [
"-y",
"@kmizu/mcp-web-cam"
]
}
}
}
然后重启 Claude Desktop。
选项 2:手动安装
- 安装依赖项并构建:
git clone https://github.com/mizushima/mcp-web-cam.git
cd mcp-web-cam
npm install
npm run build
- 添加到 Claude Desktop 配置:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"webcam": {
"command": "node",
"args": ["/absolute/path/to/mcp-web-cam/dist/index.js"]
}
}
}
- 重启 Claude Desktop
用于其他 MCP 客户端
此服务通过 stdio 通信,因此可以运行:
node /path/to/mcp-web-cam/dist/index.js
功能
- 拍照:使用可自定义的设置拍摄高质量照片
- 视频录制:使用各种格式和编解码器录制视频
- 摄像头管理:列出可用摄像头并调整设置
- 图像处理:提供基本的图像处理功能
- 跨平台:支持 Linux、Windows 和 macOS
安装
全局安装(在 MCP 外部使用)
npm install -g @kmizu/mcp-web-cam
本地开发
npm install
npm run build
用法
作为 MCP 服务
此服务可与任何兼容 MCP 的客户端配合使用:
npm start
开发
npm run dev # Watch mode for development
npm run build # Build TypeScript
npm run typecheck # Type checking only
可用工具
select_camera
打开现代化的 Web UI,从可用摄像头中选择一个并进行实时预览。
功能:
- 实时预览所有已连接的摄像头
- 可用时使用基于 WebRTC 的预览
- 回退到快照模式以确保兼容性
- 持久保存摄像头选择
get_current_camera
获取当前选定的摄像头设备。
capture_photo
使用网络摄像头拍照。
参数:
width(可选):图像宽度,单位为像素(320-3840)height(可选):图像高度,单位为像素(240-2160)quality(可选):图像质量(1-100)format(可选):图像格式('jpeg'、'png'、'bmp')return_type(可选):数据返回方式('location'、'buffer'、'base64')device(可选):摄像头设备 ID
start_recording
开始使用网络摄像头录制视频。
参数:
duration(可选):录制时长,单位为秒(1-3600)fps(可选):每秒帧数(1-60)format(可选):视频格式('mp4'、'avi'、'mkv')codec(可选):视频编解码器(例如,'libx264'、'libx265')
stop_recording
停止当前的视频录制。
list_cameras
列出所有可用的摄像头设备。
get_camera_settings
获取当前摄像头设置。
参数:
device(可选):摄像头设备 ID
set_camera_settings
调整亮度、对比度等摄像头设置。
参数:
device(可选):摄像头设备 IDbrightness(可选):亮度级别(0-100)contrast(可选):对比度级别(0-100)saturation(可选):饱和度级别(0-100)hue(可选):色调调整(-180 至 180)gamma(可选):伽马校正(1-500)sharpness(可选):锐度级别(0-100)whiteBalance(可选):白平衡,单位为开尔文(2000-10000)exposure(可选):曝光补偿(-10 至 10)gain(可选):增益级别(0-100)focus(可选):焦点级别(0-100,0=自动)
资源
此服务提供以下资源:
webcam://cameras:可用摄像头设备列表webcam://captures:已拍摄照片列表webcam://recordings:视频录制列表
依赖项
必需的系统依赖项
Linux
# Ubuntu/Debian
sudo apt-get install v4l-utils ffmpeg
# CentOS/RHEL
sudo yum install v4l-utils ffmpeg
Windows
- FFmpeg(从 https://ffmpeg.org/ 下载)
- Windows Media Foundation
macOS
brew install ffmpeg
文件结构
mcp-web-cam/
├── src/
│ ├── index.ts # Main MCP server
│ ├── webcam/
│ │ ├── controller.ts # Camera control logic
│ │ └── types.ts # TypeScript type definitions
│ ├── tools/ # MCP tool implementations
│ │ ├── capture.ts # Photo capture tool
│ │ ├── recording.ts # Video recording tools
│ │ └── camera.ts # Camera management tools
│ └── types/
│ └── node-webcam.d.ts # Type declarations
├── captures/ # Captured photos (auto-created)
├── recordings/ # Video recordings (auto-created)
└── dist/ # Compiled JavaScript
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。