haden-browser
haden-browser
haden-browser は、ローカルの Model Context Protocol サーバーとして公開される、高速でAIファーストなWebブラウザです。AIに対して、毎ターンスクリーンショットや生のページソースを送る代わりに、現在の目標にとって最も小さく有用なページ表現を提供します。
ベンチマーク: AIブラウザコンテキストを33%削減
主な結果: Haden はコアブラウジングセッションで 7,822 トークン を使用しました。これは Playwright MCP より 32.7% 少なく、Chrome DevTools MCP フルモードより 32.5% 少ない 数値です。セマンティックなアクション参照と画像altテキストのカバレッジを返すテスト済みブラウザMCPの中で、Haden は最も低いトークンフットプリントを記録しました。
5回実行の中央値 | Haden | Playwright MCP | Chrome Slim† | Chrome Full |
コアコンテキストトークン | 7,822 | 11,627 | 4,638 | 11,596 |
ツールスキーマトークン | 727 | 3,999 | 221 | 4,974 |
記事ワークフロートークン | 2,732 | 4,640 | 2,497 | 4,388 |
最初の有用な記事 | 1,044 ms | 2,714 ms | 3,005 ms | 3,133 ms |
記事オリジン転送量 | 16.7 KB / 1 リクエスト | 95.0 KB / 10 | 95.0 KB / 10 | 95.0 KB / 10 |
セマンティックアクション参照 | 15 | 172 | 0 | 143 |
画像altカバレッジ | 8/8 | 8/8 | 0/8 | 8/8 |
† Chrome Slim は絶対的なトークン最小値ですが、これは低レベルなJavaScript制御のベースラインです。モデルがページスクリプトを作成する必要があり、テストしたパスではセマンティックなアクション参照や画像altテキストが返されませんでした。そのため、透明性のために表示していますが、セマンティックブラウザと同等とは見なしていません。
コアコンテキストには、完全なツールスキーマの読み込みと、記事の読み取り、フォーム送信、計算スタイルの検査のためのシリアライズされたMCPツール呼び出しと結果が含まれます。カウントは o200k_base トークナイザーを使用しています。画像ピクセル、ユーザー/システムプロンプト、モデルの推論や散文は除外されているため、実際の課金使用量はMCPホストとモデルによって異なります。
完全なベンチマークレポート、実行ごとの生データ、再現手順 を参照してください。
Related MCP server: browsegrab
他と何が違うのか
目標ベースのビュー — リサーチにはコンパクトなセマンティックテキスト、構造にはサニタイズされたDOM、ビジュアル作業には境界のある計算スタイルを使用します。
画像は遅延読み込み — 画像はaltテキストまたは
[image img1]として表現されます。ピクセルデータは、AIが明示的にhaden_imageを呼び出した場合にのみ返されます。低ラウンドトリップ制御 — すべてのインタラクションが新しいスナップショットを返すため、ほとんどのクリック/タイプフローはステップごとに1回のツール呼び出しで済みます。
安定したアクション参照 — 表示されているコントロールは
e1、e2などになり、モデルにCSSセレクタを考案させるよりも安価で信頼性が高くなります。デフォルトで高速 — 通常のブラウジング中は、画像、メディア、フォントのリクエストがブロックされます。CSSはビジュアルビューで利用可能です。
より安全なローカル実行 — HTTP以外のスキーム、資格情報を含むURL、プライベートネットワークターゲットは、ユーザーが明示的にオプトインしない限りブロックされます。
flowchart LR
AI[AI / MCP host] -->|stdio tools| MCP[haden-browser]
MCP --> PW[Playwright Chromium]
PW --> PAGE[Web page]
PAGE -->|semantic text / DOM / computed CSS| MCP
MCP -.->|only haden_image imgN| PIXELS[Image bytes]
PIXELS -.-> AIビュー
ビュー | 最適な用途 | 返されるデータ |
| 検索、読み取り、フォームフロー | 見出し、表示テキスト、 |
| HTML構造と属性 | サニタイズされたHTML。スクリプトと埋め込みコンテンツは削除され、 |
| レイアウトとCSS推論 | ボックスと境界のある計算CSSプロパティを持つ、表示されている意味のある要素 |
text がデフォルトであり、タスクが本当に構造やプレゼンテーションの詳細を必要としない限り、これを優先する必要があります。
MCPツール
ツール | 目的 |
| HTTP(S) URLを開き、最初のスナップショットを返します |
| 現在のページを読み取ります。オプションでCSSセレクタ内に限定します |
| クリック、入力、選択、キー押下、スクロール、履歴移動、リロード、待機を行い、更新されたスナップショットを返します |
| 最新のスナップショットから1つの |
| Chromiumを起動せずにアクティブなページを報告します |
テキスト出力の例:
# Example Domain
URL: https://example.com/
View: text
Interactive elements: 1
Images: 1 (use haden_image with an img ref only when visual inspection is needed)
# Example Domain
This domain is for use in illustrative examples.
[e1] link "More information" -> https://iana.org/domains/example
[image img1: "Example diagram"]参照は最新のスナップショットに限定されます。ページが大幅に変更された後は、古い e または img 参照を再利用する前に再度読み取ってください。
要件
Node.js 20 以降
Playwright を通じてインストールされた Chromium
このリポジトリからインストール
git clone https://github.com/Haden-Min/haden-browser.git
cd haden-browser
npm ci
npm run setup-browser
npm run build次に、MCPホストを構成して、ビルドされた stdio サーバーを起動します。実際の構成では絶対パスを使用してください:
{
"mcpServers": {
"haden-browser": {
"command": "node",
"args": ["/absolute/path/to/haden-browser/dist/index.js"]
}
}
}開発中は、ホストは npx tsx /absolute/path/to/haden-browser/src/index.ts を起動できます。
パッケージがnpmに公開された後、意図された構成は次のとおりです:
{
"mcpServers": {
"haden-browser": {
"command": "npx",
"args": ["-y", "haden-browser"]
}
}
}そのマシンで最初のブラウザ呼び出しの前に、npx playwright install chromium を一度実行してください。
構成
環境変数 | デフォルト | 意味 |
|
| 表示ウィンドウなしでChromiumを実行します |
|
| 通常のブラウジング中に画像、メディア、フォントをブロックします |
|
| localhost とプライベートネットワークの宛先を許可します |
|
| ナビゲーションと画像フェッチのタイムアウト |
|
| クリック、入力、ロケーターのタイムアウト |
|
| デフォルトのスナップショット文字数制限 |
|
|
|
ブール変数は true/false、1/0、yes/no、on/off を受け入れます。
ローカル開発ページ
SSRFリスクを減らすため、プライベートホストはデフォルトでブロックされています。localhost 上のアプリケーションを閲覧するには、そのMCPプロセスのみオプトインしてください:
{
"mcpServers": {
"haden-browser-local": {
"command": "node",
"args": ["/absolute/path/to/haden-browser/dist/index.js"],
"env": { "HADEN_ALLOW_PRIVATE_HOSTS": "true" }
}
}
}開発
npm install
npm run setup-browser
npm run check
npm run buildテストスイートは、ネットワークポリシー、テキスト整形、実際のChromium抽出、参照ベースのインタラクション、遅延画像取得、インメモリMCPクライアント/サーバー接続をカバーしています。
現在の制限事項
stdio MCP接続ごとに1つのアクティブなブラウザコンテキストが維持されます。
画像参照は現在、表示されているHTML
<img>要素をカバーしており、CSS背景画像、キャンバス、ビデオフレーム、iframeコンテンツはカバーしていません。ビジュアルビューは計算されたプロパティを報告します。すべてのスタイルシートルールをダンプするわけではありません。
ダウンロード、ファイルアップロード、ブラウザ拡張機能、永続プロファイル、CAPTCHA解決はMVPの範囲外です。
プライベートホストフィルタリングはSSRF露出を減らしますが、敵対的なマルチテナント環境でのOS/コンテナレベルのネットワーク分離の代わりにはなりません。
開発ガイダンスについては CONTRIBUTING.md を、脆弱性の報告については SECURITY.md を参照してください。
ライセンス
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to control a browser through a set of tools, allowing them to perform web automation tasks like navigation, typing, clicking, and taking screenshots.
- AlicenseNot gradedqualityDmaintenanceA token-efficient browser automation server that enables LLMs to navigate websites, click elements, and extract content using accessibility trees and markdown conversion. It provides eight tools for lightweight browser interaction optimized for performance with local LLM endpoints.MIT
- AlicenseAqualityAmaintenanceA token-efficient MCP server that gives AI agents structured access to the web, returning compact page summaries and targeted queries instead of full accessibility dumps.23435174MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to control a browser through a set of tools, allowing them to perform web automation tasks like navigation, typing, clicking, and taking screenshots.
Related MCP Connectors
Reliable web access for AI agents: smart HTTP, rotating proxies, and full-browser rendering.
E2LLM gives your AI eyes and hands in a real browser: structured perception (SiFR) plus action.
Web search, page extraction and structured commerce, social and business data for AI agents
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/Haden-Min/haden-browser'
If you have feedback or need assistance with the MCP directory API, please join our Discord server