Arc Control (macOS) logo

Arc Control (macOS)

Controls Arc on macOS with MCP tools for tabs, navigation, page content, DOM interaction, and browser diagnostics.

Install Arc Control (macOS)

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "arc-control-macos": {
      "command": "npx",
      "args": [
        "-y",
        "arc-control-mcp@latest"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

The install command didn't complete successfully in our automated test.

npx -y arc-control-mcp@latest

ersion of npm available! 10.1.0 -> 12.2.0 npm notice Changelog: <https://github.com/npm/cli/releases/tag/v12.2.0> npm notice Run `npm install -g npm@12.2.0` to update! npm notice npm ERR! code EBADPLATFORM npm ERR! notsup Unsupported platform for arc-control-mcp@0.4.0: wanted {"os":"darwin"} (current: {"os":"linux"}) npm ERR! notsup Valid os: darwin npm ERR! notsup Actual os: linux npm ERR! A complete log of this run can be found in: /home/user/.npm/_logs/2026-10-19T13_08_16_787Z-debug-0.log

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 20d ago.

Overview

Arc Control (macOS) MCP server connects MCP clients to the Arc browser through macOS Apple Events. It manages tabs and navigation, reads page content, inspects and changes the DOM, fills forms, clicks elements, runs page-facing operations, and captures selected console or network data. Use it when an agent needs to work in an existing Arc session rather than a separate automation profile. The server requires macOS, Arc, and Node.js 20 or newer, with Node.js 22 or newer for CDP-based tools.

Use cases

  • Read content from pages already open in Arc
  • Fill forms and interact with web applications
  • Keep agent tabs separate from personal browsing
  • Inspect DOM structure and page metadata
  • Capture console and network activity for debugging

Key features

  • Arc tab and window control
  • Page text, HTML, links, and metadata extraction
  • DOM queries and accessibility-style snapshots
  • Form filling and pointer or keyboard interaction
  • Loading and selector wait controls
  • Console and network diagnostics

Tools38

What Arc Control (macOS) lets your agent do. Expand a tool for its parameters.

Self-reported~1.4k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

11/11 checks healthy over the last 63d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 1d ago via OSV.dev · arc-control-mcp@latest (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars2Stargazers on the source repository.
npm downloads156Package downloads in the last 30 days.
Last commit8d agoMost recent push to the default branch.
Install checkInconclusiveInstall command did not finish in our automated test.
Tools exposed38Callable tools this server registers over MCP.
Directory activity4 viewsConfig copies, upvotes, and views on AllMCPs.

How Arc Control (macOS) works

What Arc Control (macOS) does

Arc Control (macOS) MCP server gives an MCP client control of the Arc browser installed on the same Mac. It can enumerate tabs, identify the current tab, open URLs, move through history, reload pages, and close tabs. Ownership information lets an agent distinguish tabs it opened from tabs belonging to the user, while cleanup can remove the agent's tabs without closing the user's browsing session.

The server also exposes page-level operations. An agent can read visible text, inspect HTML, query elements and attributes, collect links, view page metadata, create accessibility-style snapshots, fill controls, click elements, select options, send key presses, scroll, hover, and wait for page state or text changes. It can record selected console, error, and request events, or inspect resource-timing entries without starting a recorder.

How it works

Communication with Arc uses Apple Events and Arc's scripting interface. The server is designed around Arc's tab identifiers, tab selection behavior, spaces, and window model rather than Chrome's incompatible scripting assumptions.

Calls with no tab_id use an agent-owned tab when one is available. Read-only operations can fall back to Arc's active tab, while operations that change a tab require an owned tab unless the caller supplies an explicit identifier. This default reduces accidental navigation or reloads of the user's current page. Explicit tab IDs can target any tab.

Inputs are checked against schemas before execution. Page interactions wait for the DOM to settle where applicable, and loading, matching, truncation, and partial-result conditions are reported instead of being silently hidden.

Setup and configuration

The Arc Control (macOS) MCP server runs only on macOS with Arc installed and Node.js 20 or later. The published package can be registered through npx using arc-control-mcp@latest; there is no build step. A source checkout can instead start src/index.js with Node and an absolute path.

Two permissions are required. In macOS Privacy & Security settings, enable Arc under Automation for the application that launches the MCP server. In Arc's Advanced settings, enable JavaScript from Apple Events. Without the first permission, tools fail at the Apple Event layer. Without the second, tab and window operations may work while page-content and interaction tools fail.

Accessibility is optional. It supports moving the agent window between displays and restoring focus when Arc takes it, but the server remains usable without it. The package declares macOS as its supported operating system, so Linux and Windows installations stop with a platform error.

Tools and capabilities

  • List, inspect, switch, open, reload, and close Arc tabs.
  • Remove all tabs owned by the current agent, with an option for stale tabs from a previous run.
  • Read visible text, HTML, links, page metadata, element details, and compact page snapshots.
  • Click, fill, type, select options, press keys, scroll, hover, and fill multiple form fields.
  • Wait for loading, selectors, text, or URL conditions; stop a page that remains loading.
  • Capture console and request activity, or inspect browser resource-timing entries.

Limitations and notes

The Arc Control (macOS) MCP server is not cross-platform, cross-browser, headless, or container-ready. Apple Events cannot reach an Arc process across a Docker boundary, so the project does not provide a Docker deployment. JavaScript-driven page tools depend on Arc's JavaScript-from-Apple-Events setting, and CDP tools require Node.js 22 or newer because they use the built-in WebSocket implementation.

The server is not an ownership sandbox. Ownership is reported and used for unnamed-target defaults and cleanup, but an explicitly supplied tab ID is not rejected solely because another user opened it. Visible operations generally wait for the user to stop typing, and callers can opt into activation where supported.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Arc Control (macOS)

Arc Control (macOS) is an MCP server that connects AI clients to the Arc browser on macOS through Apple Events. Its main tools manage tabs and navigation, read page text and HTML, query and interact with DOM elements, fill forms, and capture selected console or network activity. It works with an existing Arc session.

Install it by registering `npx -y arc-control-mcp@latest` as a stdio MCP server in your client configuration. The host must be macOS with Arc installed and Node.js 20 or newer. You must also grant Automation permission and enable JavaScript from Apple Events in Arc.

Yes, Arc Control (macOS) works with Cursor through its MCP configuration. Add the server definition to `~/.cursor/mcp.json` for all projects or `.cursor/mcp.json` for one project, then start it with `npx -y arc-control-mcp@latest`.

Enable JavaScript from Apple Events in Arc under Settings > Advanced. Tab and window operations can continue working without this setting, while page text, HTML, clicking, and scripts require it. Automation permission for the application launching the server is also required for all tools.

No, it runs only on macOS because it controls Arc through Apple Events. The package declares macOS as its supported platform, so installation on Linux or Windows stops with an `EBADPLATFORM` error rather than starting normally.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewArc Control (macOS) AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/arc-control-macos?style=directory)](https://allmcps.com/mcp/arc-control-macos)
HTML Embed
<a href="https://allmcps.com/mcp/arc-control-macos"><img src="https://allmcps.com/api/badge/arc-control-macos?style=directory" alt="Arc Control (macOS) on AllMCPs" /></a>