desktopcontrol-mcp
Provides tools for controlling Linux (X11) desktop windows and applications, including listing apps and windows, taking screenshots, clicking, typing text, pressing keys, using hotkeys, pasting text, scrolling, dragging, and optionally launching apps. It uses xdotool, maim/import, and xclip, and supports Java Swing app interaction via an agent.
Click on "Deploy 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., "@desktopcontrol-mcptake a screenshot and list all open windows"
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.
desktopcontrol-mcp
Servidor MCP (stdio) que controla janelas da máquina onde roda — Windows e Linux (X11) — com um agente JVM para aplicações Java Swing.
Requisitos
Instale antes de pedir a instalação do MCP:
Windows | Linux | |
Node.js | 18 ou superior | 18 ou superior |
Claude Code | instalado | instalado |
Sistema | Windows 10/11 com PowerShell 5.1 (já incluso) | sessão X11 (Wayland puro não é suportado) |
Pacotes | nenhum |
|
Sem tela (servidor) | — |
|
Apps Java Swing (opcional) | JDK (não só JRE) | JDK (não só JRE) |
Para conferir o que falta: npx -y desktopcontrol-mcp --doctor.
Related MCP server: planchette
Instalação
Com os requisitos cumpridos, cole este prompt no Claude Code (Windows ou Linux):
Instale o MCP desktopcontrol-mcp (pacote npm `desktopcontrol-mcp`, https://github.com/RobsonSilvaVR/desktopcontrol-mcp).
Registre-o com `claude mcp add desktopcontrol-mcp -- npx -y desktopcontrol-mcp@0.1.0` (no Windows, use `cmd /c npx -y desktopcontrol-mcp@0.1.0`). Se esta máquina não tiver tela, adicione `-e MCP_ENABLE_LAUNCH=1`.
Depois confirme com `claude mcp list` e me diga se preciso reiniciar o Claude Code.Ou direto no terminal:
# Linux / macOS
claude mcp add desktopcontrol-mcp -- npx -y desktopcontrol-mcp@0.1.0
# Windows
claude mcp add desktopcontrol-mcp -- cmd /c npx -y desktopcontrol-mcp@0.1.0Diagnóstico do que falta na máquina: npx -y desktopcontrol-mcp --doctor.
Início mais rápido (clone)
Com a versão fixada (@0.1.0) o npx usa o cache e inicia em ~1,4 s; sem versão ele consulta o registro a cada início (~12 s no Windows). Para atualizar, troque o número da versão no registro. Para iniciar na hora (~0,1 s), instale a partir do código:
git clone https://github.com/RobsonSilvaVR/desktopcontrol-mcp
cd desktopcontrol-mcp && npm install
claude mcp add desktopcontrol-mcp -- node "$(pwd)/server.mjs"No Windows (PowerShell) use node "$PWD\server.mjs". Para atualizar: git pull && npm install.
Não registre com
npx github:...: ele refaz o download a cada início (~95 s no Windows) e o Claude Code desiste do servidor após 30 s.
Linux sem tela
O launch_app (habilitado por MCP_ENABLE_LAUNCH=1) sobe um Xvfb com o openbox e abre o programa nele.
Tools
Genéricas: list_apps list_windows screenshot click type_text press_key hotkey paste_text scroll drag (e launch_app, opt-in).
Swing: swing_tree swing_click swing_set_text swing_focus swing_key swing_type swing_cells.
Configuração
Variável | Efeito |
| Restringe os apps controláveis por nome de processo. Vazia (padrão) = todos. |
| Habilita a tool |
| JVM de reserva para anexar o agente Swing. |
| Pasta do arquivo de porta do agente, se o app usar outro |
Este MCP controla teclado e mouse da máquina. Use
MCP_ALLOWED_APPSquando o agente não for totalmente confiável.
Como funciona
Windows:
vendor/orca/runtime.ps1(UI Automation + Win32, do projeto Orca, MIT) em modo-Serve, com patch para teclas F1–F12.Linux:
xdotool+maim/import+xclip. Validado em Ubuntu 24.04 (Xvfb + openbox) com apps Swing em Java 8 e 11.Swing:
swing/swing-agent.jarabre um socket local (127.0.0.1, token emjava.io.tmpdir/mcp-swing-<pid>.json), lê a árvore de componentes e injeta eventos na EDT sem depender de foco do SO nem de acessibilidade. Sem foco, a tecla é entregue direto aosKeyEventDispatcherdo app.
Agente Swing
Anexo automático na 1ª chamada
swing_*pela Attach API, usando a JVM do próprio app (JDK 8 precisa dotools.jar, ou seja, JDK e não JRE) e, se falhar, oJAVA_HOME.Alternativa sem anexo: iniciar o app com
-javaagent:<caminho>/swing/swing-agent.jar.swing_treecomonlyText=trueserve de "leitura de tela".JDK 16+ pode exigir
--add-opens java.desktop/java.awt=ALL-UNNAMEDpara a entrega de teclas sem foco.
Desenvolvimento
npm install
JDK=/caminho/do/jdk8 npm run build # recompila swing/swing-agent.jar
npm test
node examples/swing-keys.mjs <pid> F1 EscapeLicença
MIT. O arquivo vendor/orca/runtime.ps1 é do projeto Orca (MIT, Lovecast Inc.), com alteração local — ver vendor/orca/LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Securely control computers you explicitly pair through files, terminals, processes, screenshots, desktop UI/input, clipboard, browser automation, diagnostics, and document tools.
Eyes and hands on real Windows PCs — observe, click, type via Glasswarp API.
Automate cloud Chrome—navigate, click, type, screenshot, run code, record screen video
Drive real devices from your AI Coding tool. Embed a client SDK (Unity, Godot, Flutter, iOS/macOS, Android, React Native, Web) in your app, then capture screenshots, traverse the UI tree, inject taps and key events, and run automated test tasks on the physical device over a secure relay.
Related MCP Servers
- AlicenseAqualityBmaintenancePlaywright for the entire OS. Give AI agents eyes and hands on any desktop app — find, click, type, and read UI elements across Linux, macOS, and Windows.2747MIT
- AlicenseNot gradedqualityCmaintenanceEnables coding agents to control other application windows by providing primitives for clicking, typing, capturing screenshots, and window management. Supports macOS, Windows, and Linux.MIT
- FlicenseBqualityCmaintenanceEnables local Windows UI automation and screen capture, targeting windows that are difficult to automate such as games and legacy apps, with tools for window management, mouse and keyboard input, and desktop capture.8-
- AlicenseNot gradedqualityDmaintenanceProvides desktop automation tools for Windows, enabling mouse and keyboard control, screenshots, clipboard management, and application interaction via the MCP protocol.75 npmMIT