EXTRA - Native Computer Use — Claude Code MCP server
Gives AI agents direct desktop control across Linux, macOS, and Windows. It handles mouse clicks, keyboard input, and UI inspection via native accessibility trees.
claude mcp add extra -- uvx extra-desktopWhat EXTRA - Native Computer Use does
The server links local LLM agents to desktop operating systems without browser add-ons. It pairs GPU-accelerated frame grabbing with native accessibility APIs: AT-SPI2 on Linux, Quartz on macOS, and COM UI Automation on Windows. This architecture cuts token usage by up to 225 times.
Agents dispatch hardware-level mouse and keyboard events directly to target applications with zero coordinate drift. Running the server requires an isolated Python 3.10+ environment alongside a supported OS: Wayland or X11 on Linux, macOS 12.3 or higher, or 64-bit Windows 10/11. Without granting explicit accessibility and input permissions in your OS settings, the agent cannot control user windows.
What it helps with
- click desktop buttons and menus without coordinate drift
- enter text and shortcuts into local apps without browser wrappers
- inspect OS accessibility hierarchies to avoid heavy visual token loads
- automate routine file management across local directories
Example prompts for the agent
- Open LibreOffice Calc, calculate invoice totals from my downloads, and build a chart
- Tidy up my desktop folder by moving screenshots to Pictures and deleting empty folders
- Launch VLC media player and start playing background audio
How to install EXTRA - Native Computer Use
Platform CLI
claude mcp add extra -- uvx extra-desktopuvx runs the command named after the package; if the README names another one, use uvx --from extra-desktop <command>
Platform CLI
codex mcp add extra-native-computer-use -- uvx extra-desktopuvx runs the command named after the package; if the README names another one, use uvx --from extra-desktop <command>
Config file
{
"mcpServers": {
"extra-native-computer-use": {
"command": "uvx",
"args": [
"extra-desktop"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from extra-desktop <command>
Config file
{
"servers": {
"extra-native-computer-use": {
"type": "stdio",
"command": "uvx",
"args": [
"extra-desktop"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from extra-desktop <command>
Platform CLI
gemini mcp add extra-native-computer-use uvx extra-desktopuvx runs the command named after the package; if the README names another one, use uvx --from extra-desktop <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about EXTRA - Native Computer Use
How to install EXTRA - Native Computer Use in Claude Code?
Run claude mcp add extra -- uvx extra-desktop in your terminal. You need uvx and a local Python 3.10+ setup for this command to work.
What does EXTRA - Native Computer Use do?
It allows your AI agent to see your desktop, click buttons, enter keystrokes, and interact with native desktop software across Linux, macOS, and Windows.
How does Extra avoid inaccurate clicks?
It inspects operating system accessibility hierarchies and captures GPU frames with latency under 3 ms, providing exact element coordinates rather than guessing positions from screenshots.