Overview

The Computer Use MCP Server exposes the Allternit Computer Interface (ACI) as a Model Context Protocol server. It lets agents running in any MCP-compatible client control the local desktop — take screenshots, move the mouse, type, click, switch displays, and request permissions — through a standard JSON-RPC surface. The server is designed for local-first operation: screenshots, automation commands, and credentials stay on the host machine.
Computer Use MCP requires macOS and the native Swift helper modules. It will not start on unsupported hosts.

Base URL / usage

The server is bundled with Gizzi Code. It is launched as a stdio subprocess:
Or directly from the Gizzi Code binary:
The process speaks JSON-RPC over stdin/stdout using the MCP StdioServerTransport. It exits when stdin closes or emits an error. Local development paths:

Capabilities

The server advertises a tools/list response built from the host adapter’s detected capabilities. Typical tools include: The exact tool list depends on the host adapter’s executor.capabilities and whether the feature gate is enabled.

Commands

Startup flow

JSON-RPC examples

Initialize

Request:
Response:

List tools

Request:
Response:

Call a tool

Request:
Response:

Permission model

Before taking screenshots or interacting with the desktop, the server checks macOS permissions: If permissions are missing, the tool returns a request_access result that prompts the user to grant them in System Settings.

Coordinate modes

The host adapter reads a coordinate mode gate that controls how pixel coordinates are interpreted: The mode is selected automatically based on the runtime feature gate.

Locking and safety

To prevent two agents from controlling the desktop at the same time, the wrapper acquires a per-process file lock before each computer-use turn:
  • checkCuLock() — check if another session holds the lock
  • acquireCuLock() — atomically acquire the lock
  • The lock is released in cleanup.ts at turn end
  • If another session is already using computer use, the tool fails with a message identifying the holder
The Esc hotkey is registered when the lock is freshly acquired; pressing Esc aborts the current turn.

Error codes

Configuration and environment

Integration with ACI

The MCP server is one of two ways to reach the Allternit Computer Interface:
  1. REST API/api/aci/* endpoints for browser and desktop runs with SSE streaming.
  2. MCP server — the stdio server documented here, used by local MCP clients.
Both paths share the same ComputerUseHostAdapter, executor, and permission gates.