Linux Agent Desktop
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OBSERVER_PORT | No | Port for the read-only observer server (used with the --observer-port CLI option, e.g. 8765). |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| desktop_capabilitiesB | Report actual backend support and restrictions without inspecting the host desktop. |
| desktop_tasksA | List this client's tasks, including operator-enrolled live windows. |
| desktop_open_taskB | Launch qt, gtk, browser, wayland-qt, wayland-gtk, or wayland-canvas on a private display. Never attaches to user apps. |
| desktop_discoverC | List this task's owned windows and coordinate space; action_id is a unique request identifier. |
| desktop_actionB | Run a permitted action on an enrolled target. Use returned target ID and coordinates. Inspect to verify writes. Actions: geometry, tree, focus(), move(x,y), resize(width,height), click(x,y), type(text), key(key,modifier), scroll(x,y,steps), drag(x,y,end_x,end_y), set_text(element,text), invoke(element,name), dialog(accept). Non-success may have unknown effects; query desktop_result before any retry. |
| desktop_screenshotB | Capture only the enrolled window, returning a PNG image in MCP content; never saved to the audit log. |
| desktop_resultB | Retrieve durable, content-free action status. Images, text and accessibility content are never persisted. |
| desktop_close_taskC | Cancel work; stop owned fixture processes or detach a live target without closing it. |
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 8 tools
Each tool maps to a distinct phase of the workflow: enumerate tasks, open, discover windows, act, screenshot, poll result, close, and query capabilities. The only mild overlap is between desktop_tasks (lists tasks and enrolled live windows) and desktop_discover (lists a task's owned windows), but the descriptions make the boundary clear. desktop_action is a large catch-all, though its action list is well-documented.
Every tool shares the predictable 'desktop_' prefix in snake_case, which makes the set easy to scan. However, the suffixes mix verb_noun forms (open_task, close_task) with bare nouns (tasks, capabilities, action, screenshot, result) and one bare verb (discover), so the pattern is not uniformly verb_noun.
Eight tools is well-scoped for a desktop automation server, with no redundant entries. Each tool covers a distinct lifecycle step (open, discover, act, capture, poll, close) plus a capability probe.
The lifecycle is essentially fully covered: task creation, window discovery, action execution with durable result polling, screenshots, and teardown, plus a capabilities check. Minor gaps exist, such as no explicit wait/synchronization primitive or direct window-tree query outside the action call, but agents can work around these with desktop_result polling and the 'tree' action.