Skip to main content
Glama
README.md
# MCP Desktop Tools

An MCP server that gives Claude desktop automation capabilities — browser control, screenshots, mouse/keyboard input, window management, and clipboard access.

Built with TypeScript, Playwright, and native Windows APIs.

## Tools

### Browser
| Tool | Description |
|------|-------------|
| `browser_open` | Launch Chromium and navigate to a URL |
| `browser_navigate` | Navigate to a URL with configurable wait conditions |
| `browser_click` | Click elements by CSS selector |
| `browser_type` | Type into input fields, optionally clear or press Enter |
| `browser_read` | Read page content (text, HTML, title, URL, or specific elements) |
| `browser_screenshot` | Capture viewport or full-page screenshots |
| `browser_close` | Close the browser |

### Screenshots
| Tool | Description |
|------|-------------|
| `screenshot_fullscreen` | Capture entire screen (multi-monitor supported) |
| `screenshot_region` | Capture a rectangular region by coordinates |
| `screenshot_window` | Capture a specific window by title (partial match) |

### Desktop
| Tool | Description |
|------|-------------|
| `desktop_mouse_click` | Click at screen coordinates |
| `desktop_mouse_move` | Move cursor (instant or smooth animation) |
| `desktop_keyboard_type` | Type text via simulated keystrokes |
| `desktop_keyboard_hotkey` | Press keyboard shortcuts (e.g. ctrl+c, alt+tab) |
| `desktop_window_list` | List all visible windows with positions and sizes |
| `desktop_window_focus` | Focus a window by title |
| `desktop_window_resize` | Move and/or resize a window |
| `desktop_app_launch` | Launch apps by path, name, or URI |
| `desktop_clipboard_read` | Read clipboard text |
| `desktop_clipboard_write` | Write text to clipboard |

## Setup

```bash
npm install
npm run build
npx playwright install chromium
```

## Claude Code Configuration

Add to your Claude Code MCP settings (`~/.claude/settings.json`):

```json
{
  "mcpServers": {
    "desktop-tools": {
      "command": "node",
      "args": ["C:/Users/<you>/mcp-desktop-tools/dist/index.js"]
    }
  }
}
```

Restart Claude Code to pick up the new server.

## Requirements

- Windows 10/11
- Node.js 18+
- PowerShell (used for native window/mouse/keyboard operations)

## License

MIT

TDQS

A3.5/5.0

Scored across 20 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no ambiguity. The browser tools handle web interactions, desktop tools manage OS-level operations, and screenshot tools capture different screen areas, all with specific, non-overlapping functions.

Naming Consistency5/5

All tools follow a consistent snake_case naming pattern with clear verb_noun structure (e.g., browser_click, desktop_clipboard_read, screenshot_fullscreen). The naming is predictable and organized by domain prefixes (browser_, desktop_, screenshot_).

Tool Count4/5

With 20 tools, the count is slightly high but reasonable for the broad scope of desktop automation covering browser control, OS interactions, and screenshot functionality. Each tool serves a distinct purpose, though some could potentially be consolidated.

Completeness5/5

The toolset provides comprehensive coverage for desktop automation, including full browser control (navigation, interaction, reading), OS operations (clipboard, keyboard, mouse, windows), and screenshot capabilities (fullscreen, region, window). No obvious gaps exist for the stated purpose.

Maintenance

ActivityInactive
ResponsivenessNo issues