OODA Computer Control

OODA Computer Control

Provides comprehensive computer control capabilities including shell commands, file operations, screen capture, keyboard/mouse input, window management, clipboard access, and system monitoring following the OODA loop pattern.

Category
访问服务器

README

mnehmos.ooda.mcp (v2.0.0)

License: MIT

A comprehensive MCP (Model Context Protocol) server that provides full computer control capabilities to Claude. Implements the OODA loop (Observe-Orient-Decide-Act) pattern for autonomous computer interaction.

Features

Category Tools Description
CLI & Files 17 Shell commands, file read/write/copy/move/delete, search
CRUD Database 9 Persistent SQLite key-value store with collections
Screen (Observe) 4 Screenshot, display info, screen change detection
Input (Act) 10 Keyboard typing/shortcuts, mouse move/click/drag/scroll
Window Management 10 List/focus/minimize/maximize/close windows, launch apps
Clipboard 4 Read/write text, HTML, images
System 8 System info, processes, network, notifications

Total: 62 tools with batch/parallel execution support for most operations.

Security Warning

This server provides unrestricted system access. Claude will be able to:

  • Execute arbitrary shell commands
  • Control keyboard and mouse
  • Take screenshots
  • Read/write files anywhere
  • Manage windows and processes

Use at your own risk in trusted environments only.

Installation

git clone https://github.com/Mnehmos/mnehmos.ooda.mcp.git
cd mnehmos.ooda.mcp
npm install
npm run build

Claude Desktop Configuration

Add to your Claude Desktop config file:

Windows: %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 Loop Pattern

The tools are designed around the OODA (Observe-Orient-Decide-Act) loop:

Observe

  • screenshot - Capture screen or region (returns base64 or saves to file)
  • get_screen_info - Get display/monitor information
  • wait_for_screen_change - Detect when screen content changes
  • list_windows - See all open applications
  • get_active_window - Know current focus
  • clipboard_read - Check clipboard contents

Orient

  • Use CRUD tools to store/retrieve context and state
  • file_info, search_files - Understand filesystem state
  • list_processes, get_system_info - Understand system state

Decide

  • Built into Claude's reasoning between observations
  • CRUD database for persistent decision context

Act

  • keyboard_type, keyboard_shortcut - Type and use hotkeys
  • mouse_click, mouse_move, mouse_drag - Mouse control
  • focus_window, launch_application - Window control
  • clipboard_write - Set clipboard content
  • notify - System notifications

API Reference

CLI & File Operations

Tool Description
exec_cli Execute shell command
read_file Read file contents
write_file Write content to file
list_directory List directory contents
copy_file Copy file/directory
move_file Move/rename file
delete_file Delete file/directory
file_info Get file metadata
search_files Search files by pattern
batch_* Parallel versions of above

CRUD Operations

Tool Description
crud_create Create record in collection
crud_read Read record by ID
crud_update Update existing record
crud_delete Delete record
crud_query Query with filters
crud_batch_* Parallel versions

Screen Operations

Tool Description
screenshot Capture screen (region optional)
get_screen_info Display/monitor info
wait_for_screen_change Wait for UI changes
find_on_screen Find text/image (requires OCR)

Input Operations

Tool Description
keyboard_type Type text
keyboard_press Press key with modifiers
keyboard_shortcut Execute shortcut (e.g., "ctrl+c")
mouse_move Move cursor
mouse_click Click at position
mouse_drag Drag between points
mouse_scroll Scroll wheel
get_mouse_position Current cursor position
batch_keyboard_actions Sequence of keyboard actions
batch_mouse_actions Sequence of mouse actions

Window Operations

Tool Description
list_windows All open windows
get_active_window Currently focused window
focus_window Bring window to front
minimize_window Minimize window(s)
maximize_window Maximize window
restore_window Restore from min/max
close_window Close window
resize_window Resize window
move_window Move window position
launch_application Start application

Clipboard Operations

Tool Description
clipboard_read Read text/HTML/image
clipboard_write Write text/HTML
clipboard_clear Clear clipboard
clipboard_has_format Check format availability

System Operations

Tool Description
get_system_info OS, CPU, memory, uptime
list_processes Running processes
kill_process Kill by PID or name
get_environment Environment variables
set_environment Set environment variable
get_network_info Network interfaces
wait Sleep for milliseconds
notify System notification

Batch Operations

Most tools have batch versions for parallel execution:

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
...

Batch operations return structured results:

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

Platform Support

Feature Windows macOS Linux
CLI/Files
CRUD
Screenshot ✅ PowerShell ✅ screencapture ✅ scrot
Keyboard ✅ SendKeys ✅ osascript ✅ xdotool
Mouse ✅ user32.dll ⚠️ Limited ✅ xdotool
Windows ✅ user32.dll ✅ osascript ✅ wmctrl
Clipboard ✅ PowerShell ✅ pbcopy/paste ✅ xclip

Configuration

Optional config file at ~/.mcp/config.json:

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

Development

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

Known Limitations

  • find_on_screen requires additional OCR dependencies (not included)
  • macOS mouse position reading returns 0,0 (system limitation)
  • Some mouse drag operations may require platform-specific tuning

License

MIT License - see LICENSE file.

Changelog

See CHANGELOG.md for version history.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选