MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

MCP server for computer use automation — screenshots, mouse, keyboard control

Created 3/31/2026
Updated about 9 hours ago
Repository documentation and setup instructions

computer-use-mcp

MCP server for computer use automation. Provides screenshot, click, keyboard, mouse, and drag-and-drop tools. Supports Linux (X11) and Windows (10/11).

System Dependencies

Linux

sudo apt install xdotool scrot x11-xserver-utils
  • xdotool — mouse/keyboard automation
  • scrot — screenshots
  • xrandr (from x11-xserver-utils) — screen resolution

Windows

No external dependencies required. Uses built-in PowerShell with .NET Framework:

  • PowerShell — comes pre-installed on Windows 10/11
  • user32.dll — native mouse/keyboard input via SendInput P/Invoke
  • System.Drawing — screenshot capture
  • System.Windows.Forms — screen resolution detection

Requirements:

  • Windows 10 or 11
  • .NET Framework (pre-installed)
  • Desktop session must be active (screen unlocked)

Setup

pnpm install
pnpm build

Usage

With Claude Code

Add to ~/.claude/settings.json (Linux) or %USERPROFILE%\.claude\settings.json (Windows):

{
  "mcpServers": {
    "computer-use": {
      "command": "node",
      "args": ["/path/to/computer-use-mcp/dist/index.js"]
    }
  }
}

Development

pnpm dev

Tools

| Tool | Description | |------|-------------| | screenshot | Capture full screen or a region. Returns optimized JPEG base64. | | click | Click at (x, y) with left/right/middle button. | | double_click | Double-click at (x, y). | | type_text | Type text at current cursor position. | | key_press | Press key combinations (e.g. ctrl+c, alt+tab). | | mouse_move | Move cursor without clicking. | | scroll | Scroll up/down at a position. | | drag | Drag and drop from one position to another. | | get_screen_size | Get screen resolution. | | get_cursor_position | Get current cursor position. | | wait | Wait N milliseconds between actions. |

Platform Details

Linux

  • Uses xdotool for mouse/keyboard, scrot for screenshots, xrandr for screen info
  • Requires X11 display (Wayland not supported)

Windows

  • Uses PowerShell with inline C# (Add-Type) calling user32.dll SendInput
  • ~200-500ms overhead per operation due to PowerShell startup and Add-Type compilation
  • Captures primary monitor only
  • typeText uses KEYEVENTF_UNICODE for full Unicode support
  • delay_ms parameter on type_text is ignored (SendInput sends all chars at once)
  • DPI-aware: calls SetProcessDPIAware before coordinate/screenshot operations

Notes

  • Screenshots are automatically resized if wider than 1920px and compressed to JPEG quality 80
  • A 100ms delay is applied after each action to avoid race conditions
  • All actions are logged to stderr in JSON format
  • Platform is auto-detected at startup via process.platform
Quick Setup
Installation guide for this server

Install Package (if required)

npx @modelcontextprotocol/server-computer-use-mcp

Cursor configuration (mcp.json)

{ "mcpServers": { "felipethecosta-computer-use-mcp": { "command": "npx", "args": [ "felipethecosta-computer-use-mcp" ] } } }