Enables computer control on Linux systems including shell command execution, file operations, keyboard/mouse input via xdotool, window management via wmctrl, clipboard operations via xclip, and screenshot capture via scrot.
Enables computer control on macOS systems including shell command execution, file operations, keyboard/mouse input via osascript, window management, clipboard operations via pbcopy/pbpaste, and screenshot capture via screencapture.
Provides a persistent key-value store with collections using SQLite database for CRUD operations including create, read, update, delete, and query with filters.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OODA Computer Controltake a screenshot and save it to my desktop"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mnehmos.ooda.mcp (v1.0.0)
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 | 23 | Shell commands, file read/write/copy/move/delete, search, diff editing |
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 | 11 | List/focus/minimize/maximize/close windows, launch apps |
Clipboard | 4 | Read/write text, HTML, images |
System | 8 | System info, processes, network, notifications |
Browser | 9 | Puppeteer/Playwright automation |
Sessions | 5 | Interactive process sessions (REPLs, SSH) |
Config & Analytics | 7 | Configuration management, usage stats |
Search | 4 | Paginated file search |
Generic Batch | 1 | Universal batch dispatcher for any tool |
Total: 100 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
From npm (Recommended)
From Source
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
If installed via npm:
If installed from source:
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 informationwait_for_screen_change- Detect when screen content changeslist_windows- See all open applicationsget_active_window- Know current focusclipboard_read- Check clipboard contents
Orient
Use CRUD tools to store/retrieve context and state
file_info,search_files- Understand filesystem statelist_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 hotkeysmouse_click,mouse_move,mouse_drag- Mouse controlfocus_window,launch_application- Window controlclipboard_write- Set clipboard contentnotify- System notifications
Generic Batch Dispatcher
The batch_tools dispatcher can execute ANY tool in batch mode with unified safety limits:
Execution Modes
Mode | Description |
| All operations run concurrently (default) |
| Operations run one after another, supports |
Safety Limits
Configurable via ~/.mcp/config.json or per-request:
Limit | Default | Description |
| 50 | Max operations per batch |
| 200000 | Total output size limit |
| 500 | Per-file line truncation |
| 30000 | Per-operation timeout (ms) |
See ADR-003 for full documentation.
API Reference
CLI & File Operations
Tool | Description |
| Execute shell command |
| Read file contents |
| Write content to file |
| List directory contents |
| Read specific line range (token-efficient) |
| Search patterns within a file |
| Replace unique string in file |
| Copy file/directory |
| Move/rename file |
| Delete file/directory |
| Get file metadata |
| Search files by pattern |
| Parallel versions of above |
Diff-Based Editing
Tool | Description |
| Search/replace with fuzzy matching fallback |
| Multiple search/replace in atomic operation |
| Preview changes without applying |
| Sequential edits with partial success |
| Replace content from line N to EOF |
CRUD Operations
Tool | Description |
| Create record in collection |
| Read record by ID |
| Update existing record |
| Delete record |
| Query with filters |
| Parallel versions |
Screen Operations
Tool | Description |
| Capture screen (region optional) |
| Display/monitor info |
| Wait for UI changes |
| Find text/image (requires OCR) |
Input Operations
Tool | Description |
| Type text |
| Press key with modifiers |
| Execute shortcut (e.g., "ctrl+c") |
| Move cursor |
| Click at position |
| Drag between points |
| Scroll wheel |
| Current cursor position |
| Sequence of keyboard actions |
| Sequence of mouse actions |
Window Operations
Tool | Description |
| All open windows |
| Currently focused window |
| Bring window to front |
| Minimize window(s) |
| Maximize window |
| Restore from min/max |
| Close window |
| Resize window |
| Move window position |
| Start application |
| Wait for window to appear |
Clipboard Operations
Tool | Description |
| Read text/HTML/image |
| Write text/HTML |
| Clear clipboard |
| Check format availability |
System Operations
Tool | Description |
| OS, CPU, memory, uptime |
| Running processes |
| Kill by PID or name |
| Environment variables |
| Set environment variable |
| Network interfaces |
| Sleep for milliseconds |
| System notification |
Browser Automation
Tool | Description |
| Start Puppeteer/Playwright browser |
| Close browser instance |
| Navigate to URL |
| Get page HTML/text/markdown |
| Click element by selector |
| Type into input field |
| Execute JavaScript |
| Capture page screenshot |
| Get browser console logs |
Interactive Sessions
Tool | Description |
| Start interactive process (REPL, SSH) |
| Send input to process |
| Read process stdout |
| List active sessions |
| End process session |
Batch Operations
Most tools have dedicated batch versions for parallel execution:
Or use the generic batch_tools dispatcher to batch ANY tool.
Batch operations return structured results:
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:
Development
Known Limitations
find_on_screenrequires 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.