Arc Control (macOS) MCP Server

Arc browser MCP for macOS: agent window, snapshots, DevTools input, guardrails

Local serverstdio

What is the Arc Control (macOS) MCP Server?

Arc Control (macOS) is an MCP integration. Arc browser MCP for macOS: agent window, snapshots, DevTools input, guardrails.

Packages and local setup

The published npm package is arc-control-mcp, version 0.4.0. Its declared MCP transport is stdio.

The package declares ARC_MCP_LABEL: Names this agent's tab ownership. Two agents with different labels never see each other's owned tabs. Defaults to "default".; ARC_MCP_SPACE: With ARC_MCP_WINDOW=space, the Arc space new tabs open into, when a space with that name exists. Arc will not let a script create a space, so make it by hand. Defaults to "Agent".; ARC_MCP_STATE_DIR: Directory where per-session tab ownership is recorded, so a restarted agent can clean up the tabs its previous run left behind. Defaults to ~/Library/Application Support/arc-control-mcp.; ARC_MCP_WINDOW: "dedicated" keeps agent tabs in one separate agent window, never the user's own. "space" puts them in the Agent space of the user's window. Defaults to "dedicated".; ARC_MCP_WINDOW_PLACEMENT: Where the agent window goes once, at creation: "auto" (largest non-main display, else where Arc puts it), "second-display", "minimized" (experimental) or "none". Needs Accessibility. Defaults to "auto".; ARC_MCP_IDLE_MS: How many milliseconds the user must have been idle before the server does anything visible. 0 turns the activity gate off. Defaults to 1500.; ARC_MCP_IDLE_WAIT_MS: How many milliseconds to wait for that pause before failing with userActive true. Defaults to 15000.; ARC_MCP_ARC_DATA_DIR: Directory the local data tools (sidebar_tree, find_stale_tabs, search_archive, search_history) read Arc's files from. Defaults to ~/Library/Application Support/Arc.; ARC_MCP_ALLOW_HISTORY: Set to 1 to let search_history run. Off by default, and any other value leaves it off.; ARC_MCP_CDP: Set to 0 to disable the DevTools engine (trusted input, screenshots, console and network capture). On by default, and inert until Arc is launched with --remote-debugging-port.; ARC_MCP_CDP_PORT: The DevTools port to probe on 127.0.0.1. The host is fixed. Defaults to 9222.; ARC_MCP_ALLOWED_ORIGINS: Guardrail. Comma list of origins the agent may touch (host, .host, scheme://host[:port], file://, about:). Anything not listed is refused. Unset means no allow list.; ARC_MCP_BLOCKED_ORIGINS: Guardrail. Comma list of origins the agent may not touch. Wins over the allow list. Unset means no block list.; ARC_MCP_BLOCK_READS: Set to 1 to apply the origin lists to read tools as well as changing ones. Off by default.; ARC_MCP_READ_ONLY: Set to 1 to expose only the read-only tools. Off by default.; ARC_MCP_AUDIT_LOG: Path of a file that gets one JSON line per changing call (time, tool, tab, origin, ok, error), never typed values or script code. Unset means no audit log..

Before connecting

Check the maintainer’s instructions for account access, authentication and the supported client configuration. Once connected, inspect the tools your client receives and try a small task that matches the server’s stated purpose. The registry description does not include a verified, complete tool list.

Project and source

View the publisher’s registry entry · Project repository · Project website. This profile uses version 0.4.0 from the registry. Registration identifies the publisher namespace; it does not establish that this is a first-party integration for every service it connects.

Browse related browser automation MCP servers for tools that cover the same kind of work.

Configuration

VariableDescriptionRequired
ARC_MCP_LABELNames this agent's tab ownership. Two agents with different labels never see each other's owned tabs. Defaults to "default".Optional
ARC_MCP_SPACEWith ARC_MCP_WINDOW=space, the Arc space new tabs open into, when a space with that name exists. Arc will not let a script create a space, so make it by hand. Defaults to "Agent".Optional
ARC_MCP_STATE_DIRDirectory where per-session tab ownership is recorded, so a restarted agent can clean up the tabs its previous run left behind. Defaults to ~/Library/Application Support/arc-control-mcp.Optional
ARC_MCP_WINDOW"dedicated" keeps agent tabs in one separate agent window, never the user's own. "space" puts them in the Agent space of the user's window. Defaults to "dedicated".Optional
ARC_MCP_WINDOW_PLACEMENTWhere the agent window goes once, at creation: "auto" (largest non-main display, else where Arc puts it), "second-display", "minimized" (experimental) or "none". Needs Accessibility. Defaults to "auto".Optional
ARC_MCP_IDLE_MSHow many milliseconds the user must have been idle before the server does anything visible. 0 turns the activity gate off. Defaults to 1500.Optional
ARC_MCP_IDLE_WAIT_MSHow many milliseconds to wait for that pause before failing with userActive true. Defaults to 15000.Optional
ARC_MCP_ARC_DATA_DIRDirectory the local data tools (sidebar_tree, find_stale_tabs, search_archive, search_history) read Arc's files from. Defaults to ~/Library/Application Support/Arc.Optional
ARC_MCP_ALLOW_HISTORYSet to 1 to let search_history run. Off by default, and any other value leaves it off.Optional
ARC_MCP_CDPSet to 0 to disable the DevTools engine (trusted input, screenshots, console and network capture). On by default, and inert until Arc is launched with --remote-debugging-port.Optional
ARC_MCP_CDP_PORTThe DevTools port to probe on 127.0.0.1. The host is fixed. Defaults to 9222.Optional
ARC_MCP_ALLOWED_ORIGINSGuardrail. Comma list of origins the agent may touch (host, .host, scheme://host[:port], file://, about:). Anything not listed is refused. Unset means no allow list.Optional
ARC_MCP_BLOCKED_ORIGINSGuardrail. Comma list of origins the agent may not touch. Wins over the allow list. Unset means no block list.Optional
ARC_MCP_BLOCK_READSSet to 1 to apply the origin lists to read tools as well as changing ones. Off by default.Optional
ARC_MCP_READ_ONLYSet to 1 to expose only the read-only tools. Off by default.Optional
ARC_MCP_AUDIT_LOGPath of a file that gets one JSON line per changing call (time, tool, tab, origin, ok, error), never typed values or script code. Unset means no audit log.Optional