linux-computer-mcp
Provides an AI agent with a fixed local Linux desktop workspace, enabling screen capture, mouse/keyboard input, window management, and application launching on the host Linux system.
Click on "Install 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., "@linux-computer-mcpTake a screenshot of the current workspace"
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.
Linux Computer
Linux Computer gives an AI agent a fixed local X11 workspace while you keep using the same laptop. The workspace appears as one ordinary Linux Computer window that can be moved, tiled, floated, resized, hidden, killed, and reopened without changing the agent's desktop or screenshot coordinates.
This is experimental, machine-specific systems software—not a general-purpose desktop product. Read Supported environment and the disclaimer before running it.
What it does
Presents a persistent fixed-size desktop through a detachable local viewer.
Runs its own container-scoped dwm with nine tags, layouts, and focus state.
Gives MCP a stable screenshot and coordinate space independent of the viewer.
Separates agent and human pointer/keyboard focus with an XInput2 MPX seat.
Allows atomic agent/human ownership handoff; agent ownership makes the viewer watch-only.
Can attach and detach the same live host X11 window without restarting its process or changing its application state.
Leaves the installed host dwm binary and configuration untouched.
Ships ready-to-run x86-64 native artifacts; normal installation does not compile Xorg, dwm, or the native workspace components.
The first-principles architecture is in DESIGN.md.
Related MCP server: taw-computer
Supported environment
The only supported and tested target is the original development laptop:
Component | Tested value |
Distribution | Gentoo Linux |
Architecture | x86-64, glibc |
Kernel |
|
Host display server | X.Org X Server |
Host window manager | dwm |
GPU/driver | AMD Radeon 890M / |
Display topology | One 2240×1400 eDP panel |
Python |
|
Other Xorg releases, kernels, GPUs, drivers, window managers, distributions, multi-monitor layouts, docks, hotplug, suspend/resume, and application releases are untested and unsupported. They may work, but please treat that as a porting effort. There is no native Wayland support, and Wayland windows cannot be attached.
The prebuilt executables in vendor/ are dynamically linked x86-64/glibc
binaries from that Gentoo system. They are not promised to run on another
distribution or libc. Integrity verification does not imply ABI compatibility.
Backends
same-server
The native backend keeps the host and workspace on the same Xorg server. It
reserves an unscanned rectangle below the physical outputs, runs an internal
dwm beneath an override-redirect container, and uses a separate MPX input seat.
Because attached windows never leave :0, the exact live X11 window can be
reparented into and out of the workspace.
This backend temporarily changes the root framebuffer and RandR panning tracking state. It does not add a monitor or patch/restart host dwm. A device-scoped barrier keeps the human pointer on the physical display, and clean stop/recovery restores RandR and MPX state.
xephyr
The default fallback runs a separate X server in the viewer. It provides a
stronger accidental separation boundary, but a live :0 window cannot migrate
to Xephyr's :100. Applications must be launched inside the nested server.
Install
Follow INSTALL.md. The short version for the tested layout is:
git clone https://github.com/Ocean-Moist/linux-computer.git ~/linux-computer
cd ~/linux-computer
uv sync --frozen --no-dev
./scripts/verify-production-artifactsDo not run make for a normal installation. Source and build files are present
for maintainers, but the launchers consume the checked-in native artifacts.
If you would rather have Codex or Claude Code inspect the machine, install the MCP, and adapt/install the bundled skill, use the guarded prompts and exact commands in Agent-assisted setup.
Start and stop
Start the isolated Xephyr fallback:
~/linux-computer/bin/linux-computer startStart the native same-server backend:
~/linux-computer/bin/linux-computer start \
--backend same-serverThe start command is the foreground supervisor. Keep it in a durable terminal or session. In another terminal:
~/linux-computer/bin/linux-computer status
~/linux-computer/bin/linux-computer doctor
~/linux-computer/bin/linux-computer show
~/linux-computer/bin/linux-computer hide
~/linux-computer/bin/linux-computer stopIf the same-server supervisor was killed or left stale state:
~/linux-computer/bin/linux-computer recoverdoctor verifies observed agent-pointer coordinates and performs an invisible
XI2 motion/hit-test/button canary; structural MPX state alone is not considered
proof that input works.
Ownership and live windows
The workspace starts in agent ownership. The viewer remains visible but ignores local input. Take control and return it atomically with:
~/linux-computer/bin/linux-computer takeover
~/linux-computer/bin/linux-computer releasetakeover arms human input but does not steal the laptop immediately. Click
inside the rendered canvas to capture the keyboard and pointer; the title says
when capture is active. While captured, host dwm shortcuts are contained and
operate the internal desktop. Press Ctrl+Alt+G to release the devices back to
the host. release, viewer hide/close, and ownership loss also force-release
capture.
With same-server, attach the currently focused host X11 window, attach its
declared family, launch a new application, or detach it later:
~/linux-computer/bin/linux-computer attach "$(xdotool getactivewindow)"
~/linux-computer/bin/linux-computer attach --family "$(xdotool getactivewindow)"
~/linux-computer/bin/linux-computer launch alacritty
~/linux-computer/bin/linux-computer windows
~/linux-computer/bin/linux-computer detach WINDOW_ID--family may move more windows than the selected one. It is useful when an
multi-window application shares one X client connection across top-levels,
because X11 ClientPointer policy is per client rather than per window.
Linux Computer does not automatically start or special-case a browser. Launch or attach applications explicitly. Attaching a signed-in application preserves its existing process, credentials, and authority, which is convenient but also part of the AI-control risk described below.
Internal dwm
Internal dwm uses Alt as Mod. Common bindings are:
Alt+1..9: view a tagAlt+Shift+1..9: move the focused window to a tagAlt+j/k: change focusAlt+t/f/m: tiled/floating/monocle layoutAlt+Shift+Space: toggle floatingAlt+Enter: terminalAlt+d: dmenuAlt+Shift+q: close the focused workspace client
The complete list is in
skills/linux-computer-use/references/dwm-bindings.md.
In same-server mode, MCP routes internal dwm Alt shortcuts over a private daemon
command rather than injecting host-visible Alt chords.
MCP
The stdio entry point is:
~/linux-computer/bin/linux-computer-mcpIt exposes only fixed-canvas capture, bounded workspace input, status/waiting,
and exact-executable launch. It does not receive the host DISPLAY or
Xauthority and cannot attach windows, change ownership, manage viewers,
recover, or stop the workspace. Those remain trusted local CLI operations.
The server is expected to fail initialization while no workspace is running. Start Linux Computer before starting or reloading the client that owns the MCP connection. Codex and Claude Code registration are covered in INSTALL.md.
Verification
uv run --frozen pytest
./scripts/verify-production-artifacts
./scripts/isolated-production-test
./scripts/live-isolation-testThe isolated production test starts a disposable Xorg dummy server and exercises the real daemon, bounded input/capture, internal dwm, live attach/detach, and cleanup. The live isolation test touches the active X session; read it before running it and do not run it while doing important work.
Security and disclaimer
Same-server mode is an isolation mechanism for cooperative local software, not a security boundary against malicious X11 clients or other processes running as the same Unix user. It reparents live windows and temporarily changes Xorg RandR/input state. A crash or driver incompatibility can disrupt the graphical session, strand windows, lose unsaved application work, or require restarting Xorg.
Giving an AI computer-use access is independently dangerous. An agent may read private on-screen data, follow prompt-injection instructions from a webpage, send messages, alter or delete data, make purchases, download or upload files, or act through any account already signed in to a controlled application. A live attached window retains the authority of its existing process and account. The bounded MCP transport limits access to workspace actions; it does not make the agent's decisions trustworthy or make consequential web actions reversible.
Back up important data, close or save important work, test Xephyr first, and be
prepared to use recover or restart the X session. Use least-privilege test
accounts/profiles, keep sensitive information out of the workspace, supervise
the agent, and require confirmation for external or irreversible actions. Do
not use this on a machine where interruption, disclosure, or data loss is
unacceptable. See DISCLAIMER.md
for the complete project warning and THIRD_PARTY_NOTICES.md
for bundled-component terms.
License
Original Linux Computer code and documentation are released into the public domain under the Unlicense. Bundled and derived third-party components retain their upstream licenses; the Unlicense does not replace those terms.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityAmaintenanceA virtual Linux desktop as an MCP server, shipped in Docker. Agents drive screen, mouse, keyboard across any GUI — browsers, IDEs, office suites, Wine/Windows apps, legacy software — many in parallel.Last updated12144
- AlicenseBqualityDmaintenanceAn MCP server that provides AI agents with a full Ubuntu desktop environment inside Docker, enabling them to perform complex computer tasks like browsing, coding, testing, and GUI automation.Last updated368MIT
- Alicense-qualityAmaintenanceControls a real Linux desktop from any MCP host. Reads accessibility trees, takes screenshots, and drives clicks, scrolls, and keystrokes across GNOME, KDE/KWin, Hyprland, i3, and COSMIC.Last updated736357MIT
- Alicense-qualityCmaintenanceEnables full Linux desktop control including windows, mouse, keyboard, clipboard, audio, screenshots, OCR, accessibility, and system management through MCP-compatible AI agents.Last updated1MIT
Related MCP Connectors
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Provision and manage a VPS for AI agents over MCP: register, order, get root, control the server.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ocean-Moist/linux-computer'
If you have feedback or need assistance with the MCP directory API, please join our Discord server