MCP Hub
Back to servers

Arche Browser

A versatile MCP server that provides full browser automation using a real Chrome instance and complete local system control through shell and Python execution primitives.

Tools
34
Updated
Dec 8, 2025

Arche Browser

MCP Server for Browser Automation and Full Local PC Control.

Control a real Chrome browser AND your entire computer from Claude Code or any MCP client.

Features

  • Full Browser Control: Navigation, clicks, typing, screenshots, and more
  • Full PC Control: Shell commands, Python execution, file system, clipboard, processes
  • Real Browser: Uses your actual Chrome with cookies, extensions, login sessions
  • Remote Access: Control browser/PC on any machine via SSE transport
  • Token Authentication: Secure remote access with auto-generated tokens
  • Minimal Design: Just a few powerful primitives that can do anything

Design Philosophy

Inspired by Eric Gamma's principles: Simple, Flexible, Powerful

Instead of hundreds of specific tools, Arche provides a few powerful primitives:

PrimitiveWhat it doesWhat you can achieve
shell()Execute any shell commandVolume, reboot, programs, services, ANYTHING
python_exec()Execute Python codeCamera, Excel, AI, complex logic, ANYTHING
screen_capture()Desktop screenshotVisual feedback for AI

With just shell and python_exec, AI can literally control EVERYTHING on your computer.

Installation

# From PyPI
pip install arche-browser

# From GitHub
pip install git+https://github.com/GizAI/arche-browser.git

# One-liner (no install)
uvx arche-browser

Usage

Browser Only (Default)

arche-browser

Claude Code config:

{"mcpServers": {"browser": {"command": "arche-browser"}}}

Full PC Control

arche-browser --local

Claude Code config:

{"mcpServers": {"arche": {"command": "arche-browser", "args": ["--local"]}}}

PC Control Only (No Browser)

arche-browser --local --no-browser

Remote Access (SSE)

On the machine with Chrome:

arche-browser --sse --port 8080 --local

# Output:
# [*] Auth: ENABLED
# [*] Token: abc123...
# [*] Connect URL: http://localhost:8080/sse?token=abc123...

On Claude Code:

{"mcpServers": {"remote": {"url": "http://YOUR_IP:8080/sse?token=YOUR_TOKEN"}}}

Local Control Tools

Core Primitives

ToolDescription
shell(command)Execute shell command (bash/cmd/powershell)
python_exec(code)Execute Python code with full system access
screen_capture(path)Capture desktop screenshot

Convenience Tools

ToolDescription
file_read(path)Read file content
file_write(path, content)Write file content
file_list(path, pattern)List directory contents
file_delete(path)Delete file or directory
file_copy(src, dst)Copy file or directory
file_move(src, dst)Move/rename file or directory
clipboard_get()Get clipboard content
clipboard_set(content)Set clipboard content
system_info()Get OS, CPU, memory, disk info
process_list()List running processes
process_kill(pid/name)Kill a process

What You Can Do

# Volume control (Windows)
shell("powershell (Get-AudioDevice -Playback).SetMute($false)")

# Take a photo with webcam
python_exec("""
import cv2
cap = cv2.VideoCapture(0)
ret, frame = cap.read()
cv2.imwrite("photo.jpg", frame)
cap.release()
""")

# Create Excel spreadsheet
python_exec("""
import openpyxl
wb = openpyxl.Workbook()
ws = wb.active
ws['A1'] = 'Sales Report'
ws['A2'] = 1000
wb.save('report.xlsx')
""")

# System maintenance
shell("cleanmgr /d C:")  # Windows disk cleanup
shell("sudo apt autoremove")  # Linux cleanup

# Reboot computer
shell("shutdown /r /t 60")  # Windows
shell("sudo reboot")  # Linux

# Kill a program
process_kill(name="notepad.exe")

Browser Tools

Navigation

ToolDescription
goto(url)Navigate to URL
get_url()Get current URL
get_title()Get page title
reload()Reload page
go_back()Go back in history
go_forward()Go forward in history

DOM & Input

ToolDescription
get_text(selector)Get element text
get_html(selector)Get element HTML
click(selector)Click element
type_text(selector, text)Type into input
select_option(selector, value)Select dropdown
check_box(selector, checked)Check/uncheck
scroll_to(x, y)Scroll page

Screenshots & PDF

ToolDescription
screenshot(path)Take screenshot
pdf(path)Generate PDF

Cookies & Storage

ToolDescription
get_cookies()Get cookies
set_cookie(name, value)Set cookie
storage_get(key)Get localStorage
storage_set(key, value)Set localStorage

JavaScript

ToolDescription
evaluate(script)Execute JS

CLI Options

arche-browser [OPTIONS]

Mode:
  --local          Enable full local PC control
  --no-browser     Disable browser tools (requires --local)

Transport:
  --sse            Run as SSE server for remote access
  --port PORT      SSE server port (default: 8080)

Browser:
  --headless       Run Chrome in headless mode

Authentication:
  --no-auth        Disable token authentication
  --token TOKEN    Use specific auth token
  --show-token     Show current auth token
  --reset-token    Generate new auth token

Architecture

arche_browser/
├── __init__.py    # Package exports
├── __main__.py    # CLI entry point
├── chrome.py      # Chrome process management
├── browser.py     # Full CDP browser automation
├── server.py      # MCP server with all tools
├── auth.py        # Token authentication
├── local.py       # Local PC control primitives
└── sites/
    └── chatgpt.py # ChatGPT-specific client

Security

  • Token Authentication: Remote SSE servers require authentication by default
  • Explicit Opt-in: Local PC control requires --local flag
  • No Sandbox: Local control has NO restrictions - use responsibly

Requirements

  • Python 3.10+
  • Chrome, Chromium, or Edge browser (for browser tools)
  • MCP client (Claude Code, etc.)

License

MIT

Reviews

No reviews yet

Sign in to write a review