Zamery Browser について
Zamery Browserは、既存のFirefoxセッション内にある選択済みタブをエージェントから操作できるローカルMCPサーバーです。ログイン済みページも対象ですが、タブやグループごとにユーザーが操作範囲と期間を許可します。
主な機能
- 01共有済みFirefoxタブとグループの利用
- 02ページのスナップショットとコンテキストの確認
- 03クリック、入力、キー送信
- 04許可されたタブの作成と管理
- 05ユーザーへの引き継ぎ要求
- 06認証情報フィールドへの書き込み拒否
活用シーン
- 01Firefoxのログイン済みページを操作
- 02エージェントが使えるタブを限定
- 03操作中のページをユーザーに引き継ぐ
- 04結果が不明なブラウザー操作を確認
MCP 対応
MCPサーバーはstdioでFirefox Companionに接続し、Native Messagingホストを介して通信します。ブラウザーの状態、コンテキスト、スナップショット、操作、タブ、グループ、引き継ぎ用のツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
15掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| browser_instance_id | string | いいえ | 複数の 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 Browserv0.2.3、Mozilla の署名を取得した公開版 Companion0.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 回でした。
アクセスの仕組み
- エージェントは
browser_statusを呼び出します。Firefox に接続されていない場合や、何も共有されていない場合でも常に機能し、ユーザーに何を依頼すべきかを示します。Firefox に接続されていて、何も共有されていない場合、エージェントは一度だけbrowser_request_accessを呼び出して、ユーザーに注意を促すことができます。このリクエストには、タブ、グループ、操作、期間の選択肢は含まれず、アクセス権を付与することもありません。 - Firefox にツールバーのバッジが表示されます。オプションの通知を有効にしている場合は、一般的な OS 通知も表示されます。Zamery Browser パネルを開き、ローカルエージェント、タブまたはグループ、エージェントに許可する操作、許可する期間(このセッション、または 1~30 日)を選択します。
- エージェントは
browser_contexts/browser_snapshotを呼び出します。claim=true(デフォルト)のスナップショットを取得すると、書き込み権限が確保されます。返された短い参照(e1、e2など)は、その後browser_click、browser_fill、browser_type、browser_keyで使用できます。 - パネルからいつでも操作を引き継ぐことができます。デフォルトの
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_handoff | request_user_takeover(ユーザーへの引き継ぎを要求)、resume(要求のみ)、claim(操作権を要求)、release(操作権を解放)です。 |
browser_mutation_status | request_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。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。