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: MultiZen
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
Cloud browsers for AI agents: get past bot detection, sign in with MFA, run web tasks at scale.
Official Browserless MCP server: browser automation, scraping, screenshots and PDFs for AI agents.
Cloud browsers for AI agents: saved logins, residential IPs, live human takeover, 57 browser tools.
Give AI agents a real cloud Chrome: open sessions, navigate, read pages, click, type and screenshot.
Related MCP Servers
- 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.238,572,341 npmApache 2.0
- FlicenseNot gradedqualityAmaintenanceEnables AI agents and human operators to drive isolated, persistent browser profiles with their own cookies, fingerprints, and proxies. Exposes tools for profile lifecycle, navigation, clicking, typing, extraction, screenshots, JavaScript evaluation, tabs, cookies, and waits over a local MCP endpoint.-
- AlicenseNot gradedqualityAmaintenanceEnables AI agents and MCP clients to automate real browser sessions through Playwright-compatible tools, including web research, testing, persistent profiles, proxy matching, and humanized interactions, with npm, Docker, stdio, and Streamable HTTP deployment options.541 npmMIT
- FlicenseNot gradedqualityAmaintenanceEnables AI agents and human operators to drive isolated browser profiles with persistent cookies, fingerprints, and proxies, exposing navigation, clicking, typing, extraction, screenshots, JS evaluation, tabs, cookies, and waits to MCP clients.-