screens mcp
OfficialClick 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., "@screens mcpOpen Chrome to example.com and take a screenshot."
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.
screens
Alpha: interfaces may change before 1.0.
Isolated desktops for agents. screens runs a per-user daemon that starts disposable Linux X
screens, each inside its own sandbox: its own X server, network namespace, /tmp, home and session
bus. An agent sees and drives a screen through a CLI or an MCP server; the screen never touches
your own display, input, focus, clipboard, session bus or files.
Linux first. Each screen is a sandbox-runtime wrap holding Xvnc (Unix socket only), the apps and a small helper. Network access is closed except for the domains you allow.
Requirements
Linux with unprivileged user namespaces
Node.js 22 or later
bwrap(bubblewrap),rg(ripgrep),socat,Xvnc(TigerVNC),xdotool,dbus-run-sessionA browser to run inside screens, such as
google-chrome-stableFor container screens (
--backend oci, the only backend on macOS): rootless Podman or Docker (Docker Desktop, OrbStack, Colima), or Applecontaineron Apple silicon
Related MCP server: glovebox-mcp
Install
pnpm add -g @aurigax-ai/screensCLI in brief
screens create --allow example.com # prints a screen id, an agent token and a viewer token
export SCREENS_TOKEN=<agent token>
screens launch <id> -- google-chrome-stable https://example.com
screens screenshot <id> --out shot.png
screens click <id> 640 400
screens type <id> 'hello'
screens key <id> ctrl+l
screens windows <id>
screens list # ids, size, owner and state; never a token
screens stop <id>Exit codes: 0 ok, 2 usage, 3 not found, 4 refused (token, input owner, limit), 5 backend failure.
--json prints one JSON object. The full contract (verbs, flags, JSON shapes, the daemon socket
protocol) is in CONTRACT.md.
The daemon starts on the first command and listens on $XDG_RUNTIME_DIR/screens/daemon.sock.
At most maxScreens screens run at once (default 4, 1 to 16, set in
~/.config/screens/config.json).
MCP
screens mcp --screen <id> is an MCP stdio server for one screen, with the token in
SCREENS_TOKEN. It offers computer (the actions and arguments of Anthropic's
computer_toolset_20260801, screenshots scaled so the longest side is at most 1280 pixels and
coordinates in that space), screen_launch and screen_windows.
{
"mcpServers": {
"screen": {
"command": "screens",
"args": ["mcp", "--screen", "<id>"],
"env": { "SCREENS_TOKEN": "<agent token>" }
}
}
}Development
pnpm install
pnpm run lint
pnpm run typecheck
pnpm test
pnpm run test:integrationSee AGENTS.md for the rules every change follows.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Securely control computers you explicitly pair through files, terminals, processes, screenshots, desktop UI/input, clipboard, browser automation, diagnostics, and document tools.
Persistent Linux computers for AI agents: desktop, signed-in browser, vault, apps and shell.
Use your Mac, Windows or Linux computer from ChatGPT, Claude or Codex: files, commands, documents.
Related MCP Servers
- AlicenseBqualityDmaintenanceExposes Anthropic's computer-use action surface (screenshot, click, move, keyboard, clipboard, batch) against a persistent desktop display via MCP stdio protocol. Enables AI agents to control a virtual desktop environment through natural language instructions.24MIT
- AlicenseAqualityCmaintenanceA sandboxed computer-use MCP server that lets an AI agent drive a real browser and desktop apps, confined to a nested X11 window so it cannot touch your real screen or files.1913MIT
- AlicenseNot gradedqualityBmaintenanceProvides a JSON-RPC computer use runtime for macOS, exposing 7 MCP tools (observe/act/inspect/session/cancel/trace) as image content blocks so external agents like Claude Code, Pi, OpenCode, or Codex CLI can capture screenshots and drive the desktop with clicks, keys, and typing while enforcing session locking, stale-frame protection, and trace redaction server-side.10 npm1MIT
- AlicenseNot gradedqualityCmaintenanceProvides an AI agent with a fixed, isolated Linux desktop workspace, enabling bounded screen capture, input control, and application launching via MCP.-