arche-browser

GizAI/arche-browser

3.2

If you are the rightful owner of arche-browser and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

Arche Browser is an MCP Server designed for browser automation and full local PC control, allowing users to control a real Chrome browser and their entire computer from Claude Code or any MCP client.

Tools
5
Resources
0
Prompts
0

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