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
npm install
npm run build
npx playwright install chromium
Claude Code Configuration
Add to your Claude Code MCP settings (~/.claude/settings.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
Tools 20
browser_openLaunch Chromium and navigate to a URLbrowser_navigateNavigate to a URL with configurable wait conditionsbrowser_clickClick elements by CSS selectorbrowser_typeType into input fields, optionally clear or press Enterbrowser_readRead page content (text, HTML, title, URL, or specific elements)browser_screenshotCapture viewport or full-page screenshotsbrowser_closeClose the browserscreenshot_fullscreenCapture entire screen (multi-monitor supported)screenshot_regionCapture a rectangular region by coordinatesscreenshot_windowCapture a specific window by title (partial match)desktop_mouse_clickClick at screen coordinatesdesktop_mouse_moveMove cursor (instant or smooth animation)desktop_keyboard_typeType text via simulated keystrokesdesktop_keyboard_hotkeyPress keyboard shortcuts (e.g. ctrl+c, alt+tab)desktop_window_listList all visible windows with positions and sizesdesktop_window_focusFocus a window by titledesktop_window_resizeMove and/or resize a windowdesktop_app_launchLaunch apps by path, name, or URIdesktop_clipboard_readRead clipboard textdesktop_clipboard_writeWrite text to clipboard