unbrowser
unbrowser
エージェント向けの低コストなブラウザパス。ネイティブバイナリ1つ。Chrome不要。
公式MCPレジストリID: mcp-name: io.github.protostatis/unbrowser
unbrowser は、エージェント向けのステートフルで非視覚的なWebランタイムです。curl/WebFetch と本物のブラウザの間に位置します。CookieとDOM状態を保持し、クエリ可能な要素参照を返し、リンクとHTMLフォームを処理し、チャレンジおよびSPAシグナルを検出し、静的HTMLでは不十分な場合に制限付きQuickJSページスクリプトを実行できます。
デフォルトの
navigateは高速な静的/SSRパスです。 制限付きQuickJS実行が必要な場合にのみexec_scripts: trueを設定してください。重いSPA、ピクセル、V8の忠実性、拡張機能、インタラクティブなアンチボットチャレンジは、本物のChrome層に属します。
インストール前にライブの公開Webデモをお試しください。このデモはページに表示されている固定された公開ソースセットのみを受け付けます。プライベートデータ、Cookie、認証付きタスクを送信しないでください。公開スモークテスト用に、共有のStreamable HTTP MCPエンドポイントがhttps://unchainedsky.com/unbrowser-mcpで利用できます。本番セッションではローカルインストールを使用してください。
unbrowser は、アクセスを許可されているサイト、アカウント、データにのみ使用してください。
チャレンジ検出とCookieインポートは、アクセス制御やサイトの利用規約を回避する
許可を与えるものではありません。セッションCookieは認証情報として扱ってください。
ローカルに保持し、認可されたタスクに限定し、公開デモに送信しないでください。
適切なティアを選ぶ
ニーズ | curl / WebFetch | unbrowser | Real Chrome |
静的 / SSR HTML | 生のレスポンス | 構造化されたBlockMap + DOMクエリ | フルブラウザ |
Cookie、リンク、HTMLフォーム | 自前 | 組み込み | 組み込み |
クライアントサイドのページスクリプト | ❌ | 制限付きQuickJS、オプトイン | V8 |
ピクセル、Canvas、WebGL、Worker、拡張機能 | ❌ | ❌ | ✅ |
エージェント向け出力 | 自前のパース | 要素参照、ページシグナル、構造化抽出 | 自前のCDP / DOMパース |
インタラクティブなアクセスチャレンジ | ❌ | 検出 + 停止またはエスカレーション | 認可済みブラウザ / 人間による確認 |
HTTPだけでは不十分で、フルブラウザを使うにはコストがかかりすぎる場合に unbrowser を使用してください。ページがChromeを必要とする場合、出力は実際には持っていない互換性を偽るのではなく、エージェントにエスカレーションするよう伝えます。
Related MCP server: Browserbase MCP Server
クイックスタート
Docker — Linux amd64/arm64、プルサイズ約13 MiB
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:latestこのイメージはdistrolessで、非rootとして実行されます。シェル、パッケージマネージャー、永続状態はありません。本番環境では :vX.Y.Z またはイメージダイジェストで固定してください。
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"])macOSでは、/usr/bin/python3 は3.9であるためwheelをインストールできません。pipx またはHomebrewのPythonを使用してください。PyPIディストリビューションは pyunbrowser ですが、インポート名と実行可能ファイル名は引き続き unbrowser です。
MCP
{
"mcpServers": {
"unbrowser": {
"command": "unbrowser",
"args": ["--mcp"]
}
}
}最小限のサーフェス: "--mcp-profile", "minimal" を追加すると、navigate/query/extract/help のみが公開され、エージェントは help(topic) で残りを発見できます。Pythonラッパーには、unbrowser-smart コンソールスクリプトとして3ツールのスマートサーバー(search/open/help)が同梱されています。
{
"mcpServers": {
"unbrowser": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"ghcr.io/protostatis/unbrowser:latest"
]
}
}
}Cargo、リリースアーカイブ、ソースからのビルド、永続的なシェルセッション、生のJSON-RPC、すべてのMCPオプションについては、インストールおよびインターフェースリファレンス を参照してください。
エージェントが得られるもの
navigateはBlockMapを返します: ページタイトル、ランドマーク、見出し、インタラクティブ要素、密度シグナル、ASCIIアウトライン。サイズはページに依存します。固定トークンを約束するものではなく、計画用に構造化されています。安定した要素参照(
e:142): 要素を一度クエリすると、HTMLを再パースせずにclick、type、submitを実行できます。ステートフルなCookieとフォーム: Cookieジャー、GETおよびURLエンコードされたPOSTフォーム送信、リンク、リダイレクトがセッション内で保持されます。
ページおよびチャレンジシグナル:
density.likely_js_filled、thin_shell、challenge.providerは、エージェントにスクリプトを実行するか、埋め込みデータを検査するか、停止するか、認可されたブラウザセッションにエスカレーションするかを伝えます。すべての結果に付随するルーティング支援:
micro_hint(次に実行すべき具体的な単一ステップ)、next_tools(ランク付けされた候補)、avoid(操作対象のないツール)、そして retryable/severity/evidence を備えた安定したescalation分類(challenge、thin_shell、partial_result、…)— 推奨事項はavoidと矛盾しません。構造化ヘルパー: ルート発見、カード抽出、テーブル正規化、
text_main、セレクターデバッグが一般的な抽出ワークフローをカバーします。
スクリプトモードとエスカレーション
{"id":1,"method":"navigate","params":{"url":"https://example.com","exec_scripts":true}}exec_scripts: true を設定すると、インラインおよび外部スクリプトが制限付きウォッチドッグの下でQuickJSで実行されます。これにより、軽量なハイドレーションやfetchで取得可能なデータが実体化されることがありますが、V8でもレンダリングエンジンでもありません。重いReact/Vue/Emberアプリでは、空のシェルが残る可能性があります。
許可されたタスクで実際のピクセル、Canvas/WebGL、Worker、ブラウザ拡張機能、V8互換性、認証済みプロファイル、または人間による確認が必要な場合は、unchainedsky-cli または Unchained にエスカレーションしてください。ユーザーがChromeで認可されたセッションをすでに確立している場合、cookies_set は必要なセッションCookieを有効期限までローカルにインポートできます。これはサイトの制御を回避するライセンスではありません。
ドキュメント
ニーズ | 参照先 |
インストールパス、セッションCLI、ワンショットCLI、生のRPC、MCP、シム、完全なRPCテーブル | |
スクリプト互換性、SPAシグナル、チャレンジ処理、認可されたCookieの引き渡し、エスカレーション | |
ディストリビューションとサポート対象のディレクトリ一覧 | |
ネイティブバイナリのビルド |
ライセンス
Apache-2.0 — 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