# AI Can now control your desktop

> Source: <https://clawdcursor.com>
> Published: 2026-06-06 23:14:25+00:00

Any model. Any app. One MCP entry. Local-only. 6 compact tools, single safety chokepoint, no telemetry. Cheap paths first — accessibility before pixels, vision only as a last resort.

Plain English in, actions out.

One MCP entry, desktop control appears as native tools.

Same tools, three entry shapes. Pick once during install.

AI lives in your editor (Claude Code, Cursor, Windsurf, Zed). Editor spawns clawdcursor on demand over stdio. No daemon, no port.

```
{
  "mcpServers": {
    "clawdcursor": {
      "command": "clawdcursor",
      "args": ["mcp", "--compact"]
    }
  }
}
```

clawdcursor brings its own LLM brain (configured via `doctor`

). For unattended runs, scheduled tasks, multi-process orchestration.

`clawdcursor doctor`

· pick a provider`clawdcursor agent`

`127.0.0.1:3847/mcp`

Your agent already has a brain — you just want HTTP tools. Same daemon, no built-in agent loop.

`clawdcursor agent --no-llm`

`:3847/mcp`

A11y tree before pixels. Vision only when needed.

Read the a11y tree, act on element names. No screenshot, no vision LLM.

OCR when the tree is sparse, screenshot when you need pixels, vision only for canvas UIs.

Every tool call gates through one safety layer. Destructive actions need confirmation.

The recommended surface — `computer`

, `accessibility`

, `window`

, `system`

, `browser`

, `task`

. ~12× smaller catalog than the granular Tools surface.

Windows, macOS, Linux behind a single interface. Linux covers X11 and Wayland.

TCC-safe. `clawdcursor grant`

handles Accessibility + Screen Recording.

Native UIA + Windows.Media.Ocr. x64 and ARM64.

X11 and Wayland. AT-SPI for a11y, Tesseract for OCR.

Click by name, type by label, read screen. A11y first, OCR as fallback.

Platform-aware key combos — Cmd on macOS, Ctrl elsewhere. No LLM cost.

Collapse N deterministic tool calls into a single guarded, safety-gated batch. N calls → 1.

`{ "action": "…" }`

. The 94 granular tools (one schema per verb) are listed below for compatibility and debugging — use them when your runtime requires every primitive as a top-level MCP tool. (94 total.)
**Compact form (recommended):** `computer({ "action": "key", "combo": "mod+s" })`

— ~1,500 tokens of catalog.
**Granular form (compat / debug):** `key_press({ "key": "mod+s" })`

— 94 individual tools, one schema per verb.
Both produce identical effects through the same `safety.evaluate()`

chokepoint.
Pass `--granular`

(instead of `--compact`

) to expose the granular surface over MCP.
See [schema.snapshot.json](https://github.com/AmrDab/clawdcursor/blob/main/schema.snapshot.json) for every parameter.

```
# Install & setup
clawdcursor consent          # one-time desktop-control authorization
clawdcursor grant            # macOS Accessibility + Screen Recording prompts
clawdcursor doctor           # verify permissions, configure AI provider
clawdcursor status           # readiness check (consent, permissions, AI config)

# Run
clawdcursor mcp              # stdio MCP server for editor hosts
clawdcursor mcp --compact    # same, with 6 compound tools (recommended)
clawdcursor agent            # HTTP MCP daemon at :3847/mcp, optional built-in LLM
clawdcursor agent --no-llm   # tool surface only — your agent brings its own brain
clawdcursor stop             # stop every running mode
clawdcursor uninstall        # remove all clawdcursor config and data
$
```

Works on macOS, Linux, and Windows. The one-liner installs Node if needed, builds, and links the global shim; `npm`

is the leanest. After install run `clawdcursor consent --accept`

then `clawdcursor doctor`

. Pin a version with `VERSION=v1.0.0`

.

Open source. Any model. Localhost only. No telemetry.
