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.
| Profile | Tools | Best For |
|---|---|---|
core | 29 | Default — navigation, screenshots, basic interaction |
core,network,tabs | ~45 | Web app testing — network interception, multi-tab |
all | ~100 | Power 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:
| Variable | Purpose |
|---|---|
AGENT_BROWSER_ALLOWED_DOMAINS | Restrict navigation to specific domains |
AGENT_BROWSER_CONFIRM_ACTIONS | Gate dangerous actions like eval() and file downloads |
AGENT_BROWSER_ENCRYPTION_KEY | Encrypt persisted browser sessions at rest |
You can also set these per-tool via arguments for fine-grained control.
Troubleshooting
| Problem | Fix |
|---|---|
MCP: (no servers) | Check your arcana.json for the mcp.browser section |
Failed to connect | Run agent-browser doctor to diagnose |
| Tools not responding | Restart your Arcana session |
| Too many tools slowing things down | Use --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"