unbrowser by Unchained MCP server
Chrome-free MCP web access for agents with low-token page maps and browser escalation hints.
15 stars41 downloads/wk
Reviews
Write oneNobody has reviewed unbrowser by Unchained yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
unbrowser by Unchained tools
No tool declarations could be read from the package source. They show once the server is installed.
Public scan report
scanner v0.1.9 · 2026-09-21 · same rubric, same numbers if you re-run it
- Code scan6 source files scanned20/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 31 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Findings (1)
- mediumeval / new Function used
exec.evalx/unbrowser/__init__.py: … return self.call("body") def eval(self, code: str) -> Any: """Run …
What the publisher says
From the unbrowser by Unchained repository's README, as published. We do not edit it. Read it on GitHub
unbrowser
The cheap browser pass for agents. One native binary. No Chrome.
Official MCP Registry identity: mcp-name: io.github.protostatis/unbrowser
unbrowser is a stateful, non-visual web runtime for agents. It sits between curl/WebFetch and a real browser: it retains cookies and DOM state, returns queryable element refs, handles links and HTML forms, detects challenge and SPA signals, and can run bounded QuickJS page scripts when static HTML is not enough.
Default navigate is a fast static/SSR pass. Set exec_scripts: true only when you need bounded QuickJS execution. Heavy SPAs, pixels, V8 fidelity, extensions, and interactive anti-bot challenges belong in a real Chrome tier.
Try the live public-web demo before installing. It accepts only the fixed public source sets shown on the page; do not send private data, cookies, or authenticated tasks through it. A shared Streamable HTTP MCP endpoint is available at https://unchainedsky.com/unbrowser-mcp for public smoke tests; production sessions should use a local install.
Use unbrowser only on sites, accounts, and data you are permitted to access. Challenge detection and cookie import do not grant permission to bypass access controls or site terms. Treat session cookies as credentials: keep them local, scope them to the authorized task, and never send them to the public demo.
Pick the right tier
Use unbrowser when HTTP alone is too dumb and a full browser is too expensive. When the page needs Chrome, the output tells the agent to escalate rather than pretending compatibility it does not have.
Quick start
Docker — Linux amd64/arm64, ~13 MiB pull
docker pull ghcr.io/protostatis/unbrowser:latest
# One-shot navigation
docker run --rm ghcr.io/protostatis/unbrowser:latest \
navigate https://example.com --json
# Default mode: MCP over stdio
docker run --rm -i ghcr.io/protostatis/unbrowser:latestThe image is distroless and runs as non-root: no shell, package manager, or persistent state. Pin :vX.Y.Z or an image digest in production.
Python
pipx install pyunbrowser # recommended on macOS / modern Linux
# or, inside a Python 3.10+ virtual environment:
pip install pyunbrowserfrom unbrowser import Client
with Client() as ub:
ub.navigate("https://news.ycombinator.com")
for link in ub.query(".titleline > a")[:3]:
print(link["text"], link["attrs"]["href"])On macOS, /usr/bin/python3 is 3.9 and cannot install the wheel; use pipx or a Homebrew Python. The PyPI distribution is pyunbrowser, while the import and executable remain unbrowser.
MCP
{
"mcpServers": {
"unbrowser": {
"command": "unbrowser",
"args": ["--mcp"]
}
}
}Minimal surface: add "--mcp-profile", "minimal" to expose only navigate/query/extract/help and let the agent discover the rest via help(topic). The Python wrapper ships a 3-tool smart server (search/open/help) as the unbrowser-smart console script.
Docker MCP configuration
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
claude mcp add unbrowser -- uvx pyunbrowser
unbrowser by Unchained: common questions
- Is unbrowser by Unchained MCP server safe?
- Mostly: it is graded B (80/100). Read the unbrowser by Unchained safety report
- How do I install unbrowser by Unchained?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does unbrowser by Unchained need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is unbrowser by Unchained maintained?
- The last commit was 32 days ago (2026-08-21). The latest release is v0.0.21.
- What can I use instead of unbrowser by Unchained?
- Servers from other publishers that do the same job: AIHawk MCP server, Oya Browser MCP server and SeleniumBase MCP server. Compare all unbrowser by Unchained alternatives.
Alternatives to unbrowser by Unchained
Same job from other publishers: the closest match first, then the best rated.
- AIHawkAI browser agent: browses, clicks, types, and reads real web pages from plain-English instructions.not reviewedWidely usedA
- Oya BrowserReal Chrome for agents: start a browser, read pages as numbered markdown, click, type, hand off.not reviewedGrowingA
- SeleniumBase MCPStealthy browser automation, testing, and web-scraping via CDP Mode.not reviewedWidely usedA
- SafariNative Safari browser automation for AI agents — 98 tools, zero Chrome overhead.not reviewedEstablishedC
- ScrapelessWeb search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.not reviewedEstablishedA