# 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