Computer Use MCP Server
Enables interaction with a Linux desktop environment using X11, providing tools for screen capture, mouse control (clicking, dragging, scrolling), keyboard input, and retrieving display information.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Computer Use MCP Servertake a screenshot and tell me what's on my screen"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Computer Use MCP Server for Claude Code
An MCP (Model Context Protocol) server that gives Claude Code the ability to see and interact with your Linux desktop — take screenshots, click, type, scroll, drag, and more.
Built on top of xdotool, scrot, and ImageMagick. Designed to run as a stdio MCP server inside Claude Code.
Features
Screenshots — full desktop capture, automatically scaled to fit API constraints
Mouse control — left/right/middle/double/triple click, drag, move, scroll
Keyboard input — type text, press key combinations, hold keys
Screen zoom — capture a region at full (unscaled) resolution for reading small text
Display info — query resolution, scale factor, and coordinate space
All coordinates use a scaled coordinate space that maps to the actual screen resolution. The server handles the conversion transparently.
Related MCP server: claude-linux-mcp
Prerequisites
Linux with X11 (Wayland is not supported)
Python >= 3.10
System packages:
sudo apt install xdotool scrot imagemagick x11-utilsNote:
xdpyinfois part of thex11-utilspackage on Debian/Ubuntu — there is no standalonexdpyinfopackage.
Installation
git clone https://github.com/SebastianBaltes/claude_code_computer_use_mcp.git
cd claude_code_computer_use_mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .Claude Code Configuration
The easiest way is to use the Claude Code CLI:
claude mcp add computer-use --scope user -- /path/to/claude_code_computer_use_mcp/.venv/bin/python -m computer_use_mcp.serverReplace /path/to/ with your actual clone path. Then restart Claude Code — the computer_* tools will be available automatically.
Alternatively, add the server manually to ~/.claude.json under mcpServers:
{
"mcpServers": {
"computer-use": {
"type": "stdio",
"command": "/path/to/claude_code_computer_use_mcp/.venv/bin/python",
"args": ["-m", "computer_use_mcp.server"],
"env": {}
}
}
}Note: The valid
--scopevalues arelocal,user,project,dynamic,enterprise,claudeai, andmanaged. Useuserfor a personal installation available across all projects.
Available Tools
Tool | Description |
| Capture the full desktop |
| Left-click (with optional modifier key) |
| Right-click |
| Double-click |
| Triple-click (select line) |
| Middle-click |
| Move cursor without clicking |
| Click and drag |
| Type a text string |
| Press a key or key combo (e.g. |
| Scroll in any direction |
| Hold a key for N seconds |
| Pause for N seconds |
| Get current cursor position |
| Capture a screen region at full resolution |
| Get display resolution and scale info |
How It Works
The server detects the screen resolution via xdpyinfo and calculates a scale factor to keep screenshots within Anthropic's API image constraints (max 1568px long edge, max 1.15M total pixels). All coordinates passed by Claude are in this scaled space and get converted to actual screen coordinates before executing actions.
License
MIT
Available Tools
16 toolscomputer_cursor_positionA
Get the current mouse cursor position in scaled coordinates.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description bears full responsibility. 'Scaled coordinates' hints at the coordinate system but does not specify scaling factor or coordinate origin (screen vs window). Lacks details on what happens if no cursor exists (e.g., remote session) or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, clear sentence with no wasted words. All information is front-loaded and directly relevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters or output schema. The description mentions 'scaled coordinates', which is the key output characteristic. While it doesn't specify the exact return format (e.g., object with x and y), the tool's simplicity makes this acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters are defined in the input schema, so no additional parameter information is needed. The description does not add any meaning beyond what the schema provides, but since there are zero parameters, baseline is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('current mouse cursor position'), and a specific modifier ('in scaled coordinates'). This distinguishes it from sibling tools like 'computer_mouse_move' which moves the cursor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. However, its purpose is unique among siblings, so usage is implied. The description does not mention when not to use or provide any context about prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
computer_display_infoA
Get information about the display: resolution, scale factor, and coordinate space.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description discloses the type of information returned but does not mention side effects or safety. Since no annotations are provided, the description carries the full burden. It does not state that the operation is non-destructive or requires specific permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is clear, direct, and contains no extraneous information. It effectively communicates the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose but lacks details about return format, coordinate system specifics, or any limitations. Given zero parameters and no output schema, additional context would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the description does not need to add parameter information. Per rules, baseline 4 applies. The description does not contradict the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves display information, listing specific attributes: resolution, scale factor, and coordinate space. It directly addresses the tool's function with a specific verb and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus sibling tools (like computer_screenshot or cursor_position). However, the context implies it is for reading display properties, distinct from action tools. Lacks exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
computer_double_clickA
Double-click at the given coordinates. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | X coordinate | |
| y | Yes | Y coordinate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the coordinate scaling (1429x804 scaled from 1920x1080) but omits details like the timing of the two clicks or any auditory/visual feedback. Without annotations, more behavioral context would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two sentences with no extraneous information. Key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two integer parameters and no output schema, the description adequately covers the coordinate system. It is missing any note about the resulting action (e.g., opening a file) but remains largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions for x and y. The description adds the scaling context but does not further elaborate on coordinate semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Double-click at the given coordinates,' clearly indicating the action and its target. It distinguishes itself from siblings like left_click and triple_click.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use double-click versus alternatives, nor any context about typical use cases (e.g., opening files). It simply states the action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
computer_hold_keyB
Hold down a key for a specified duration in seconds.
| Name | Required | Description | Default |
|---|---|---|---|
| keys | Yes | Key or key combination to hold | |
| duration | Yes | Duration in seconds (max 30) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It lacks details on what happens after duration (auto-release?), behavior with key combinations, and whether it blocks other actions. Basic 'hold' behavior is implied but not elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotations. Description covers basic purpose but omits return behavior (void?), potential blocking, and error conditions. Acceptable for a simple tool but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. Description adds 'specified duration in seconds', matching schema. But doesn't clarify ambiguous terms like 'key combination' (simultaneous hold?). Baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Hold down a key') and the resource ('a key'), with a specific parameter for duration. It distinguishes from sibling tools like 'computer_key' (press) and 'computer_type' (typing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., 'computer_key' for quick presses, 'computer_type' for text). No prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
computer_keyA
Press a key or key combination. Use xdotool key names: Return, Tab, Escape, BackSpace, Delete, space, Up, Down, Left, Right, Home, End, Page_Up, Page_Down, F1-F12, ctrl+c, ctrl+v, ctrl+z, alt+F4, super, ctrl+shift+t, etc. Multiple keys can be chained with '+' for combos.
| Name | Required | Description | Default |
|---|---|---|---|
| keys | Yes | Key or key combination (e.g. 'ctrl+s', 'Return', 'alt+Tab') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description mentions xdotool key names but not side effects, error handling, or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action, examples concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple one-param tool; explanation adequate for usage, though could mention output (none).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage 100% (baseline 3); description adds key name conventions and chaining with '+', beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Press a key or key combination', distinguishing from siblings like computer_type (typing text) and computer_hold_key (holding).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides examples but lacks explicit when-to-use vs alternatives like computer_hold_key or computer_type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
computer_left_clickA
Click the left mouse button at the given coordinates. Optionally hold a modifier key (shift, ctrl, alt, super) during the click. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | X coordinate | |
| y | Yes | Y coordinate | |
| modifier | No | Optional modifier key to hold during click (shift, ctrl, alt, super) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description fully carries burden. Discloses coordinate space scaling and display dimensions. Does not detail failure modes, but acceptable for a simple click.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each essential: action, modifier option, coordinate context. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema; description does not mention return value. For a click action, success/failure could be mentioned, but the core functionality is well-covered. Fairly complete given simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (each param described). Description adds value by noting coordinates are in scaled space, which is not obvious from schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Click the left mouse button at given coordinates' and distinguishes from siblings like double_click, right_click. Includes optional modifier key, making purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: coordinates, modifier key. Implicitly distinguishes from siblings (e.g., double_click for two clicks), but lacks explicit when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
computer_left_click_dragA
Click and drag from start coordinates to end coordinates. Useful for drag-and-drop, resizing windows, selecting text regions, etc. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.
| Name | Required | Description | Default |
|---|---|---|---|
| start_x | Yes | Start X coordinate | |
| start_y | Yes | Start Y coordinate | |
| end_x | Yes | End X coordinate | |
| end_y | Yes | End Y coordinate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It mentions display resolution and coordinate space, but does not detail mouse button behavior (e.g., whether it presses and holds, if it moves to start first, or if it releases at end). For a drag operation, these are significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences. First sentence states action and use cases, second provides display context. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the agent is left wondering about return value (presumably none) and behavioral details like whether the mouse is moved to start first or if the button is released. For a drag tool, these are important for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter having a clear description (e.g., 'Start X coordinate'). The description adds only the note about scaled coordinate space, which is helpful but minor. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Click and drag from start coordinates to end coordinates' and provides specific use cases (drag-and-drop, resizing, selecting text). It distinguishes from siblings like computer_left_click and computer_mouse_move by specifying the drag action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives examples of when to use the tool (drag-and-drop, resizing, selecting text), which helps guide usage. However, it does not explicitly state when not to use it or compare to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
computer_middle_clickA
Middle-click at the given coordinates. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | X coordinate | |
| y | Yes | Y coordinate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the coordinate scaling and display size, but lacks details on the effect of middle-click (e.g., opening links, closing tabs) or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loading the action and immediately providing critical coordinate scaling information. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (2 parameters, no output schema), the description is largely complete. It explains the coordinate system but could mention the typical effect of middle-click to fully inform agent behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema describes x and y as coordinates. The description adds meaning by specifying that all coordinates are in a scaled coordinate space (1429x804 from 1920x1080), which is crucial for correct positioning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Middle-click' and the resource 'at the given coordinates'. It distinguishes from sibling tools like left_click, right_click, and double_click by specifying the middle-click behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the name and action but does not explicitly state when to use middle-click versus other click types, nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
computer_mouse_moveA
Move the mouse cursor to the given coordinates without clicking. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | X coordinate | |
| y | Yes | Y coordinate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It provides key behavioral context: the display size (1429x804 scaled from 1920x1080) and that coordinates are in scaled space. This clarifies the coordinate system and scaling, which is essential for correct usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first states the purpose, the second provides critical coordinate context. No extraneous words. Every sentence earns its place, making it concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple move tool with no output schema, the description covers the essential: what it does, the coordinate system, and that it doesn't click. It does not describe return behavior or error cases, but given the simplicity, this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaning by explaining that coordinates are in a scaled coordinate space and providing the display dimensions. This helps the agent understand the coordinate system, adding value beyond the bare schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Move the mouse cursor to the given coordinates without clicking.' It specifies the resource (mouse cursor) and the constraint (no clicking), effectively distinguishing it from clicking tools like left_click or right_click.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions 'without clicking,' which signals that this tool should be used when a pure movement is needed, not a click. However, it does not explicitly state when not to use it or mention alternative tools for similar actions (e.g., click-and-drag).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
computer_right_clickA
Right-click at the given coordinates. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | X coordinate | |
| y | Yes | Y coordinate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry full burden. It only adds coordinate scaling info but omits side effects, prerequisites, error handling, or return behavior. Insufficient for a mutation action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste. The first sentence states the action, the second provides necessary coordinate context. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description is mostly complete: it defines coordinates and scaling. However, it could hint at what a right-click typically does (e.g., context menu) but is not required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds critical context about the coordinate system (scaled from 1920x1080), clarifying that coordinates are in the scaled space. This improves parameter understanding beyond bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Right-click') and the resource ('at the given coordinates'), distinguishing it from sibling tools like left-click or double-click. The coordinate context further specifies the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use right-click versus other click types (e.g., left-click, double-click). The description lacks explicit context for choosing this tool among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
computer_screenshotA
Take a screenshot of the current desktop. Returns the screenshot as a PNG image. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description discloses output format, dimensions, and coordinate scaling. It does not mention multi-monitor behavior or performance implications, but for a simple screenshot tool it is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, concise and front-loaded with essential information. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description covers the key aspects: action, return type, and coordinate context. Minor omission of whether all monitors are captured, but overall sufficient for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. The description adds value by explaining the output and coordinate space, compensating for the lack of param detail. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action (take a screenshot), the resource (current desktop), and the output (PNG image). No other sibling tool performs this function, so differentiation is implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides coordinate space information that may help with subsequent tools but does not explicitly state when to use this tool versus alternatives or provide any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
computer_scrollA
Scroll at the given coordinates in the specified direction. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | X coordinate to scroll at | |
| y | Yes | Y coordinate to scroll at | |
| direction | Yes | Scroll direction | |
| amount | No | Number of scroll clicks (default 3) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the scaled coordinate space (1429x804) and that coordinates are in that space, which is helpful. However, it does not explain what a 'scroll click' means (line/pixel increments), whether it simulates a scroll wheel, or behavior of negative amounts. No annotations exist to compensate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. The first sentence states the action, the second provides coordinate context. Perfectly front-loaded and concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides display dimensions and coordinate space, but lacks details on expected behavior (e.g., what gets scrolled, whether coordinates must be within bounds, or return value). With no output schema, more context would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage, so baseline is 3. The description adds no further meaning beyond the schema—'scroll clicks' is mentioned but not clarified. No additional semantic enrichment.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scrolls at given coordinates in a specified direction. It uses a specific verb ('scroll') and resource ('coordinates'), and the action is distinct from sibling tools like mouse_move or computer_zoom.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool vs alternatives (e.g., hold_key with page up/down). It only states what it does without any context on best practices or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
computer_triple_clickA
Triple-click at the given coordinates (select a line of text). The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | X coordinate | |
| y | Yes | Y coordinate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the behavioral effect (line selection) and the coordinate system (scaled space) and display resolution. However, it does not mention any other behavioral traits like mouse movement, focus requirements, or return values, but for a simple click tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences covering purpose, effect, and coordinate context. Every sentence earns its place with no redundancy or wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple action tool without output schema, the description covers the essential: what it does, the coordinate system, and the display resolution. It does not mention return behavior (likely nothing returned), but for this tool type that is acceptable. It is sufficiently complete for an AI agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers 100% of parameters with basic descriptions. The description adds value by stating 'All coordinates are in the scaled coordinate space' and providing the display resolution, which clarifies the coordinate system beyond the schema's simple 'X coordinate' and 'Y coordinate'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Triple-click at the given coordinates (select a line of text).' This specifies the action (triple-click), the target (coordinates), and the effect (select a line). It effectively distinguishes from siblings like double_click (word selection) and left_click (cursor placement).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool by noting the selection outcome: 'select a line of text.' While not explicit about when not to use or alternative tools, the context of sibling tools (double_click, left_click) makes the usage clear. A more explicit guideline would elevate to 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
computer_typeA
Type a text string at the current cursor position. The text is typed character by character with a small delay. Use this for entering text into input fields, editors, etc. For special keys or shortcuts, use computer_key instead.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The text to type |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries full burden. Discloses that text is typed character by character with small delay. Lacks details on permissions but is sufficient for this context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with no wasted words. Action defined first, then behavior, then usage guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple tool with one param and no output schema, description covers purpose, usage, and behavior adequately. Could mention limitations but overall complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with description. Description adds no extra meaning to parameter beyond schema, leading to baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool types text at cursor position, with verb 'Type', resource 'text string', and context. Distinguishes from sibling computer_key for special keys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says use for entering text into fields and for special keys/ shortcuts use computer_key instead, providing clear when-to-use and when-not-to-use with sibling reference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
computer_waitA
Wait/pause for a specified duration in seconds. Useful to let UI settle.
| Name | Required | Description | Default |
|---|---|---|---|
| duration | Yes | Duration in seconds (max 30) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool pauses execution for a given duration, which is the core behavior. For a simple wait, this is adequate, though it doesn't detail if the agent is blocked or other nuances.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two short sentences that convey everything needed without any extraneous information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no annotations), the description provides complete information: what it does, the unit, and a typical use case. Nothing additional is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a description for the duration parameter. The description adds only a slight clarification that the duration is in seconds, which is already in the schema. Therefore, it meets the baseline but adds minimal extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool waits/pauses for a specified duration in seconds, with a specific use case (letting UI settle). This distinguishes it from sibling tools which perform different actions (clicking, typing, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear context for when to use the tool ('to let UI settle'), but does not explicitly mention when not to use it or list alternatives. Nonetheless, the guidance is sufficient given the tool's simplicity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
computer_zoomA
Capture a specific region of the screen at full (unscaled) resolution. Useful for reading small text or inspecting UI details. Provide top-left (x1, y1) and bottom-right (x2, y2) coordinates of the region. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.
| Name | Required | Description | Default |
|---|---|---|---|
| x1 | Yes | Top-left X coordinate | |
| y1 | Yes | Top-left Y coordinate | |
| x2 | Yes | Bottom-right X coordinate | |
| y2 | Yes | Bottom-right Y coordinate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses scaled coordinate space and display dimensions, but does not specify return value or any side effects; no annotations present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with front-loaded purpose, no extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers coordinate space and display scaling adequately, but lacks information on return value or output format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema provides per-parameter descriptions, and description adds coordinate space context, enhancing meaning beyond schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it captures a specific screen region at full resolution, distinguishing it from sibling tools like computer_screenshot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly notes usefulness for reading small text or inspecting UI details, providing clear use cases, though no explicit when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
16 tool updates
v1.0.0- First observed
computer_cursor_position - First observed
computer_display_info - First observed
computer_double_click - First observed
computer_hold_key - First observed
computer_key - First observed
computer_left_click - First observed
computer_left_click_drag - First observed
computer_middle_click - First observed
computer_mouse_move - First observed
computer_right_click - First observed
computer_screenshot - First observed
computer_scroll - First observed
computer_triple_click - First observed
computer_type - First observed
computer_wait - First observed
computer_zoom
TDQS
Each tool targets a distinct action (click, double-click, triple-click, drag, scroll, key press, type, etc.) with clear descriptions, avoiding overlap. The only potential confusion among click variants is resolved by explicit naming.
All tools follow the 'computer_<action>_<target>' pattern (e.g., computer_left_click_drag, computer_mouse_move). No mixing of naming conventions.
16 tools is well-scoped for a computer control server, covering essential mouse, keyboard, screenshot, and zoom operations without being excessive or sparse.
Covers core GUI automation operations thoroughly, but lacks clipboard access or system-level actions (e.g., opening applications). Minor gap for advanced workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Eyes and hands on real Windows PCs — observe, click, type via Glasswarp API.
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Automate cloud Chrome—navigate, click, type, screenshot, run code, record screen video
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA desktop automation MCP server that enables AI agents to interact with Linux environments through screenshots, window inspection, and input simulation. It provides tools for mouse control, keyboard input, and screen capture using xdotool and XDG Desktop Portals.MIT
- AlicenseAqualityCmaintenanceGive Claude Desktop full desktop control on Linux/X11: screenshot, mouse, keyboard, windows, clipboard, app launch. Zero-dependency MCP extension, MIT-licensed.15MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to control Linux/X11 desktops by providing tools for taking screenshots, clicking, typing, and managing windows via AT-SPI and xdotool.3MIT
- FlicenseNot gradedqualityDmaintenanceEnables LLMs to capture screenshots, inspect windows, and interact with the Hyprland desktop environment through mouse clicks and keyboard input.1-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SebastianBaltes/claude_code_computer_use_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server