Unchained Sky
About
Browser automation MCP server that connects AI agents to your real Chrome browser with structured page understanding in ~500 tokens
Details
- Author
- protostatis
- Categories
- Web Scraping, Automation, Other
Jump to
Setup
Install Unchained Sky in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/protostatis/unchained-infra
Follow the installation instructions in the repository README, then restart your MCP client.
Open infrastructure and control plane for Unchained, a browser automation system built on raw Chrome DevTools Protocol.
This repository contains the public-facing pieces of that system: relay, web UI, agent packaging, browser bridge, deployment assets, and server orchestration. The proprietary extraction engine lives behind a documented runtime boundary in a separate private repository.
- unchained/web.py: chat UI, auth flows, scheduler UI, SSE chat transport
- unchained/relay.py: WebSocket relay for browser-agent tunnels and CDP clients
- unchained/chrome_bridge.py: local or headless bridge from Chrome CDP to relay
- unchained/chat_agent_cli.py: local agent lanes for Claude CLI, Codex CLI, OpenCode CLI, and related model backends
- unchained/chat_agent_openrouter.py: hosted OpenRouter inference worker for the hybrid trial lane (the browser still runs through the user's connector)
- unchained/credit.py: grant-based hosted-inference ledger and per-call holds
- unchained/agent_package.py: downloadable agent bundle generator
- docker-compose.yml: production deployment topology
- deploy.shanddeploy_headless.sh: EC2 deployment entrypoints
The DDM, page-intelligence, and core CDP execution logic are not stored in this repository. Public code talks to that layer throughprivate_core_client.py.
- the relay, UI, auth, packaging, and deployment code are open for inspection
- the high-leverage browser extraction heuristics stay in the private core repo
- CI enforces the boundary with import guards and artifact checks
Seedocs/open-core-split-plan.mdfor the current open-core model.
- The browser tunnel is here. You can inspect how agent auth, relay routing, and CDP proxying actually work.
- The deployment path is here. Docker Compose, Caddy routing, EC2 deploy scripts, and headless worker definitions are part of the public repo.
- The trust boundary is explicit. Public services do not directly import private browser-intelligence modules.
- The local dev path is real. You can run the relay and web app locally with./dev.sh.
Phone / browser | | HTTPS + SSE v Caddy -> web -> private_core_client -> private core service | | | +-> local chat-agent websocket | +-> hosted trial-agent -> OpenRouter | +-> relay -> chrome_bridge -> user's Chrome DevTools endpoint
cd unchained-infra/unchained uv sync cd .. ./dev.sh
If Google OAuth is not configured, the app falls back to dev auth:
curl -X POST http://localhost:8080/auth/dev \ -H 'Content-Type: application/json' \ -d '{"email":"dev@localhost"}'
dev.shstarts only the local web server and relay. To connect a local chat client and controlled Chrome without sending test traffic to production, followdocs/local-agent-testing.md. The browser session, chat client, and Chrome bridge must use the same locally stored API key.
The hosted trial worker is not started bydev.sh. Docker deployments that enable it must set a dedicatedHOSTED_AGENT_SERVICE_TOKEN; it must not reuseTRIAL_AGENT_KEY,PRIVATE_CORE_TOKEN, or a user API key.
cd ~/Projects/unchainedsky_com/unchained-infra git switch main git pull --ff-only origin main DEPLOY_REVISION="$(git rev-parse HEAD)" \ PRIVATE_CORE_SRC=../unchained-core-private/unchained \ KEY_PATH=~/.ssh/unchained-key.pem \ EC2_HOST=<host> \ EC2_USER=<deploy-user> \ ./deploy.sh
deploy.shrejects dirty worktrees and any revision other than the currentorigin/main. It applies and restores the private-core overlay only after that source check succeeds. The guard requiresoriginto be reachable and fails closed if it cannot query the currentmainrevision.
These are the quickest checks for the public repo boundary and local stack:
cd unchained-infra/unchained uv run python test_open_core_boundary.py cd .. python3 tools/oss_guard/check_private_imports.py python3 tools/oss_guard/check_agent_artifact_leaks.py
unchained-infra/ ├── docs/ # Architecture, setup, roadmap, and design notes ├── deploy/ # Deployment helpers ├── tools/ # Private-core overlay + OSS boundary guards ├── unchained/ # Python application code ├── docker-compose.yml # Production stack ├── docker-compose.headless.yml └── deploy.sh
- docs/README.md: docs index
- docs/architecture.md: service layout and request flow
- docs/cloud-tools-execution-map.md: where browser actions execute across the public/private boundary
- docs/debugging-map.md: trace events and incident triage
- docs/local-agent-testing.md: run the web UI, chat client, relay, and controlled Chrome entirely on one development machine
- docs/mcp-local-browser-guide.md: run production MCP against your local Chrome bridge
- docs/mcp-frontend-route-plan.md: plan for a public/mcponboarding route and positioning copy
- docs/unbrowser-mcp-route.md: hosted unbrowser MCP route and deployment notes
- docs/fin-terminal-route.md: authenticated financial terminal route and deployment notes
- docs/you-navigate-demo.md: local setup and reward-critic framing for the "Unchained drives. You navigate." demo
- docs/split-repo-setup.md: CI and private-core overlay
- unchained/benchmark/README.md: local benchmark flow
- unchained/README.md: package-level developer notes
MCP server for browser automation via Vercel agent-browser CLI
Convert any URL to LLM-ready Markdown via real Chrome browsers. 3 tools: scrape, crawl, search. Free via MCP, pay-per-use via x402.
An MCP server that allows AI agents to control a web browser using the browser-use library.
Exposes Chrome browser functionality to AI assistants for automation, content analysis, and semantic search via a Chrome extension.
Control a Chrome browser through the Chrome DevTools Protocol (CDP) from MCP clients for browsing, inspection, and automation workflows.
Stealthy, LLM-drivable browser engine — a Python library + 85-tool MCP server on stealth Chromium with full Chrome DevTools Protocol.
Multi-session browser MCP for AI agents — stealth mode, session pooling, humanization, 10x fewer tokens than Playwright
A Go-based MCP server for interacting with the Lightpanda Browser using the Chrome DevTools Protocol (CDP).
A browser automation agent using the Model Context Protocol (MCP) to enable browser interactions.
A browser automation service for capturing console output, useful for tasks like public sentiment analysis.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


