claude-background-control
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.
This server publishes no instructions, or was last inspected before Glama recorded them.
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 |
|---|---|
| screenshotA | Capture as PNG: the main screen, a region (x, y, w, h), or one app's front window (app), even if other windows cover it. Image pixels equal screen points; for a window, add the reported origin to get screen coordinates for click. |
| inspectA | List UI elements (id, role, label, value, frame) of an app's windows via the accessibility tree. The preferred way to find what to click. Pass find to get only matching elements instead of the whole tree. |
| click_elementA | Press a button/link or focus a text field by id or label. Uses accessibility actions (no mouse movement) and falls back to a real click at the element center. |
| set_valueA | Set a text field's value directly through accessibility. Works in background apps and with any language, without touching the keyboard or clipboard. |
| clickA | Real mouse click at screen coordinates (points). Fallback for content without accessibility info. |
| scrollB | Scroll with the mouse wheel, at (x, y) if given, else wherever the cursor is. |
| dragB | Drag with the left mouse button from (x1, y1) to (x2, y2): select text, move items, resize. |
| menuA | Use an app's menu bar by item names, e.g. path ["File", "Save…"]. A path ending on a menu (or empty) lists its items; ending on an item clicks it. Works on background apps. Names are localized ("..." matches "…"). |
| typeA | Type text into the focused element of the frontmost app (via paste, so Korean and other IME text work; the clipboard, images included, is restored). Prefer set_value for plain text fields. |
| keyA | Press a key or combo in the frontmost app, e.g. "return", "cmd+s", "cmd+shift+t", "esc", "down". repeat presses it several times. |
| wait_forA | Wait until an element matching find (role or label, like inspect find) appears in the app, or disappears with gone=true. Use after actions that open dialogs, load pages, or show spinners. |
| activate_appA | Launch or bring an app to the front (needed before type/key, which go to the frontmost app). |
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 12 tools
Most tools target clearly distinct actions (drag, key, scroll, inspect, screenshot, wait_for), and the descriptions actively steer between the overlapping pairs: type vs set_value (frontmost/paste vs background/accessibility) and click vs click_element (raw coordinates vs accessibility target). These pairs remain somewhat confusable at a glance, but the guidance resolves them, so only minor ambiguity remains.
Everything is snake_case, but the convention is mixed: some names are verbs (drag, type, click, scroll, inspect) while others are bare nouns (menu, key, screenshot) or noun-verbs (click_element, set_value). It stays readable, but there is no single predictable verb_noun pattern.
12 tools is well-scoped for a desktop GUI automation surface, with each tool covering a distinct primitive (input, navigation, inspection, capture) and none appearing redundant.
The set covers a broad automation lifecycle: launch/activate, inspect, click/type/key/set_value, scroll/drag, wait, and screenshot, with accessibility and coordinate fallbacks. Minor gaps exist (e.g. right-click/context menus, hover), but agents can work around them.