设备控制协议服务器

一个用于无缝集成计算机外设的模型上下文协议服务器,通过统一API控制、监控和管理硬件设备。

  • by akshitsinha
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 akshitsinha/mcp-device-server

使用说明

设备MCP服务器

模型上下文协议(MCP)服务器,用于与连接到计算机的外围设备无缝集成。通过统一的API控制、监控和管理硬件设备。

支持的工具

  • 相机控制:从连接的摄像头捕获图像和录制视频
  • 打印管理:将文档发送到打印机并管理打印作业
  • 音频能力:从麦克风录制并通过扬声器播放音频
  • 屏幕捕获:从连接的显示器上截取屏幕截图并记录屏幕活动

先决条件和安装

系统相关性

完整功能需要以下系统依赖关系:

  • 转码:屏幕和摄像头录制功能所需
  • PortAudio:录音功能所需

macOS

brew install ffmpeg portaudio

Linux(Ubuntu/Debian)

sudo apt update
sudo apt install ffmpeg portaudio19-dev

Linux(Fedora)

sudo dnf install ffmpeg portaudio-devel

视窗

winget install ffmpeg

工程安装

  1. 克隆存储库:
git clone https://github.com/akshitsinha/mcp-device-server.git
cd mcp-device-server
  1. 安装Python依赖项:
uv sync

用法

选项A:直接运行:

uv run src/main.py

选项B:与Claude Desktop一起使用:

将以下配置添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
   "mcp-device-server": {
    "command": "uv",
    "args": [
      "--directory",
      "/path/to/mcp-device-server",
      "run",
      "src/main.py"
    ]
   }
  }
}

然后重新启动Claude Desktop以加载服务器。

配置

使用环境变量配置服务器。您可以设置这些或创建 .env 项目根目录中的文件。

可用配置选项:

MCP_HOST=127.0.0.1        # Server host address
MCP_PORT=8000             # Server port
MCP_ENABLE_CAMERA=true    # Enable camera functionality
MCP_ENABLE_PRINTER=true   # Enable printer functionality
MCP_ENABLE_AUDIO=true     # Enable audio functionality
MCP_ENABLE_SCREEN=true    # Enable screen functionality

可用的MCP工具

相机

工具 说明
list_cameras 列出所有连接的摄像头
get_camera_info 获取详细的相机信息
capture_image 用相机拍照
start_video_recording 开始视频录制
stop_video_recording 停止视频录制

打印机

工具 说明
list_printers 列出可用打印机
print_file 将文件发送到打印机
print_as_pdf 将文件打印为PDF
get_print_job 获取打印作业信息
cancel_print_job 取消打印作业

音频

工具 说明
list_audio_devices 列出所有音频输入/输出设备
record_audio 从输入设备记录
stop_record_audio 停止从输入设备录制
play_audio 通过设备播放音频

屏幕

工具 说明
list_displays 列出已连接的显示器
capture_screenshot 截图
record_screen 开始屏幕录制
stop_record_screen 停止屏幕录制

文档

有关所有可用工具及其用法的详细信息,请参阅 工具参考Wiki.

许可证

MIT许可证