dsh-computer-use
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 |
|---|---|
| list_appsA | List running applications with their handles (pid, name, bundle_id, active). |
| get_app_stateB | Observe an app ONCE. Returns the accessibility tree + a fresh state_id that element targets reference. Call ONCE before acting; re-observe only after an action or when the next step needs fresh UI state. |
| screenshotA | Capture a full-display screenshot. Prefer get_app_state. Use this only when accessibility cannot express the target and pixel coordinates are needed. |
| zoomC | Zoom into a region of the current raster for precise coordinate selection. |
| list_displaysA | List all connected displays with their bounds and primary status. |
| switch_displayC | Switch the active display for screenshot and coordinate operations. |
| cursor_positionA | Get the current cursor position in screen coordinates. |
| list_windowsB | List an application's windows with bounds and focus info. |
| open_applicationC | Launch or activate an application by name, pid, or bundle_id. |
| left_clickC | Left-click a target. Element target is preferred (background-safe). |
| double_clickC | Double-click a target. |
| triple_clickC | Triple-click a target. |
| right_clickC | Right-click a target to open its context menu. |
| middle_clickC | Middle-click a target. |
| scrollB | Scroll at a target by the given delta (positive = down/right). |
| mouse_moveB | Move the virtual pointer to a coordinate target without clicking (hover). |
| left_click_dragC | Drag from one target to another. Both endpoints must resolve to the same app. |
| left_mouse_downA | Press and hold the left mouse button at a target. Must be followed by left_mouse_up. |
| left_mouse_upC | Release a previously pressed left mouse button. |
| typeC | Type text into an element or app-scoped target. |
| set_valueA | Atomically set the value of an editable element (preferred over type). |
| select_textC | Select a text range within an editable element. |
| keyB | Press a non-text key or explicit chord (Return, Escape, cmd+a). |
| hold_keyC | Hold a key for a duration (ms). |
| request_accessA | Request OS-level accessibility and screen recording permissions. Call once before acting. |
| stop_computer_controlA | Immediately stop the active control session. Invalidates all pending actions. |
| waitA | Wait for a specified duration (ms) before proceeding. |
| read_clipboardA | Read the current clipboard text content. |
| write_clipboardB | Write text to the clipboard. |
| perform_actionC | Execute a named semantic action on an element (e.g. "press", "show_menu"). |
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 30 tools
Most tools are distinct input/output primitives, but the fine-grained mouse controls (left_click vs left_mouse_down/up vs left_click_drag) and overlapping text-entry helpers (type, set_value, key, perform_action) can require careful reading. The descriptions clarify intended usage enough that an agent can mostly tell them apart.
Names predominantly follow a snake_case verb_noun pattern such as list_apps, get_app_state, and read_clipboard, which makes the overall set predictable. A few bare verbs or nouns (wait, key, type, screenshot) and perform_action break the otherwise consistent rhythm.
30 tools is on the high side and pushes past the typical well-scoped range. Many mouse variants and utility operations could be consolidated, making the tool surface feel heavier than necessary for an agent to navigate effectively.
The tool set covers the core computer-use lifecycle well: permissions, observation, mouse/keyboard input, clipboard, display/window inspection, and session control. Minor gaps such as window manipulation or app termination remain, but common automation tasks are achievable.