MCP-Browse について
MCP-Browseは、LLMによるブラウザー操作向けのMCPサーバーで、特にECサイトでの操作を扱います。Protocol Buffersを使い、ページ移動、クリック、入力、ダウンロード、スクリプト実行を提供します。
主な機能
- 01ページ移動とリダイレクト処理
- 02要素IDまたはCSSセレクターでクリック
- 03テキストやフォーム値の入力
- 04画像とファイルのダウンロード
- 05JavaScript実行と結果取得
活用シーン
- 01ECサイトの商品ページの自動閲覧
- 02Webフォームへの入力と操作
- 03ページからのファイル取得やスクリプト実行
MCP 対応
リモートプロトコルを通じて、ページ移動、クリック、入力、ダウンロード、スクリプト実行などのブラウザー操作をMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP-Browse
自動化および E コマースサイトとのやり取りを目的としたブラウザー制御プロトコルです。
概要
MCP-Browse は、リモートプロトコルを介してブラウザー操作を制御するための、シンプルで効率的なインターフェースを提供します。特に、次のような一般的な E コマースサイトでの操作に重点を置いています。
- ページへの移動
- 要素のクリック
- フォームデータの入力
- 画像やファイルのダウンロード
- JavaScript の実行
すべての操作では、効率的かつ型安全な通信のために Protocol Buffers を使用します。
プロトコル設計
このプロトコルは、ブラウザーでのユーザー操作を表す「ジェスチャー」を中心に設計されています。
- Navigate - リダイレクト処理を指定して URL にアクセスします
- Click - ID または CSS セレクターを使って要素をクリックします
- Input - フォームフィールドに値を入力します(テキスト、チェックボックス、セレクトドロップダウン)
- Download - 画像やファイルを取得します
- ExecuteScript - ページ上で JavaScript を実行して結果を取得します
ブラウザーのジェスチャー操作(Navigate、Click、Input)は、次の内容を含むストリーミングレスポンスを返します。
- 0 件以上のリダイレクトイベント
- ページコンテンツまたはエラー情報
- 完了イベント
ユーティリティ操作(Download、ExecuteScript)は、要求されたデータを含む単一のレスポンスを返します。
使用例
// Create a client
// client := NewMCPBrowserServiceClient(...)
// Navigate to a product page
navigateReq := apiv1.NavigateRequest_builder{
Url: stringPtr("https://example-shop.com/products"),
AllowRedirects: boolPtr(true),
}.Build()
// Process the response stream
// stream, err := client.Navigate(context.Background(), navigateReq)
// handleResponseStream(stream)
// Click on a product
clickReq := apiv1.ClickRequest_builder{
CssSelector: stringPtr(".product-item"),
}.Build()
// Process the response stream
// stream, err = client.Click(context.Background(), clickReq)
// handleResponseStream(stream)
// Add to cart
clickReq = apiv1.ClickRequest_builder{
CssSelector: stringPtr(".add-to-cart-button"),
}.Build()
// Process the response stream
// stream, err = client.Click(context.Background(), clickReq)
// handleResponseStream(stream)
ビルドと実行
前提条件
- Go 1.18+
- Protocol Buffers コンパイラー
セットアップ
- リポジトリをクローンします
- 依存関係をインストールします。
go mod download - Protocol Buffer コードを生成します。
buf generate
テストの実行
go test ./...
ライセンス
MIT ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。