unbrowser
unbrowser
Der günstige Browser-Pass für Agenten. Ein natives Binary. Kein Chrome.
Offizielle MCP-Registry-Identität: mcp-name: io.github.protostatis/unbrowser
unbrowser ist eine zustandsbehaftete, nicht-visuelle Web-Runtime für Agenten. Es liegt zwischen curl/WebFetch und einem echten Browser: Es behält Cookies und DOM-Zustand bei, gibt abfragbare Element-Referenzen zurück, verarbeitet Links und HTML-Formulare, erkennt Challenge- und SPA-Signale und kann begrenzte QuickJS-Seitenskripte ausführen, wenn statisches HTML nicht ausreicht.
Der Standard-
navigateist ein schneller statischer/SSR-Durchlauf. Setzen Sieexec_scripts: truenur, wenn Sie eine begrenzte QuickJS-Ausführung benötigen. Schwere SPAs, Pixel, V8-Fidelity, Erweiterungen und interaktive Anti-Bot-Challenges gehören in eine echte Chrome-Stufe.
Probieren Sie vor der Installation die Live-Demo im öffentlichen Web aus. Sie akzeptiert nur die festen öffentlichen Quellsets, die auf der Seite angezeigt werden; senden Sie keine privaten Daten, Cookies oder authentifizierten Aufgaben darüber. Ein gemeinsam genutzter Streamable-HTTP-MCP-Endpunkt ist für öffentliche Smoke-Tests unter https://unchainedsky.com/unbrowser-mcp verfügbar; Produktionssitzungen sollten eine lokale Installation verwenden.
Verwenden Sie unbrowser nur für Websites, Konten und Daten, auf die Sie zugreifen dürfen.
Die Challenge-Erkennung und der Cookie-Import gewähren keine Berechtigung, Zugriffskontrollen
oder Website-Bedingungen zu umgehen. Behandeln Sie Sitzungscookies als Anmeldeinformationen: Halten Sie sie lokal,
beschränken Sie sie auf die autorisierte Aufgabe und senden Sie sie niemals an die öffentliche Demo.
Die richtige Stufe wählen
Bedarf | curl / WebFetch | unbrowser | Real Chrome |
Statisches / SSR-HTML | Rohantwort | strukturierte BlockMap + DOM-Abfragen | voller Browser |
Cookies, Links, HTML-Formulare | DIY | integriert | integriert |
Clientseitige Seitenskripte | ❌ | begrenztes QuickJS, opt-in | V8 |
Pixel, Canvas, WebGL, Workers, Erweiterungen | ❌ | ❌ | ✅ |
Agentenorientierte Ausgabe | DIY-Parsing | Element-Referenzen, Seiten-Signale, strukturierte Extraktion | DIY-CDP / DOM-Parsing |
Interaktive Zugriffs-Challenge | ❌ | erkennen + stoppen oder eskalieren | autorisierter Browser / menschliche Bestätigung |
Verwenden Sie unbrowser, wenn HTTP allein zu dumm ist und ein vollwertiger Browser zu teuer ist. Wenn die Seite Chrome benötigt, weist die Ausgabe den Agenten an, zu eskalieren, anstatt eine Kompatibilität vorzutäuschen, die nicht vorhanden ist.
Related MCP server: Browserbase MCP Server
Schnellstart
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:latestDas Image ist distroless und läuft als Nicht-Root: keine Shell, kein Paketmanager, kein persistenter Zustand. Pinnen Sie in Produktion :vX.Y.Z oder einen Image-Digest.
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"])Unter macOS hat /usr/bin/python3 die Version 3.9 und kann das Wheel nicht installieren; verwenden Sie pipx oder ein Homebrew-Python. Die PyPI-Distribution heißt pyunbrowser, während Import und ausführbare Datei weiterhin unbrowser bleiben.
MCP
{
"mcpServers": {
"unbrowser": {
"command": "unbrowser",
"args": ["--mcp"]
}
}
}Minimale Oberfläche: Fügen Sie "--mcp-profile", "minimal" hinzu, um nur navigate/query/extract/help freizugeben, und lassen Sie den Agenten den Rest über help(topic) entdecken. Der Python-Wrapper enthält einen 3-Tool-Smart-Server (search/open/help) als Konsolenskript unbrowser-smart.
{
"mcpServers": {
"unbrowser": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"ghcr.io/protostatis/unbrowser:latest"
]
}
}
}Siehe Installations- und Schnittstellenreferenz für Cargo, Release-Archive, Source-Builds, persistente Shell-Sitzungen, rohes JSON-RPC und alle MCP-Optionen.
Was ein Agent bekommt
navigategibt eine BlockMap zurück: Seitentitel, Landmarken, Überschriften, interaktive Elemente, Dichte-Signale und eine ASCII-Gliederung. Ihre Größe ist seitenabhängig; sie ist für die Planung strukturiert, nicht als Versprechen einer festen Token-Anzahl.Stabile Element-Referenzen (
e:142): Fragen Sie ein Element einmal ab und führen Sie dannclick,typeodersubmitdarauf aus, ohne HTML erneut zu parsen.Zustandsbehaftete Cookies und Formulare: Cookie-Jar, GET- und URL-kodierte POST-Formularübermittlung, Links und Weiterleitungen bleiben innerhalb einer Sitzung erhalten.
Seiten- und Challenge-Signale:
density.likely_js_filled,thin_shellundchallenge.providersagen einem Agenten, ob er Skripte ausführen, eingebettete Daten prüfen, stoppen oder zu einer autorisierten Browser-Sitzung eskalieren soll.Routing-Hilfen bei jedem Ergebnis:
micro_hint(der einzige nächste konkrete Schritt),next_tools(bewertete Kandidaten),avoid(Tools, mit denen es nichts zu tun gibt) und eine stabileescalation-Taxonomie (challenge,thin_shell,partial_result, …) mit retryable/severity/evidence – Empfehlungen widersprechenavoidnie.Strukturierte Helfer: Routen-Erkennung, Karten-Extraktion, Tabellen-Normalisierung,
text_mainund Selektor-Debugging decken gängige Extraktions-Workflows ab.
Skriptmodus und Eskalation
{"id":1,"method":"navigate","params":{"url":"https://example.com","exec_scripts":true}}Mit exec_scripts: true laufen Inline- und externe Skripte in QuickJS unter einem begrenzten Watchdog. Dadurch lassen sich leichte Hydration und per Fetch sichtbare Daten materialisieren; das ist kein V8 und keine Rendering-Engine. Schwere React/Vue/Ember-Anwendungen können weiterhin eine leere Hülle hinterlassen.
Eskalieren Sie zu unchainedsky-cli oder Unchained, wenn eine zulässige Aufgabe echte Pixel, Canvas/WebGL, Workers, Browser-Erweiterungen, V8-Kompatibilität, ein authentifiziertes Profil oder eine menschliche Bestätigung erfordert. Wenn der Benutzer in Chrome bereits eine autorisierte Sitzung eingerichtet hat, kann cookies_set das erforderliche Sitzungscookie lokal importieren, bis es abläuft; es ist keine Lizenz, um die Kontrollen einer Website zu umgehen.
Dokumentation
Bedarf | Dokument |
Installationspfade, Session-CLI, One-Shot-CLI, rohes RPC, MCP, Shims, vollständige RPC-Tabelle | |
Skript-Kompatibilität, SPA-Signale, Challenge-Behandlung, autorisierte Cookie-Übergabe, Eskalation | |
Distribution und unterstützte Verzeichnislisten | |
Das native Binary bauen |
Lizenz
Apache-2.0 — siehe LICENSE.
Maintenance
Related MCP Servers
- AlicenseAqualityDmaintenanceA Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages through structured accessibility snapshots without requiring screenshots or visually-tuned models.224,588,713Apache 2.0
- AlicenseAqualityDmaintenanceEnables cloud browser automation through Browserbase and Stagehand, allowing LLMs to interact with web pages, take screenshots, extract data, and perform automated actions with support for proxies, stealth mode, and parallel sessions.143,231Apache 2.0

Plasmateofficial
AlicenseNot gradedqualityBmaintenanceAgent-native headless browser for AI agents. Converts web pages to a Semantic Object Model (SOM) instead of raw HTML — 17x average token reduction across real-world sites (up to 117x on complex pages). Native MCP server with fetch_page, extract_text, extract_links, and full browser automation. No API key required.37Apache 2.0- AlicenseNot gradedqualityCmaintenanceThe Zero-Setup Local Browser MCP. Enables AI agents to control web browsers via CDP with zero vision tokens and high-speed DOM mapping.17MIT
Related MCP Connectors
Stealth web browser for agents: search, fetch, click and type through persistent sessions over MCP.
Scrape, crawl, map & search the web. Open-source, self-hostable Rust crawler & search for AI agents.
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/protostatis/unbrowser'
If you have feedback or need assistance with the MCP directory API, please join our Discord server