OmniCommanderMCP
The OmniCommanderMCP server provides comprehensive, cross-platform control over your local machine, including system information, shell execution, filesystem, processes, desktop automation, and more.
System Information: Retrieve OS details, architecture, hostname, and Node.js runtime info.
Command Execution: Run arbitrary shell commands (PowerShell on Windows, /bin/sh on macOS/Linux) with configurable timeouts and working directories.
Process Management: Start detached processes, list running processes, and terminate processes by PID.
Filesystem Operations: Read, write, list, create, delete, move, and copy files and directories.
Application Control: Launch and close applications cross-platform with optional arguments.
Screen Capture & Desktop Automation: Capture screenshots, control mouse movements and clicks, type keyboard input, send hotkeys, and manage clipboard content (read/write).
Service Management: List and control OS services (start, stop, restart, enable, disable).
Network Diagnostics: Retrieve network interfaces, routes, DNS settings, and active listening connections.
Package Management: Invoke native package managers (winget, brew, apt, dnf, pacman).
Windows Registry: Query, set, and delete registry keys (Windows only).
Security & Access: Supports configurable
safeandfullsecurity profiles with audit logging, accessible via local stdio, authenticated HTTP, or an OpenAI Secure MCP Tunnel.
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., "@OmniCommanderMCPshow me running processes"
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.
Omni Commander MCP
Omni Commander MCP is a cross-platform, local-first MCP agent that gives an authorized AI client broad control over a Windows, macOS, or Linux computer.
It combines two control planes in one auditable server:
System/CLI control: files, shell, persistent terminals, processes, services, packages, network requests, firewall, scheduled tasks, Git, archives, disks, users, logs, clipboard, and power/session operations.
Computer use: screenshots returned as MCP images, monitor/window/application control, mouse, keyboard, accessibility-tree inspection, local OCR, text-coordinate discovery, and observe-act-observe loops.
The server can run locally over stdio, over an authenticated loopback/private Streamable HTTP endpoint, or privately from ChatGPT web through OpenAI Secure MCP Tunnel without opening inbound firewall ports.
This project intentionally has powerful tools.
--profile=fullis equivalent to granting the connected MCP client an interactive desktop and terminal under the OS account that launches Omni Commander. Read SECURITY.md.
Current status
The current main branch exposes 84 MCP tools. Version 0.2.0 is the package baseline, with 0.3 development active on main:
Windows, macOS, and Linux adapters.
MCP stdio and Streamable HTTP transports.
OpenAI Secure MCP Tunnel setup scripts.
Persistent process sessions with stdin and paginated output.
Native file-watch sessions with bounded retention and cursor pagination.
Direct image-returning screen observation.
Multi-step autonomous computer-use sequences.
OCR-based
find textandclick textworkflows.Windows UI Automation, macOS Accessibility, and Linux AT-SPI discovery adapters.
Safe/full policy profiles, SSRF controls, path canonicalization, and JSONL audit logs.
Cross-platform CI, type checking, integration tests, and production builds.
Related MCP server: computer-control-mcp-lands
Tool catalog
Area | Tools |
Configuration |
|
Filesystem/search |
|
Terminal/processes |
|
Computer observation |
|
Computer actions |
|
Apps/windows |
|
OS administration |
|
System/clipboard/env |
|
Network |
|
Git |
|
Archives |
|
Anything not represented by a structured tool can still be performed through shell_exec or a persistent process_start session when the launching OS account has permission.
Install
Requirements:
Node.js 20 or later.
Git.
Optional desktop/OCR dependencies listed below.
git clone https://github.com/kaannsaydamm/OmniCommanderMCP.git
cd OmniCommanderMCP
npm ci
npm run check
npm run buildInstall optional computer-use dependencies:
# macOS or Linux
./scripts/install-desktop-deps.sh# Windows; built-in APIs cover core computer use.
# Add -InstallTesseract for OCR.
./scripts/install-desktop-deps.ps1 -InstallTesseractRun locally
Safe profile:
node dist/index.js --profile=safeFull profile:
node dist/index.js --profile=fullMCP client example:
{
"mcpServers": {
"omni-commander": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/OmniCommanderMCP/dist/index.js",
"--profile=full"
],
"env": {
"OMNI_AUDIT_ENABLED": "true"
}
}
}
}Connect ChatGPT web to your computer
The recommended remote path is OpenAI Secure MCP Tunnel. tunnel-client runs on your computer, starts Omni Commander over stdio, and makes only outbound HTTPS connections to OpenAI. The MCP server does not need a public listener.
1. Build Omni Commander
npm ci
npm run build2. Create an MCP tunnel
Create a tunnel in OpenAI Platform tunnel settings and obtain:
A
tunnel_id.A runtime API key for
tunnel-client.Tunnels Read + Use permission; tunnel creation/editing additionally needs Manage.
Download the current tunnel-client from the OpenAI Platform tunnel page or the official openai/tunnel-client releases.
3. Configure the local tunnel profile
macOS/Linux:
CONTROL_PLANE_API_KEY="sk-..." ./scripts/setup-openai-tunnel.sh tunnel_0123456789abcdef0123456789abcdefWindows PowerShell:
$env:CONTROL_PLANE_API_KEY = "sk-..."
./scripts/setup-openai-tunnel.ps1 -TunnelId "tunnel_0123456789abcdef0123456789abcdef" -SecurityProfile fullThe scripts configure this local MCP command:
node /absolute/path/OmniCommanderMCP/dist/index.js --profile=full4. Run the tunnel
tunnel-client doctor --profile omni-commander --explain
tunnel-client run --profile omni-commanderKeep it running while ChatGPT uses the computer. The tunnel client exposes loopback health/readiness/metrics endpoints and a local /ui operator page.
5. Add it in ChatGPT
Enable ChatGPT developer mode, open Settings → Plugins, create a developer-mode app, select Tunnel as the connection, and choose the tunnel. The tunnel must be associated with the target ChatGPT workspace.
See docs/REMOTE_CHATGPT.md for startup-service templates and troubleshooting.
Streamable HTTP mode
Stdio + Secure MCP Tunnel is preferred for ChatGPT. For local/private integrations, Omni Commander can also expose MCP over Streamable HTTP:
node dist/index.js --http --host=127.0.0.1 --port=8787 --profile=fullEndpoint:
http://127.0.0.1:8787/mcpHealth endpoints:
/healthz
/readyzBinding outside loopback requires a bearer token:
OMNI_HTTP_TOKEN="a-long-random-secret" \
node dist/index.js --http --host=0.0.0.0 --port=8787 --allowed-hosts=omni.internal.example --profile=fullThis fixed bearer mode is for controlled private deployments. A public internet deployment should use a proper OAuth authorization server, TLS, strict host validation, and an external reverse proxy. Do not expose full-profile Omni Commander anonymously.
Autonomous computer-use pattern
A reliable loop is:
computer_observeto receive a fresh screenshot.accessibility_snapshotorscreen_find_textwhen semantic targeting is possible.computer_act_and_observefor one action plus a fresh screenshot.Repeat until the task is verified complete.
For deterministic multi-step operations, use computer_sequence. For visible text, computer_click_text captures, OCRs, clicks the chosen occurrence, and returns the post-click screen.
See docs/COMPUTER_USE.md.
File-watch sessions
Use fs_watch_start for a file or directory, then poll fs_watch_events with the returned session ID. Event cursors are monotonically increasing; pass the previous nextCursor as the exclusive after cursor. Buffers are finite (maxWatchEvents), and truncatedBeforeCursor reports when older events were evicted before the requested cursor. Call fs_watch_stop when observation is complete.
Recursive native watching depends on the host platform and filesystem. Unsupported combinations return an explicit error instead of reporting a successful session.
Platform support
Windows
Built-in PowerShell, .NET, Win32, Windows UI Automation, service, registry/task/firewall tooling.
Run Omni Commander at the same elevation level as applications it must control.
A non-elevated process cannot reliably manipulate elevated windows because of Windows integrity levels.
Tesseract is optional for OCR.
macOS
screencapture, AppleScript/System Events,open,launchctl, and optionalcliclick.Grant Accessibility permission for keyboard/window control.
Grant Screen Recording permission for screenshots.
Install optional dependencies with Homebrew.
Linux
X11:
xdotool,wmctrl,xrandr, screenshot and clipboard utilities.Wayland: screenshots can use
grim; input control depends on compositor security and available tools.Accessibility uses Python AT-SPI (
pyatspi).Headless service sessions cannot control a graphical desktop unless attached to the active user session and display bus.
Security profiles
safe (default)
Filesystem paths restricted to configured roots.
Common catastrophic shell patterns blocked.
Private and loopback HTTP targets blocked.
Environment values hidden.
Lower output and file-size limits.
Audit logging enabled.
full
All filesystem paths allowed by the OS account.
No Omni Commander command-pattern blocklist.
Private/loopback network and environment access enabled.
OS administration mutation tools enabled.
Higher finite I/O limits.
full does not bypass ACLs, UAC, sudo, TCC, endpoint security, sandboxing, display-server boundaries, or application permissions.
Configuration
Precedence:
profile defaults < config JSON < environment < CLI < config_setDefault configuration:
~/.omni-commander/config.jsonDefault audit log:
~/.omni-commander/audit.jsonlImportant environment variables are documented in .env.example.
Development and validation
npm run typecheck
npm test
npm run buildThe integration test connects an MCP client through an in-memory transport and verifies that the complete terminal, desktop, accessibility, network, developer, and OS-admin tool surface is discoverable.
CI executes typecheck, tests, and build on Windows, macOS, and Ubuntu with Node.js 20 and 22.
Architecture and roadmap
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables full control of macOS by executing AppleScript commands through an MCP server, allowing automation of tasks, application control, and system management.Last updated117415MIT
- Alicense-qualityDmaintenanceProvides comprehensive computer control capabilities including mouse and keyboard automation, screen capture, OCR text recognition, and window management through MCP protocol.Last updated1MIT
- Alicense-qualityCmaintenanceEnables full Linux desktop control including windows, mouse, keyboard, clipboard, audio, screenshots, OCR, accessibility, and system management through MCP-compatible AI agents.Last updated1MIT
- Flicense-qualityDmaintenanceEnables remote PC control and system management through MCP, including hardware info, process and file operations, with security features like blocklists and audit logging.Last updated
Related MCP Connectors
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Remote MCP for Android CLI agent build gate, structured receipts, audit logs, and reviewer-ready evi
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kaannsaydamm/OmniCommanderMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server