MCP Server for Browser Automation and Full Local PC Control.
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:
| Primitive | What it does | What you can achieve |
|---|---|---|
shell() |
Execute any shell command | Volume, reboot, programs, services, ANYTHING |
python_exec() |
Execute Python code | Camera, Excel, AI, complex logic, ANYTHING |
screen_capture() |
Desktop screenshot | Visual 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
| Tool | Description |
|---|---|
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
| Tool | Description |
|---|---|
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
| Tool | Description |
|---|---|
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
| Tool | Description |
|---|---|
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
| Tool | Description |
|---|---|
screenshot(path) |
Take screenshot |
pdf(path) |
Generate PDF |
Cookies & Storage
| Tool | Description |
|---|---|
get_cookies() |
Get cookies |
set_cookie(name, value) |
Set cookie |
storage_get(key) |
Get localStorage |
storage_set(key, value) |
Set localStorage |
JavaScript
| Tool | Description |
|---|---|
evaluate(script) |
Execute JS |
CLI Options
arche-browse
Tools (34)
shellExecute any shell commandpython_execExecute Python code with full system accessscreen_captureCapture desktop screenshotfile_readRead file contentfile_writeWrite file contentfile_listList directory contentsfile_deleteDelete file or directoryfile_copyCopy file or directoryfile_moveMove/rename file or directoryclipboard_getGet clipboard contentclipboard_setSet clipboard contentsystem_infoGet OS, CPU, memory, disk infoprocess_listList running processesprocess_killKill a processgotoNavigate to URLget_urlGet current URLget_titleGet page titlereloadReload pagego_backGo back in historygo_forwardGo forward in historyget_textGet element textget_htmlGet element HTMLclickClick elementtype_textType into inputselect_optionSelect dropdowncheck_boxCheck/uncheckscroll_toScroll pagescreenshotTake screenshotpdfGenerate PDFget_cookiesGet cookiesset_cookieSet cookiestorage_getGet localStoragestorage_setSet localStorageevaluateExecute JSConfiguration
{"mcpServers": {"arche": {"command": "arche-browser", "args": ["--local"]}}}