MCP Browser Automation について
Algonius Browser の MCP Browser Automation は、外部の AI システムに Chrome ブラウザの操作機能を提供するオープンソースの MCP サーバーです。Chrome 拡張機能と、ネイティブメッセージングで連携する Go 製の MCP ホストで構成されています。ライセンスは Apache License 2.0 です。
主な機能
- 01ナビゲーションとタブ管理のツール
- 02DOM の抽出、クリック、値の設定
- 03ページのスクロール制御
- 04Markdown 形式のブラウザ状態リソース
- 05Chrome 拡張機能と Go 製 MCP ホスト
活用シーン
- 01AI アシスタントによる Web サイトの閲覧とコンテンツ抽出
- 02フォーム入力と送信の自動化
- 03複数タブでの操作と状態の監視
MCP 対応
本プロジェクトは navigate_to、manage_tabs、click_element などのツールと、browser://current/state および browser://dom/state のリソースを公開する MCP サーバーです。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
http://127.0.0.1:9333/sseclaude mcp add --transport sse algonius-browser http://127.0.0.1:9333/sse{"mcpServers":{"algonius-browser":{"type":"sse","url":"http://127.0.0.1:9333/sse"}}}Cursor で開く{"servers":{"algonius-browser":{"type":"sse","url":"http://127.0.0.1:9333/sse"}}}VS Code で開く{"mcpServers":{"algonius-browser":{"type":"sse","url":"http://127.0.0.1:9333/sse"}}}{"mcpServers":{"algonius-browser":{"serverUrl":"http://127.0.0.1:9333/sse"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
MCP ブラウザー自動化
🌐 概要
Algonius Browser は、外部の AI システムにブラウザー自動化機能を提供するオープンソースの MCP(Model Context Protocol)サーバーです。MCP プロトコルを通じて包括的なブラウザー制御ツールを公開し、AI アシスタントやその他のツールがプログラムからウェブサイトを閲覧し、DOM 要素を操作し、ウェブコンテンツを抽出できるようにします。
🎯 主な機能
- MCP プロトコルとの統合:AI システムがブラウザー自動化を制御するための標準インターフェース
- Chrome 拡張機能:ブラウザーとのやり取りを処理するバックグラウンドサービスワーカー
- ネイティブメッセージング:Chrome 拡張機能と外部ツールをつなぐ Go ベースの MCP ホスト
- 包括的なツールセット:ブラウザー自動化ツール 5 個と MCP リソース 2 個
- 型安全性:構造化されたエラー処理を備えた、TypeScript による完全な実装
- テストスイート:すべての機能を対象とした包括的な統合テスト
🛠️ 利用可能な MCP ツール
ナビゲーションとタブ
navigate_to:タイムアウトを設定して URL に移動manage_tabs:ブラウザータブの作成、終了、切り替え
DOM 操作
get_dom_extra_elements:ページネーションとフィルタリングに対応した高度な DOM 要素の抽出click_element:CSS セレクターまたはテキスト照合を使用した DOM 要素のクリックset_value:入力フィールド、テキストエリア、フォーム要素への値の設定scroll_page:距離をカスタマイズしてページを上下にスクロール
📋 利用可能な MCP リソース
ブラウザー状態リソース
-
browser://current/state:AI が扱いやすい Markdown 形式で現在のブラウザー状態をすべて表示- アクティブなタブの情報
- URL、タイトル、ステータスを含むすべてのブラウザータブ
- リソース通知によるリアルタイムの状態更新
-
browser://dom/state:Markdown 形式で現在の DOM 状態の概要を表示- ページのメタデータ(URL、タイトル、スクロール位置)
- 最初の 20 個のインタラクティブ要素
- 「さらに利用可能」の表示を含む要素の合計数
- 簡略化された DOM 構造
- ページが変更されると自動更新
🚀 クイックスタート
1. Chrome 拡張機能をインストールする
Chrome ウェブストアから(推奨):
- Chrome ウェブストアのページにある「Chrome に追加」ボタンをクリックします
- 確認画面が表示されたら、インストールを確定します
- 拡張機能が自動的にインストールされ、使用可能になります
ソースから(開発用):
# Clone and build
git clone https://github.com/algonius/algonius-browser.git
cd algonius-browser
pnpm install
pnpm build
# Load in Chrome
# 1. Open chrome://extensions/
# 2. Enable "Developer mode"
# 3. Click "Load unpacked"
# 4. Select the 'dist' folder
⚠️ 重要:Chrome 拡張機能を正常に動作させるには、MCP ホストのバックエンドサービスが必要です。インストールを完了するには、ステップ 2 に進んでください。
2. MCP ホストをインストールする
ワンクリックインストール(推奨):
Linux/macOS:
curl -fsSL https://raw.githubusercontent.com/algonius/algonius-browser/master/install-mcp-host.sh | bash
Windows(PowerShell):
iwr -useb https://raw.githubusercontent.com/algonius/algonius-browser/master/install-mcp-host.ps1 | iex
手動インストール:
# Download latest release
wget https://github.com/algonius/algonius-browser/releases/latest/download/mcp-host-linux-x86_64.tar.gz
# Extract and install
tar -xzf mcp-host-linux-x86_64.tar.gz
cd mcp-host-linux-x86_64
./install.sh
3. インストールを確認する
# Test the MCP host installation
mcp-host-go --version
# The MCP host will be automatically started when needed by the Chrome extension
# You should see the extension icon in your Chrome toolbar
✅ 成功:両方のコンポーネントがインストールされました!ブラウザー自動化が要求されると、Chrome 拡張機能は MCP ホストと自動的に通信します。
🔧 統合例
AI アシスタントでの使用
インストール後、AI システムは MCP プロトコルを通じてブラウザー自動化ツールとリソースを使用できます。
ツールの使用:
{
"method": "tools/call",
"params": {
"name": "navigate_to",
"arguments": {
"url": "https://example.com",
"timeout": 30000
}
}
}
リソースへのアクセス:
{
"method": "resources/read",
"params": {
"uri": "browser://current/state"
}
}
一般的なワークフロー
ウェブスクレイピング:
navigate_to→ 対象サイトに移動しますbrowser://dom/stateを読み取る → ページの概要を取得しますget_dom_extra_elements→ ページネーションを使用して特定の要素を取得しますclick_element→ 要素を操作しますbrowser://dom/stateを読み取る → 更新されたコンテンツを抽出します
フォームの自動化:
navigate_to→ フォームページに移動しますbrowser://dom/stateを読み取る → フォーム要素を特定しますset_value→ フォームフィールドに入力しますclick_element→ フォームを送信しますbrowser://current/stateを読み取る → 完了を確認します
複数タブの管理:
browser://current/stateを読み取る → 現在のタブを確認しますmanage_tabs→ タブを作成/切り替えますnavigate_to→ 各タブでコンテンツを読み込みますbrowser://current/stateを読み取る → すべてのタブの状態を監視します
スクロールによるページナビゲーション:
navigate_to→ 対象ページに移動しますbrowser://dom/stateを読み取る → 初期ページの状態を取得しますscroll_page→ スクロールしてコンテンツをさらに読み込みますget_dom_extra_elements→ 新たに読み込まれた要素を抽出します
🏗️ アーキテクチャ
External AI System
↓ (MCP Protocol)
MCP Host (Go)
↓ (Native Messaging)
Chrome Extension
↓ (Chrome APIs)
Browser Tabs
コンポーネント
- MCP ホスト:MCP プロトコルを実装する Go ベースのネイティブメッセージングホスト
- Chrome 拡張機能:ツールハンドラーを備えたバックグラウンドサービスワーカー
- コンテンツスクリプト:DOM の操作およびデータ抽出ユーティリティ
- 統合テスト:すべてのツールを対象とする包括的なテストスイート
🧪 開発
ソースからビルドする
前提条件:
- Node.js 22.12.0+
- pnpm 9.15.1+
- Go 1.21+(MCP ホスト用)
拡張機能をビルドする:
pnpm install
pnpm build
MCP ホストをビルドする:
cd mcp-host-go
make build
テストを実行する:
# Extension tests
pnpm test
# MCP host tests
cd mcp-host-go
make test
開発モード
# Extension development
pnpm dev
# MCP host development
cd mcp-host-go
make dev
📊 対応プラットフォーム
MCP ホスト:
- Linux x86_64
- macOS Intel(x86_64)および Apple Silicon(arm64)
- Windows x86_64
Chrome 拡張機能:
- Chrome/Chromium 88+
- Microsoft Edge 88+
📚 ドキュメント
詳細なドキュメントは docs/ ディレクトリにあります:
🤝 貢献
貢献を歓迎します!ガイドラインについては、CONTRIBUTING.mdをご確認ください。
貢献方法:
- バグや機能リクエストを報告する
- 改善のためのプルリクエストを送信する
- 統合テストを追加する
- ドキュメントを改善する
- 使用例を共有する
🔒 セキュリティ
セキュリティの脆弱性については、公開の課題を作成するのではなく、GitHub セキュリティアドバイザリを作成してください。
💬 コミュニティ
- Discord - 開発者やユーザーと交流できます
- GitHub Discussions - アイデアを共有したり、質問したりできます
📄 ライセンス
このプロジェクトは Apache License 2.0 のライセンスに基づいています。詳細については、LICENSEファイルをご覧ください。
👏 謝辞
以下の優れたオープンソースプロジェクトを使用して構築されています:
Algonius Browser チームが ❤️ を込めて開発しました
このプロジェクトがより優れたブラウザー自動化の構築に役立ったら、スター 🌟 をお願いします!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。