arc-cdp-mcp
Provides control of the Arc browser, enabling navigation, clicking, form filling, screenshots, page reading, console and network inspection, and tab management via the Chrome DevTools Protocol.
Click on "Install 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., "@arc-cdp-mcpNavigate to example.com and take a full-page 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.
arc-cdp-mcp
An MCP server that gives Claude Code control of Arc — navigate, click, fill forms, screenshot, read console and network traffic. It exists because the official "Claude in Chrome" extension does not work in Arc.
It talks to Arc over the Chrome DevTools Protocol, skipping the extension layer entirely.
Why the official extension fails in Arc
If you installed the Claude extension in Arc and nothing happens, here is what is actually going on. The extension is installed and its native-messaging channel to Claude Code does work — commands reach Arc. Two things break after that:
1. The side panel. The service worker checks for chrome.sidePanel and falls back to
a notification whose text is right there in the bundle:
Claude requires the Chrome Side Panel API, which isn't available in this browser. Use Google Chrome, Microsoft Edge, or Brave.
Arc has the API schema compiled in, but its side panel is a custom implementation
(ArcBrowserSidePanel) that is not exposed to extensions.
2. New tabs. Arc's new tab is chrome://start-page/<uuid>, which isn't navigable from
an extension context — it fails with ERR_INVALID_URL. The tab-group handshake then hangs
waiting for a page that will never be ready.
Since Claude Code runs in the terminal, the side panel isn't the part you need — the automation is. So this server drops the extension and speaks CDP to Arc directly.
Related MCP server: Browser Tools for Claude Code
Requirements
macOS, Arc, Node 18+, and Claude Code.
Install
git clone https://github.com/chmodami/arc-cdp-mcp
cd arc-cdp-mcp
npm install
claude mcp add arc-cdp --scope user -- node "$PWD/src/server.js"Restart Claude Code — MCP servers load at session start.
Running
Arc has to be launched with a debugging port. It must be fully quit first; the flag only applies to a new process.
./arc-start.shThe script quits Arc, relaunches it with --remote-debugging-port=9222, and waits for CDP
to answer. Opening Arc from the Dock afterwards won't carry the flag.
For a different port: ./arc-start.sh 9333, and set ARC_CDP_URL=http://127.0.0.1:9333.
Tools
Tool | What it does |
| List tabs with id, title, URL and |
| Open a URL (reuse the active tab or open a new one) |
| Close a tab this server opened |
| PNG of the viewport or the full page |
| Visible text plus every interactive element, each with a |
| Click by |
| Fill a field, optionally pressing Enter |
| Send a key |
| Run JS in the page |
| Console output and page errors, regex-filterable |
| HTTP responses, regex-filterable, |
The intended loop is arc_read_page → take a ref → arc_click/arc_type, rather than
guessing CSS selectors. Refs are reassigned on every read, so read again after anything
that changes the DOM.
Your tabs vs. the server's tabs
CDP can see every Arc tab, including your bank and your email. To keep an implicit call from ever landing on one:
Tabs this server opened are
owned: true; tabs that already existed areowned: false.The active tab — used when
tabIdis omitted — is always an owned one.Targeting one of your tabs requires passing its
tabIdexplicitly.arc_close_tabrefuses to close a tab it doesn't own.
Be clear about what this is: a convention inside the server, not a sandbox. An explicit
tabId still reaches any tab. CDP has no per-site permission model — the official
extension's site-by-site approval is a real protection you give up here. Decide whether
that trade is right for you before installing.
Teaching your agent to use it
The tools show up on their own, but Claude Code still sees the mcp__claude-in-chrome__*
tools and may reach for those first — they connect, accept commands, and then time out.
skill/arc-browser.md is a skill that tells the agent to use arc_* instead, along with
the read-then-act loop and the tab rules. Install it with:
mkdir -p ~/.claude/skills/arc-browser
sed "s|<REPO_PATH>|$PWD|g" skill/arc-browser.md > ~/.claude/skills/arc-browser/SKILL.mdLimitations
Arc must be launched with the flag. Without it, every tool returns an error telling you how to relaunch.
Tabs Arc has suspended have no renderer and stay invisible until they load.
No side panel: this is automation only, not Claude chat inside the browser.
macOS only, because
arc-start.shusesopenandosascript.
Prior art
arc-browser-mcp also drives Arc, with an
AppleScript engine alongside CDP. Worth a look — it may fit you better.
License
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Live browser debugging for AI assistants — DOM, console, network via MCP.
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables Claude Code to control a real browser using AI for web scraping, competitive intelligence, and UX auditing through the MCP protocol.-
- FlicenseNot gradedqualityDmaintenanceEnables browser automation (navigate, screenshot, click, type, etc.) for Claude Code via MCP protocol, with a Chrome extension for configuration.2-
- AlicenseNot gradedqualityDmaintenanceEnables natural language browser automation through Claude, wrapping Playwright to execute commands like navigation, clicking, form filling, and screenshots.2030MIT
- AlicenseNot gradedqualityDmaintenanceEnables browser automation through the Claude Chrome Extension, allowing agents to navigate websites, fill forms, take screenshots, and debug web apps via standard MCP protocols.1MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chmodami/arc-cdp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server