arc-mcp
Provides browser automation for Arc, enabling AI agents to control the Arc browser programmatically via semantic locators, perform actions like clicking, filling forms, navigating, and extracting page structure.
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-mcpsearch for flights from San Francisco to London"
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.
Playwright-style semantic browser automation for Arc
Installation
Claude Desktop
Download the latest
.mcpbfile from releasesOpen Claude Desktop
Go to Settings → Extensions
Drag and drop the
.mcpbfile onto the window
Claude Code
claude mcp add --scope user --transport stdio arc nix run github:andrewgazelka/arc-mcpOr manually add to your MCP settings:
{
"mcpServers": {
"arc": {
"command": "nix",
"args": ["run", "github:andrewgazelka/arc-mcp"]
}
}
}Related MCP server: chrometools-mcp
Use Cases
Flight Search — Compare prices across airlines, check availability, book tickets
Shopping — Search products, read reviews, add to cart, checkout
Groceries — Navigate store catalog, build cart, schedule delivery
Research — Open multiple sources, extract data, synthesize information
Features
Node.js REPL
Execute automation scripts with full access to the browser API — no predefined tool constraints.
await browser.click({ role: { role: 'button', name: 'Search' } });
await browser.fill({ label: 'Email' }, 'user@example.com');
const tabs = await browser.listTabs();
return tabs.length;Semantic Locators
Find elements the way users see them — by role, label, text, or placeholder. No more fragile CSS selectors.
await browser.click({ role: { role: 'button', name: 'Search' } });
await browser.fill({ label: 'Email' }, 'user@example.com');
await browser.type({ placeholder: 'Search...' }, 'London');Smart DOM Tree
Get a structured, semantic representation of the page with only interactive elements.
const structure = await browser.getPageStructure(10);Available Functions
The browser object provides:
Semantic Actions:
click(locator, options?)— Click element by role, label, text, placeholder, or CSSfill(locator, value, options?)— Fast fill (replaces entire value)type(locator, text, options?)— Type character-by-character (triggers autocomplete)selectOption(locator, option, options?)— Select dropdown option
Navigation:
openUrl(url, newTab?)— Open URL in new or current tabgetCurrentTab()— Get active tab info (title, URL)listTabs()— List all open tabsswitchToTab(tabId)— Switch to tab by indexcloseTab(tabId)— Close tab by indexreloadTab(tabId?)— Reload tabgoBack(tabId?)— Navigate backgoForward(tabId?)— Navigate forward
Page Analysis:
getPageStructure(maxDepth?, tabId?)— Get semantic DOM tree
Low-Level:
executeJavaScript(code, tabId?)— Run arbitrary JavaScript
Example Workflow
// Open Google Flights
await browser.openUrl('https://www.google.com/travel/flights');
// Fill origin
await browser.fill({ label: 'Where from?' }, 'San Francisco');
// Type destination (triggers autocomplete)
await browser.type({ placeholder: 'Where to?' }, 'London');
// Click search
await browser.click({ role: { role: 'button', name: 'Search' } });Architecture
This is a monorepo with three packages:
@arc-mcp/applescript — Low-level AppleScript bridge for Arc
@arc-mcp/browser — High-level Node.js API with semantic locators
arc-mcp-server — MCP server exposing REPL
See ARCHITECTURE.md for detailed design.
Requirements
macOS
Arc browser
Development
npm install
npm run build # Build all packages
npm run typecheck # Type check all packages
npm run pack # Create .mcpb bundlePackage Usage
Each package can be used independently:
# Use browser API in your own scripts
npm install @arc-mcp/browser
# Use AppleScript bridge directly
npm install @arc-mcp/applescriptNot affiliated with The Browser Company. Arc is a trademark of The Browser Company.
MIT · Andrew Gazelka
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 Servers
- Alicense-qualityDmaintenanceTransforms Chrome browser into an AI-controlled automation tool that allows AI assistants like Claude to access browser functionality, enabling complex automation, content analysis, and semantic search while preserving your existing browser environment.Last updatedMIT
- Alicense-qualityCmaintenanceEnables AI-powered Chrome automation through natural language, providing 56+ specialized tools for browser interaction, page analysis, scenario recording, and visual testing.Last updated619ISC
- Alicense-qualityCmaintenanceEnables AI assistants to perform intelligent browser automation with session-based context analysis, including navigation, form filling, and content extraction through natural language.Last updatedMIT
- AlicenseBqualityDmaintenanceEnables visual browser automation through natural language descriptions, allowing AI to click, type, and navigate web pages by seeing the page.Last updated18MIT
Related MCP Connectors
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…
Enable language models to perform advanced AI-powered web scraping with enterprise-grade reliabili…
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/andrewgazelka/arc-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server