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

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