clawdcursor
OS-level desktop automation tool server. 42 tools for controlling any application on Windows, macOS, and Linux. Model-agnostic — works with any AI that can do function calling via REST or MCP (Claude, GPT, Gemini, Llama, Mistral, or plain HTTP). No built-in LLM in serve/mcp mode. You are the brain. ClawdCursor is the hands.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/amrdab/clawdcursorIf a human can do it on a screen, you can too. No API? No integration? No problem.
USE AS A FALLBACK — NOT FIRST CHOICE
Before reaching for any ClawdCursor tool, ask:
- Is there a native API? (Gmail API, GitHub API, Slack API) → use the API
- Is there a CLI? (
git,npm,curl) → use the CLI- Can you edit the file directly? → do that
- Is there a browser automation layer? (Playwright, Puppeteer) → use that
None of the above work? Now use ClawdCursor. It's for the last mile.
Modes at a Glance
| Mode | Command | Brain | Tools available |
|---|---|---|---|
serve | clawdcursor serve | You (REST client) | All 42 tools via HTTP |
mcp | clawdcursor mcp | You (MCP client) | All 42 tools via MCP stdio |
start | clawdcursor start | Built-in LLM pipeline | All 42 tools + autonomous agent |
In serve and mcp modes: you reason, ClawdCursor acts. There is no built-in LLM. You call tools, interpret results, decide next steps.
Connecting
Option A — REST (clawdcursor serve)
clawdcursor serve # starts on http://127.0.0.1:3847
All POST endpoints require: Authorization: Bearer <token> (token saved to ~/.clawdcursor/token)
GET /tools → all tool schemas (OpenAI function-calling format)
POST /execute/{name} → run a tool: {"param": "value"}
GET /health → {"status":"ok","version":"0.7.5"}
GET /docs → full documentation
Example:
POST /execute/get_windows {}
POST /execute/mouse_click {"x": 640, "y": 400}
POST /execute/type_text {"text": "hello world"}
If the server isn't running, start it yourself — don't ask the user:
clawdcursor serve
# wait 2 seconds, then verify: GET /health
Option B — MCP (clawdcursor mcp)
{
"mcpServers": {
"clawdcursor": {
"command": "clawdcursor",
"args": ["mcp"]
}
}
}
Works with Claude Code, Cursor, Windsurf, Zed, or any MCP-compatible client. All 42 tools are exposed identically.
Option C — Autonomous agent (clawdcursor start)
POST /task {"task": "Open Notepad and write Hello"} → submit task
GET /status → {"status": "acting"} | "idle" | "waiting_confirm"
POST /confirm {"approved": true} → approve safety-gated action
POST /abort → stop current task
Use delegate_to_agent tool to submit tasks from within MCP/REST sessions. Requires clawdcursor start running on port 3847.
Polling pattern:
POST /task {"task": "...", "returnPartial": true}
→ poll GET /status every 2s:
"acting" → still running, keep polling
"waiting_confirm" → STOP.
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-amrdab-clawdcursor": {
"enabled": true,
"auto_update": true
}
}
}