# NodeCameraMCP **Repository Path**: hamm/NodeCameraMCP ## Basic Information - **Project Name**: NodeCameraMCP - **Description**: Node.js MCP 服务,提供拍照和录像功能 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-02-28 - **Last Updated**: 2026-02-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NodeCameraMCP Node.js MCP (Model Context Protocol) 服务,提供拍照和录像功能。 [![npm version](https://img.shields.io/npm/v/camera-mcp.svg)](https://www.npmjs.com/package/camera-mcp) [![npm downloads](https://img.shields.io/npm/dm/camera-mcp.svg)](https://www.npmjs.com/package/camera-mcp) [![license](https://img.shields.io/npm/l/camera-mcp.svg)](https://github.com/HammCn/NodeCameraMCP/blob/main/LICENSE) ## 功能特性 - 📷 **拍照功能** - 使用摄像头拍摄照片并保存为 JPG 格式 - 🎥 **录像功能** - 录制视频并保存为 MP4 格式 ## 系统要求 - Node.js >= 18.0.0 - macOS 系统 - 摄像头设备 ## 依赖安装 ### 安装系统依赖 推荐使用 Homebrew 安装以下工具: ```bash # 安装 imagesnap(用于快速拍照) brew install imagesnap # 安装 ffmpeg(用于拍照和录像) brew install ffmpeg ``` > **注意**: 至少需要安装其中一个工具才能使用拍照功能。录像功能需要 ffmpeg。 ## 使用方法 ```json { "mcpServers": { "Camera": { "command": "npx", "args": [ "-y", "camera-mcp" ] } } } ``` ### 可用工具 #### 1. take_photo - 拍照 ```json { "name": "take_photo", "arguments": { "outputDir": "./output", "filename": "my-photo.jpg", "cameraIndex": 0, "width": 1920, "height": 1080 } } ``` **参数说明**: - `outputDir`: 输出目录路径(可选,默认 ./output) - `filename`: 输出文件名(可选,默认使用时间戳) - `cameraIndex`: 摄像头索引(可选,默认 0) - `width`: 图片宽度(可选,默认 1920) - `height`: 图片高度(可选,默认 1080) **返回示例**: ```json { "success": true, "path": "/path/to/output/2024-01-01T12-00-00.jpg", "filename": "2024-01-01T12-00-00.jpg", "message": "拍照成功", "method": "imagesnap" } ``` #### 2. record_video - 录像 ```json { "name": "record_video", "arguments": { "outputDir": "./output", "filename": "my-video.mp4", "cameraIndex": 0, "duration": 10, "fps": 30, "quality": "medium" } } ``` **参数说明**: - `outputDir`: 输出目录路径(可选,默认 ./output) - `filename`: 输出文件名(可选,默认使用时间戳) - `cameraIndex`: 摄像头索引(可选,默认 0) - `duration`: 录制时长(秒),0 表示需要外部控制停止 - `fps`: 帧率(可选,默认 30) - `quality`: 视频质量预设(ultrafast/fast/medium/slow,默认 medium) **返回示例**: ```json { "success": true, "path": "/path/to/output/2024-01-01T12-00-00.mp4", "filename": "2024-01-01T12-00-00.mp4", "message": "录制 10 秒视频成功", "duration": 10, "method": "ffmpeg" } ``` ## 权限说明 在 macOS 上首次使用摄像头时,系统会弹出权限请求对话框。请确保: 1. 允许终端/Node.js 访问摄像头 2. 在「系统设置」>「隐私与安全性」>「相机」中检查权限 ## 故障排除 ### 问题:找不到摄像头 **解决方案**: 1. 运行 `list_cameras` 工具检查可用摄像头 2. 确保已授予摄像头权限 3. 检查是否有其他应用正在使用摄像头 ### 问题:拍照/录像失败 **解决方案**: 1. 运行 `check_dependencies` 检查依赖是否已安装 2. 确保 imagesnap 或 ffmpeg 已正确安装 3. 检查输出目录是否有写入权限 ### 问题:录像文件损坏 **解决方案**: 1. 确保录制时长足够长(至少 1 秒) 2. 尝试降低视频质量预设 3. 检查磁盘空间是否充足 ## 许可证 MIT License