mcpField
Z
Zamery Browser

Zamery Browser

ローカル
github.comブラウザ自動化01 週間前に更新

Zamery Browser について

Zamery Browserは、既存のFirefoxセッション内にある選択済みタブをエージェントから操作できるローカルMCPサーバーです。ログイン済みページも対象ですが、タブやグループごとにユーザーが操作範囲と期間を許可します。

主な機能

  1. 01共有済みFirefoxタブとグループの利用
  2. 02ページのスナップショットとコンテキストの確認
  3. 03クリック、入力、キー送信
  4. 04許可されたタブの作成と管理
  5. 05ユーザーへの引き継ぎ要求
  6. 06認証情報フィールドへの書き込み拒否

活用シーン

  1. 01Firefoxのログイン済みページを操作
  2. 02エージェントが使えるタブを限定
  3. 03操作中のページをユーザーに引き継ぐ
  4. 04結果が不明なブラウザー操作を確認

MCP 対応

MCPサーバーはstdioでFirefox Companionに接続し、Native Messagingホストを介して通信します。ブラウザーの状態、コンテキスト、スナップショット、操作、タブ、グループ、引き継ぎ用のツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"maemreyo-zamery-browser": {
"command": "npx",
"args": [
"-y",
"@zamery/browser-mcp"
]
}
}
}
起動コマンドnpx -y @zamery/browser-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@zamery/browser-mcp0.1.2

ツール

15

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
browser_instance_idstringいいえ複数の Firefox プロファイルが接続されている場合にのみ必要です。

詳細

@zamery/browser-mcp

ローカルエージェント(たとえば Codex)が、すでに使用している Firefox を、ログイン状態のまま利用できるスタンドアロンの MCP サーバーです。利用できるのは、共有するよう選択したタブとタブグループに限られます。

agent host (stdio) → @zamery/browser-mcp → BrowserProvider V2 + optional interfaces
  → @zamery/browser-firefox → Native Messaging host → Zamery Browser Companion → your Firefox

Pi や Zamery Workbench には依存しません。生の JavaScript や eval を公開せず、エージェントが自分でアクセス権を付与することもできません。

状態:安定版 0.1.2。Zamery Browser v0.2.3、Mozilla の署名を取得した公開版 Companion 0.2.5 とともにリリースされました。公開成果物のクリーンな受け入れテスト、実際のプロファイルでの署名済み受け入れテスト、Official MCP Registry への公開はすべて合格しています。

インストール

codex mcp add zamery-firefox -- npx -y @zamery/browser-mcp@latest

@zamery/browser-firefox の Firefox コンパニオンとネイティブホストも必要です(README を参照してください)。

Official MCP Registry:io.github.maemreyo/zamery-browser。

Codex の手順(スクリーンショットに必要)

テスト済みの Codex 環境では、モデルに MCP の画像がインラインで渡されず、スクリーンショットに何が写っているかを推測していました。そのため、browser_screenshot はローカルの画像ファイルパスも返すようになっており、モデルは画像ビューアーでそのファイルを開く必要があります。codex/AGENTS.snippet.md をプロジェクトの AGENTS.md に追加するか、codex/skill/zamery-browser を Codex スキルとしてインストールしてください。これを使うと、実際の Firefox に対する視覚的な質問に 3/3 回正しく回答できました。使わない場合は 0/2 回でした。

