cmdop mcp
Exposes cmdop’s tools (terminal, files, agent, board, OS automation) as an MCP (Model Context Protocol) server. MCP hosts — Claude Desktop, Cursor, and others — connect to it and discover the cmdop tool catalogue.
This page is the CLI verb reference. For the full MCP integration story (what tools are available, security model, configuration cookbook), see /docs/mcp/.
Subcommands
cmdop mcp stdio # run an MCP server over stdio
cmdop mcp tools # list MCP tools (introspection)Stdio mode
cmdop mcp stdio reads MCP messages from stdin and writes to stdout. This is the standard MCP transport for desktop clients.
Wire it into Claude Desktop’s claude_desktop_config.json:
{
"mcpServers": {
"cmdop": {
"command": "cmdop",
"args": ["mcp", "stdio"]
}
}
}Restart Claude Desktop and cmdop’s tools appear in the MCP tool list.
List tools
cmdop mcp tools
cmdop mcp tools --jsonOutput:
NAME DESCRIPTION
cmdop_terminal Open a terminal session on a machine
cmdop_exec One-shot command execution
cmdop_files_read Read a file from a machine
cmdop_files_write Write a file to a machine
cmdop_issue_create Create a Board issue
cmdop_chat Delegate a sub-prompt to the cmdop agent
...Always-on vs per-host
Two paths to expose MCP — pick based on use case:
cmdop agent start --with-mcp | cmdop mcp stdio | |
|---|---|---|
| Process | Daemon-attached, always on | Per-invocation |
| Transport | gRPC + MCP server | stdio |
| Lifecycle | Survives reboots (with service) | Spawned by host |
| Best for | Multiple MCP hosts on same machine | Single Claude Desktop / Cursor install |
For a single-user desktop, cmdop mcp stdio wired into the host config is usually enough. For a development server with several MCP hosts, prefer cmdop agent start --with-mcp.
See ./agent for the always-on path.
Authentication
MCP inherits the daemon’s OAuth identity. The MCP host doesn’t need to authenticate separately — whatever workspace the daemon is logged into is the workspace the MCP tools operate against.
To run MCP under a specific mode or workspace, set them before launching the MCP host:
cmdop mode prod
cmdop connect workspace use acme-prod
# now restart Claude Desktop / CursorPermissions on MCP calls
MCP tool calls go through the standard permission gate — same rules as remote-agent calls. Lock down dangerous tools:
cmdop permissions deny 'execute_command(rm *)'
cmdop permissions ask 'write_file(/etc/*)'See ./permissions.
External MCP servers
If you want cmdop to consume other MCP servers (e.g., a database MCP, a file-search MCP), that’s configured in ~/.cmdop/config.yaml under mcp.external — covered in /docs/mcp/external-servers.
Troubleshooting
- Claude Desktop doesn’t see cmdop tools — restart the host after editing
claude_desktop_config.json; check the host’s MCP log for spawn errors. - “command not found: cmdop” — Claude Desktop might not see your
$PATH; use the absolute path:"command": "/usr/local/bin/cmdop". - Tools appear but every call returns permission denied — check
cmdop permissions liston this machine; relax the gate or add explicit allows.
Related
- Agent Daemon (
--with-mcp) - Developer Tools
- Permissions
- Authentication