chrome-orchestrator
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@chrome-orchestratorProvision a headless browser, navigate to example.com, and return the page title."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Chrome Orchestrator
chrome-orchestrator is a lightweight Python SDK and CLI that abstracts away Docker management for headless browser environments, specifically Arthur and gloria-headless.
It runs a long-lived background daemon that acts as a unified HTTP proxy. AI agents request a browser session, and the daemon dynamically provisions the requested Docker container, mounts persistent storage, and seamlessly proxies the stateless HTTP/SSE MCP (Model Context Protocol) endpoints on port 3000.
Features
Daemon Proxy Architecture: Exposes a single, unified port (
3000by default) and proxies MCP traffic to dynamically allocated Docker containers (port 8000 for Arthur, 8787 for Gloria).Agent Manifests: The SDK returns a
ContainerManifestcontaining environmental instructions so AI agents automatically understand the capabilities of the environment they just provisioned.Persistent Storage: Automatically mounts a local directory (
~/.chrome-orchestrator/data/<image>) to persist state across browser sessions.Active Health Monitoring: The daemon actively monitors container health in the background and attempts restarts if they become unresponsive.
Related MCP server: hronaut
Environments
Both environments expose the identical execute_python tool using the chrome browser object, allowing AI agents to seamlessly write Python code regardless of the underlying backend.
Arthur (Default): A pure, minimal Chromium environment with exact DOM fidelity, interacting natively via CDP WebSockets. Optimal for token limits and standard browsing.
Gloria-Headless: An environment pre-configured with uBlock Origin Lite that interacts via the Chrome Bridge extension (Native Messaging). Use this for "hard stuff" like captcha evasion, since it behaves more like a real user browser.
Requirements
Python 3.9+
Docker or Podman installed and running. For Docker, ensure permissions to access the Docker daemon (
/var/run/docker.sock). For Podman, rootful socket access is supported natively (unix:///run/podman/podman.sock) as a seamless fallback.
Installation
# From PyPI
pip install chrome-orchestrator
# Or without installing via uvx
uvx --from chrome-orchestrator orchestrator <command>
# Or from source
pip install -e .Usage
1. Start the Daemon
First, start the background daemon proxy. This service must be running for the CLI and SDK to work.
uvx --from chrome-orchestrator orchestrator daemonBy default, the daemon runs on http://0.0.0.0:3000.
2. CLI Usage
You can manage arthur and gloria containers via the CLI:
# Provision an Arthur container
uvx --from chrome-orchestrator orchestrator arthur up
# Stop an Arthur container
uvx --from chrome-orchestrator orchestrator arthur down
# Provision a Gloria-headless container
uvx --from chrome-orchestrator orchestrator gloria up
# Stop all running orchestrator containers
uvx --from chrome-orchestrator orchestrator downWhen you run up, the orchestrator will provision the container and output a static MCP HTTP URL you can connect your client to, such as http://localhost:3000/arthur/mcp.
3. Python SDK Usage
AI agents and Python scripts can use the SDK to programmatically provision and tear down environments:
from chrome_orchestrator import sdk
# Provision the environment (defaults to Arthur)
manifest = sdk.up(sdk.ContainerImage.ARTHUR)
print(f"Connected! MCP URL: {manifest.mcp_url}")
print(f"Agent Instructions:\n{manifest.instructions}")
# Your automation/MCP client connects to `manifest.mcp_url` here...
# Tear down the session when finished
sdk.down(sdk.ContainerImage.ARTHUR)Testing
The project uses pytest for testing. The tests target the highest seams (CLI and SDK) and simulate HTTP proxy interactions.
pytest tests/This server cannot be deployed
Maintenance
Related MCP Connectors
Undetectable cloud browser sessions for AI agents and scrapers. Navigate, extract, click, captcha.
- TabfleetOAuthcom.tabfleet
Launch, inspect, control, and share isolated cloud browsers for your agents.
Hosting for AI agents: your AI client deploys Docker apps to live HTTPS URLs over MCP.
A paid remote MCP for AI agent browser MCP session, built to return verdicts, receipts, usage logs,
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI agents to control multiple independent browser instances in parallel with process-level isolation, supporting any backend MCP server for browser automation.271,227 npm18MIT
- FlicenseNot gradedqualityAmaintenanceEnables AI agents to control a persistent local browser with live tabs, navigation, interaction, inspection, and state management through MCP.4-
- FlicenseNot gradedqualityBmaintenanceProvides a persistent Chromium browser with CDP and Playwright MCP endpoints for automated browser control and natural-language-driven web interactions in secure sandboxes.-
- AlicenseBqualityCmaintenanceDeploys a hosted, authenticated MCP server that lets AI assistants drive a real headless browser over HTTP, enabling navigation, clicking, typing, and reading pages without local browser setup.235,046,799 npmApache 2.0