Arcana ARCANA

Browser Automation

Arcana agents can drive a real Chrome browser using agent-browser via MCP. Navigate pages, click buttons, fill forms, take screenshots, and extract data — all from natural language prompts.

Setup

1. Install agent-browser

npm install -g agent-browser
agent-browser install

2. Configure the MCP server

Add the browser MCP server to your Arcana config at ~/.config/arcana/arcana.json:

{
  "mcp": {
    "browser": {
      "type": "local",
      "command": ["agent-browser", "mcp", "--tools", "core"],
      "environment": {
        "AGENT_BROWSER_CONTENT_BOUNDARIES": "1",
        "AGENT_BROWSER_MAX_OUTPUT": "50000",
        "AGENT_BROWSER_IDLE_TIMEOUT_MS": "3600000"
      }
    }
  }
}

3. Verify

arcana run "list your browser tools" 2>&1 | grep MCP
# → MCP: browser (29 tools)

Usage

Once configured, the agent automatically has access to browser tools. You can use them explicitly with the browser skill or let the agent discover them naturally:

With the browser skill loaded

arcana run --skill browser-automation "log into app.example.com and check notifications"

Without the skill

The agent still sees the browser tools and can use them when appropriate:

arcana run "open github.com, find the top trending repo"

Tool Profiles

Control how many browser tools are exposed to the agent. Fewer tools = faster model selection, more tools = more capability.

ProfileToolsBest For
core29Default — navigation, screenshots, basic interaction
core,network,tabs~45Web app testing — network interception, multi-tab
all~100Power users — full browser control

Change the --tools flag in your config to switch profiles:

"command": ["agent-browser", "mcp", "--tools", "core,network,tabs"]

Security

Browser automation runs locally and has access to your real browser sessions. Use these environment variables to restrict behavior:

VariablePurpose
AGENT_BROWSER_ALLOWED_DOMAINSRestrict navigation to specific domains
AGENT_BROWSER_CONFIRM_ACTIONSGate dangerous actions like eval() and file downloads
AGENT_BROWSER_ENCRYPTION_KEYEncrypt persisted browser sessions at rest

You can also set these per-tool via arguments for fine-grained control.

Troubleshooting

ProblemFix
MCP: (no servers)Check your arcana.json for the mcp.browser section
Failed to connectRun agent-browser doctor to diagnose
Tools not respondingRestart your Arcana session
Too many tools slowing things downUse --tools core for a smaller toolset

Examples

# Form filling
arcana run "go to jira.example.com, create a bug ticket with title 'Login broken'"

# Data extraction
arcana run "open amazon.com, search for 'mechanical keyboard', extract top 5 results with prices"

# Screenshot and analysis
arcana run "take a screenshot of dashboard.example.com and summarize the key metrics"

# Multi-step workflow
arcana run --skill browser-automation "log into github.com, open my latest PR, leave a code review comment"
Last updated: Jul 25, 2026