アクセスの仕組み

  1. エージェントは browser_status を呼び出します。Firefox に接続されていない場合や、何も共有されていない場合でも常に機能し、ユーザーに何を依頼すべきかを示します。Firefox に接続されていて、何も共有されていない場合、エージェントは一度だけ browser_request_access を呼び出して、ユーザーに注意を促すことができます。このリクエストには、タブ、グループ、操作、期間の選択肢は含まれず、アクセス権を付与することもありません。
  2. Firefox にツールバーのバッジが表示されます。オプションの通知を有効にしている場合は、一般的な OS 通知も表示されます。Zamery Browser パネルを開き、ローカルエージェント、タブまたはグループ、エージェントに許可する操作、許可する期間(このセッション、または 1~30 日)を選択します。
  3. エージェントは browser_contexts / browser_snapshot を呼び出します。claim=true(デフォルト)のスナップショットを取得すると、書き込み権限が確保されます。返された短い参照(e1、e2 など)は、その後 browser_click、browser_fill、browser_type、browser_key で使用できます。
  4. パネルからいつでも操作を引き継ぐことができます。デフォルトの interactive モードでは、権限を確保したページを使うと、操作権限もユーザーに移ります。明示的なバックグラウンド操作では、共有中の同じページを通常どおり使っても、エージェントの古いスナップショットが無効になるだけです。エージェントは新しいスナップショットを取得して続行できます。明示的なユーザー操作が有効な間、エージェントは操作できず、ユーザーに再開を依頼することだけができます。

サインイン、ワンタイムコード、支払いの各フィールドにエージェントが入力することはありません。スナップショットでは CREDENTIAL としてフラグが付けられ、書き込みは拒否されます。browser_handoff(request_user_takeover)を使用してください。

ツール

ツール用途
browser_status接続状況、アクセス権、期限、誰が操作権を持っているか、次に行うことを確認します。
browser_request_access許可が付与される前に、Firefox でユーザーの注意を引くよう依頼します。アクセス権の付与、拡大、再開、確認は行いません。
browser_contextsエージェントと共有されているタブです。
browser_snapshot共有タブのコントロール(フォーム値と非表示のコントロールは含みません)と、デフォルトで書き込み権限の要求を取得します。
browser_click / browser_fill / browser_type / browser_key合成 DOM 操作(isTrusted=false)です。書き込み権限の要求と最新の観察結果が必要です。
browser_handoffrequest_user_takeover(ユーザーへの引き継ぎを要求)、resume(要求のみ)、claim(操作権を要求)、release(操作権を解放)です。
browser_mutation_statusrequest_id によって操作の結果を確認します。
browser_tabタブの作成/移動/再読み込み/アクティブ化/自分が作成したタブの終了を行います(許可された操作のみ)。
browser_groups, browser_group共有されている Firefox のタブグループを読み取り、変更します。

すべての変更操作には、安定した request_id が付与されます。タイムアウトまたは応答の消失後、結果が outcome_unknown になる場合があります。その場合、エージェントは新しい ID で再試行してはなりません。browser_mutation_status とページを確認してください。

設定(環境変数)

変数意味
ZAMERY_BROWSER_MCP_STATE_DIR安定したコンシューマー ID の保存先(デフォルトは ~/Library/Application Support/Zamery/browser-mcp)。
ZAMERY_BROWSER_MCP_CONSUMER_IDコンシューマー ID を上書きします([A-Za-z0-9._:-]{8,128})。
ZAMERY_BROWSER_MCP_BROWSER_INSTANCE_ID複数の Firefox プロファイルが接続されている場合に、1 つのプロファイルを指定します。
ZAMERY_BROWSER_MCP_PROVIDERプロバイダーの許可リストを選択します。存在するのは firefox のみです。任意のモジュールパスは拒否されます。

コンシューマー ID は、このインストールに許可を紐付けます。そのため、MCP プロセスまたはエージェントを再起動しても、同じ許可のもとで動作を続けられます。これは同じ OS ユーザー内でのルーティングキーであり、認証済みの ID ではありません。

信頼境界

ローカルの Firefox ブリッジは、ログイン中の OS ユーザーを信頼します。同じユーザーの別のプロセスがブリッジと通信することはできますが、そのプロセス自身のコンシューマー ID に対して Firefox で作成した許可が別途必要です。ページの内容(タイトル、URL、コントロール名)は信頼できないデータであり、ツールの出力ではそのように表示されます。

ライセンス

Apache-2.0。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。