M

MCP计算机控制

@AB498/computer-control-mcp
2 Stars 194 次浏览 AB498 更新于 2026-08-23

提供计算机控制功能的MCP服务器,包括鼠标移动、键盘操作、带有OCR的屏幕截图捕获和通过统一API的窗口管理。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "computer-control-mcp": {
      "args": [
        "computer-control-mcp@latest"
      ],
      "command": "uvx"
    }
  }
}

服务介绍

计算机控制 MCP

使用 PyAutoGUI、RapidOCR 和 ONNXRuntime 提供计算机控制功能(如鼠标、键盘、OCR 等)的 MCP 服务器。类似于 Anthropic 的 'computer-use',无需外部依赖。

  • 仅在 Windows 上测试过。应该可以在其他平台上运行。

MCP 计算机控制演示

快速使用(使用 uvx 设置 MCP)

{
  "mcpServers": {
    "computer-control-mcp": {
      "command": "uvx",
      "args": ["computer-control-mcp@latest"]
    }
  }
}

或者使用 pip 全局安装:

pip install computer-control-mcp

然后运行服务器:

computer-control-mcp # instead of uvx computer-control-mcp, so you can use the latest version, also you can `uv cache clean` to clear the cache and `uvx` again to use latest version.

功能

  • 控制鼠标移动和点击
  • 在当前光标位置键入文本
  • 截取整个屏幕或特定窗口的截图,并可选择保存到下载目录
  • 使用 OCR(光学字符识别)从截图中提取文本
  • 列出并激活窗口
  • 按下键盘按键
  • 拖放操作

可用工具

鼠标控制

  • click_screen(x: int, y: int): 在指定屏幕坐标处点击
  • move_mouse(x: int, y: int): 将鼠标指针移动到指定坐标
  • drag_mouse(from_x: int, from_y: int, to_x: int, to_y: int, duration: float = 0.5): 将鼠标从一个位置拖动到另一个位置

键盘控制

  • type_text(text: str): 在当前光标位置键入指定文本
  • press_key(key: str): 按下指定的键盘键

屏幕和窗口管理

  • take_screenshot(title_pattern: str = None, use_regex: bool = False, threshold: int = 60, with_ocr_text_and_coords: bool = False, scale_percent_for_ocr: int = 100, save_to_downloads: bool = False): 捕获屏幕或窗口,并可选地进行 OCR
  • get_screen_size(): 获取当前屏幕分辨率
  • list_windows(): 列出所有打开的窗口
  • activate_window(title_pattern: str, use_regex: bool = False, threshold: int = 60): 将指定窗口带到前台

开发

设置开发环境

# Clone the repository
git clone https://github.com/AB498/computer-control-mcp.git
cd computer-control-mcp

# Install in development mode
pip install -e .

运行测试

python -m pytest

API 参考

有关可用函数和类的详细信息,请参阅 API 参考

许可证

MIT

更多信息或帮助