Arc Control (macOS)
Arc browser MCP for macOS: agent window, snapshots, DevTools input, guardrails
The current version, v0.4.0, was published to the official MCP registry on 2026-10-05. It is distributed as arc-control-mcp on npm, filed under Browser Automation by this index, and declares 16 environment variables. Removals and unreachable sources are measured across every server this index tracks, contract drift across the servers that answer in consecutive snapshots; the index's current counts put this record in context.
Using Arc Control (macOS) in Claude, Cursor, Gemini CLI, Cline, or Zed?
MCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and HOLDs the call when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use Install this server for that).
Rewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less
uv tool install mcpindex-gate && mcpindex-config-wireSemantic screen found no manipulation pattern in the description. Conformance probe not yet run.
mcpindex.integrity.descriptionpassINFOevidence“Normal tool description”via static_description
- - Semantic screen only - the deterministic conformance probe has not run on this server
- - Confidence is reported but not yet calibrated (v1)
- - Screen reads the tool description, not the live behavior
- - advisory
- - registry description only no input schema
- - screen model 8b
Semantic screen: an LLM judge reads the tool description for hidden instructions (status PARTIAL). A pass means the description is not lying, not that the tool is safe: a high-capability tool with an honest description still warrants caution. The deterministic conformance probe has not been run on this server yet, so the screen here is semantic-only. Posture: advisory. Confidences are reported but not yet calibrated (calibrated=false at v1). Full verdict history is not shown on this page.
Own this server? Test a description on the public screen → It is a separate check from the verdict above, so the two can differ.
That verdict was true at screening time (snapshot 2026-10-19).
Contracts can change after screening, with no version bump. The gate pins Arc Control (macOS)’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.
See your first HOLD in 2 minutes →
Related: how to trust an MCP server · screen before install · silent contract drift
People vet a server before wiring it in. One line on your project site or docs answers that with an independent record: screening verdict, registry provenance, contract drift history. It stays current as new screens and drift events land.
[Independent trust record for Arc Control (macOS)](https://mcpindex.ai/server/io-github-db-25-arc-control-mcp) - screening verdict, registry provenance, and contract drift monitoring.<a href="https://mcpindex.ai/server/io-github-db-25-arc-control-mcp">Independent trust record for Arc Control (macOS)</a> - screening verdict, registry provenance, and contract drift monitoring.A live verdict badge for your README or listing. It reflects the current screen, links back here, and updates when the verdict does.
[](https://mcpindex.ai/server/io-github-db-25-arc-control-mcp)<a href="https://mcpindex.ai/server/io-github-db-25-arc-control-mcp"><img src="https://mcpindex.ai/api/v1/badge/io-github-db-25-arc-control-mcp" alt="mcpindex verdict" height="20" /></a>ARC_MCP_LABELNames this agent's tab ownership. Two agents with different labels never see each other's owned tabs. Defaults to "default".
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".
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.
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_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".
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.
ARC_MCP_IDLE_WAIT_MSHow many milliseconds to wait for that pause before failing with userActive true. Defaults to 15000.
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.
ARC_MCP_ALLOW_HISTORYSet to 1 to let search_history run. Off by default, and any other value leaves it off.
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.
ARC_MCP_CDP_PORTThe DevTools port to probe on 127.0.0.1. The host is fixed. Defaults to 9222.
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.
ARC_MCP_BLOCKED_ORIGINSGuardrail. Comma list of origins the agent may not touch. Wins over the allow list. Unset means no block list.
ARC_MCP_BLOCK_READSSet to 1 to apply the origin lists to read tools as well as changing ones. Off by default.
ARC_MCP_READ_ONLYSet to 1 to expose only the read-only tools. Off by default.
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.
Publish, test and share browser games on PlayDrop from your AI agent.
Look up a FindMeTool page URL. Tool input stays in the browser.
Programmatic headless browser sessions: create, interact, browse, and extract - rendered in a real