ClawdCursor
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
clawdcursor is a local desktop-automation tool layer. You drive the tools yourself. Perceive BLIND FIRST, in this order: (1) accessibility read_tree / find / compile_ui — element names + screen positions, cheapest, start here; (2) system copy_all_text for the exact text of a page or document, system ocr when the tree is empty; (3) computer screenshot only as a last resort. ACT BY NAME: accessibility invoke / smart_click / set_value / select — coordinate clicks are the fallback. Accessibility positions are SCREEN coordinates: click them with computer click + space:"screen". Roadblocks only the user can clear (sign-in, 2FA, CAPTCHA, a step that needs their confirmation): call system {action:"pause_for_user", message} — ask for that ONE step only ("Sign in to Glama") and do everything before and after it yourself; for a sign-in, code or CAPTCHA, done_when (what shows on screen once they are done) ends the pause the moment they finish, with no Resume click — never for a confirmation or a choice. Never type or guess credentials. A step your own rules won't let you take (creating an account, downloading a private key, entering a password, key or token) is a roadblock too, not a reason to turn the task down: hand over that step, as wide as your rules draw it, and do the rest they allow. When a secret must go into a field or a terminal prompt, put the cursor there and ask only for the paste ("Paste your app-specific password into the Terminal, press Enter, then click Resume"), naming where it goes: never into the prompt's own reply box, whose text reaches you; afterwards pass the saved key's file path or keychain profile name, never the secret. A plan limit or upgrade wall is a roadblock too: stop, quote the blocking text and pause_for_user; never click Upgrade / Subscribe yourself. While you are driving the desktop, the user is watching the screen, not your chat: ask them on the pause card (use choices when there are options), not in your own chat — system {action:"pause_for_user", message, choices:[...], input:{placeholder?, multiline?}}. The answer {status:"replied", choice | reply} is never approval of a Send / Delete / Pay safety confirmation. A paused task returns {status:"paused"}: keep waiting, never restart it. Drive UI symbolically: compile_ui / find_button / find_field return a stable {element_id, snapshot_id} you pass to invoke/set_value — it survives layout shifts, so prefer it over pixel coordinates. Pass expect on consequential actions so a failed one reports a DEVIATION instead of a hollow success. Each action result and error ends with one line: [confirmed | unverified | refused · CODE · hint · next | failed · CODE · hint · next] — follow its next call instead of guessing. clawdcursor is a FALLBACK layer — prefer a native API, CLI, or direct file edit when one exists; reach for it when the only surface is a GUI. Full usage guide: the clawdcursor skill registered in your agent, or https://clawdcursor.com/llms.txt.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| computerA | Direct mouse/keyboard/screenshot control. Pick an action: screenshot, screenshot_region, zoom, click, double_click, right_click, middle_click, triple_click, hover, move, move_relative, scroll, scroll_horizontal, drag, drag_path, mouse_down, mouse_up, type, key, key_press, key_down, key_up, wait. |
| accessibilityA | START HERE to see and drive a window: the OS accessibility tree — read element names, find by name/role, invoke, toggle, expand/collapse, set value, select an option, query state. Pick an action: read_tree, find, get_element, focused, invoke, focus, set_value, get_value, expand, collapse, toggle, select, state, list_children, wait_for, compile_ui, find_button, find_field, smart_click, smart_type, smart_read. Always preferred over |
| windowA | Windows, apps and displays at the OS level: find, open, focus and arrange windows. For what is INSIDE a window use |
| systemA | Everything that is not a window or a UI element: exact screen text, the clipboard, shortcuts, handing a step to the user, launching by URI. For elements use |
| browserA | Chrome DevTools Protocol control — operates on DOM elements by CSS selector rather than screen pixels. Start with |
| taskA | Deprecated (removed in 1.6): drive the other tools from your own agent instead. Requires the |
| batchA | Run an ORDERED LIST of tool calls in one shot (collapses many round-trips into one). Each step is { name, arguments, expect? } ( |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Tools are cleanly divided by modality—accessibility, computer, browser, window, system—and the descriptions explicitly steer between them (e.g., prefer accessibility for named elements, use computer only for pixel-level control). Minor overlap remains: open_app/open_file/open_url and navigate appear across system, window, and browser, and the deprecated task tool overlaps with direct agent operation.
All seven tools are lowercase single-word category nouns (accessibility, system, computer, window, browser, batch, task), a consistent and predictable pattern. Sub-actions are namespaced under each tool's action parameter, keeping top-level naming uniform.
Seven top-level tools is well within the 3–15 sweet spot for a desktop-automation server, with each tool earning its place as a distinct modality. Even counting the deprecated task tool, the surface is not bloated.
Covers the full automation lifecycle: perception (accessibility tree, DOM, OCR, screenshot), action (invoke, click, type), window management, clipboard, shortcuts, user handoff, and batching. Deprecated entries (task, delegate) are the only signs of missing or outdated operations; there are no major workflow dead ends.