计算机控制服务

MCP OODA计算机服务是一款提供完整计算机控制能力的服务器,实现OODA(观察-定向-决策-行动)循环模式,用于自主计算机交互。

  • by Mnehmos
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 Mnehmos/Yolo-Mode-MCP

使用说明

MCP OODA计算机(v2.0.0)

一个全面的MCP(模型上下文协议)服务器,为Claude提供完整的计算机控制功能。实现OODA循环(Observe Orient Decide Act)模式,用于自主计算机交互。

特性

类别 工具 描述
CLI和文件 17 Shell命令、文件读/写/复制/移动/删除、搜索
CRUD数据库 9 具有集合的持久SQLite键值存储
屏幕(观察) 4 屏幕截图、显示信息、屏幕变化检测
输入(动作) 10 键盘输入/快捷键、鼠标移动/点击/拖动/滚动
窗口管理 10 列出/聚焦/最小化/最大化/关闭窗口,启动应用程序
剪贴板 4 读/写文本、HTML、图像
系统 8 系统信息、进程、网络、通知

总计:62个工具 大多数操作都支持批处理/并行执行。

安全警告

此服务器提供 不受限制的系统访问克劳德将能够:

  • 执行任意shell命令
  • 控制键盘和鼠标
  • 截图
  • 在任何地方读/写文件
  • 管理窗口和进程

仅在受信任的环境中使用,风险自负。

安装

git clone https://github.com/yourusername/mcp-ooda-computer.git
cd mcp-ooda-computer
npm install
npm run build

Claude桌面配置

添加到您的Claude Desktop配置文件中:

视窗: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "ooda-computer": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-ooda-computer/dist/index.js"]
    }
  }
}

OODA循环模式

这些工具是围绕OODA(Observe Orient Decide Act)循环设计的:

观察

  • screenshot -捕获屏幕或区域(返回base64或保存到文件)
  • get_screen_info -获取显示/监视器信息
  • wait_for_screen_change -检测屏幕内容何时更改
  • list_windows -查看所有打开的应用程序
  • get_active_window -了解当前焦点
  • clipboard_read -检查剪贴板内容

东方

  • 使用CRUD工具存储/检索上下文和状态
  • file_info, search_files -了解文件系统状态
  • list_processes, get_system_info -了解系统状态

决定

  • 克劳德在观察之间的推理
  • 用于持久决策上下文的CRUD数据库

法案

  • keyboard_type, keyboard_shortcut -键入并使用热键
  • mouse_click, mouse_move, mouse_drag -鼠标控制
  • focus_window, launch_application -窗口控制
  • clipboard_write -设置剪贴板内容
  • notify -系统通知

api参考

CLI和文件操作

工具 说明
exec_cli 执行shell命令
read_file 读取文件内容
write_file 将内容写入文件
list_directory 列出目录内容
copy_file 复制文件/目录
move_file 移动/重命名文件
delete_file 删除文件/目录
file_info 获取文件元数据
search_files 按模式搜索文件
batch_* 上述的并行版本

CRUD操作

工具 说明
crud_create 在集合中创建记录
crud_read 按ID读取记录
crud_update 更新现有记录
crud_delete 删除记录
crud_query 使用筛选器进行查询
crud_batch_* 并行版本

屏幕操作

工具 说明
screenshot 捕获屏幕(区域可选)
get_screen_info 显示/监控信息
wait_for_screen_change 等待UI更改
find_on_screen 查找文本/图像(需要OCR)

输入操作

工具 说明
keyboard_type 键入文本
keyboard_press 按带有修改器的键
keyboard_shortcut 执行快捷键(例如“ctrl+c”)
mouse_move 移动光标
mouse_click 点击位置
mouse_drag 点之间的拖动
mouse_scroll 滚轮
get_mouse_position 当前光标位置
batch_keyboard_actions 键盘动作顺序
batch_mouse_actions 鼠标动作顺序

窗口操作

工具 说明
list_windows 所有打开的窗户
get_active_window 当前聚焦窗口
focus_window 把窗户放在前面
minimize_window 最小化窗口
maximize_window 最大化窗口
restore_window 从最小值/最大值恢复
close_window 关闭窗口
resize_window 调整窗口大小
move_window 移动车窗位置
launch_application 启动应用程序

剪贴板操作

工具 说明
clipboard_read 读取文本/HTML/图像
clipboard_write 编写文本/HTML
clipboard_clear 清除剪贴板
clipboard_has_format 检查格式可用性

系统运维

工具 说明
get_system_info 操作系统、CPU、内存、正常运行时间
list_processes 正在运行的进程
kill_process 按PID或名称杀死
get_environment 环境变量
set_environment 设置环境变量
get_network_info 网络接口
wait 睡眠毫秒
notify 系统通知

批量操作

大多数工具都有用于并行执行的批处理版本:

batch_exec_cli      - Multiple commands in parallel
batch_read_files    - Multiple files in parallel
batch_write_files   - Multiple files in parallel
batch_copy_files    - Multiple copies in parallel
crud_batch_create   - Multiple records in parallel
...

批处理操作返回结构化结果:

{
  "summary": { "total": 5, "successful": 4, "failed": 1, "elapsed_ms": 23 },
  "results": [
    { "index": 0, "success": true, "result": {...} },
    { "index": 1, "success": false, "error": "..." }
  ]
}

平台支持

功能 Windows macOS Linux
CLI/文件 ✅ ✅ ✅
积垢 ✅ ✅ ✅
屏幕截图 ✅ PowerShell ✅ 屏幕截图 ✅ 阴囊
键盘 ✅ 发送密钥 ✅ osascript ✅ xdotool
老鼠✅ 用户32.dll ⚠️ 有限 ✅ xdotool
Windows ✅ 用户32.dll ✅ osascript ✅ wmctrl
剪贴板 ✅ PowerShell ✅ pb复制/粘贴 ✅ xclip

配置

可选配置文件位于 ~/.mcp/config.json:

{
  "storage": {
    "type": "sqlite",
    "path": "~/.mcp/workspace.db"
  },
  "cliPolicy": {
    "mode": "allow-all",
    "extraBlockedPatterns": [],
    "timeoutMs": 30000
  },
  "crud": {
    "defaultLimit": 1000
  }
}

发展

npm install      # Install dependencies
npm run build    # Build TypeScript
npm run dev      # Watch mode
npm start        # Run server

已知限制

  • find_on_screen 需要额外的OCR依赖项(不包括在内)
  • macOS鼠标位置读取返回0,0(系统限制)
  • 某些鼠标拖动操作可能需要特定于平台的调整

许可证

MIT许可证-请参阅 许可证 文件。

更新日志

看 更改日志.md 版本历史。