Skip to main content
Glama

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-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

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GizAI/arche-browser'

If you have feedback or need assistance with the MCP directory API, please join our Discord server