Camofox Mcp について
Camofox MCPは、ウェブサイトの閲覧や操作を行うMCP互換AIエージェント向けのブラウザー自動化サーバーです。別途起動するCamoFoxブラウザーサーバーを介し、検知回避動作、セッション再利用、stdioまたはHTTPトランスポートを提供します。
主な機能
- 01ブラウザーワークフロー用の47ツール
- 02ナビゲーション、操作、抽出
- 03複数タブの状態管理とクリーンアップ
- 04永続セッションとプロファイル
- 05アクセシビリティスナップショットとCSSフォールバック
- 06stdioとHTTPトランスポート
活用シーン
- 01複数段階のウェブタスクの自動化
- 02ウェブコンテンツの検索と抽出
- 03タスク間でのブラウザーセッション再利用
MCP 対応
ブラウザー自動化ツールを通じて、MCPクライアントにCamoFoxブラウザーを公開します。別途camofox-browserサーバーが必要で、stdioとHTTPトランスポートに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm ghcr.io/redf0x1/camofox-browser:latestローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/redf0x1/camofox-browser:lateststdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
CamoFox MCP
MCP 対応 AI エージェント向けの、AI を活用した検出回避ブラウザー自動化です。
CamoFox MCP は、Claude Desktop、VS Code、Cursor、OpenClaw などの MCP クライアントを CamoFox ブラウザーサーバーに接続します。エージェントは、ナビゲーション、操作、検索、抽出、ダウンロード、セッションの再利用に使える実用的なブラウザーツールセットを利用でき、基盤では Camoufox ベースの検出回避動作を活用します。
主な機能
- ナビゲーション、操作、観察、検索、ダウンロード、セッション、バッチワークフローに対応する47種類のブラウザー自動化ツール。
- CamoFox ブラウザーサーバーと Camoufox を基盤とする検出回避ブラウザー自動化。
- 状態、履歴、クリーンアップを追跡するマルチタブワークフロー。
- Cookie のインポート、保存済みプロファイル、自動保存オプションに対応したセッションの永続化。
- トークン効率の高いアクセシビリティスナップショットと、複雑な SPA フロー向けの CSS セレクターによるフォールバック。
- OpenClaw 互換の HTTP トランスポートに加え、デスクトップ MCP クライアント向けの標準的な stdio にも対応。
クイックインストール
両方のコンポーネントを実行する必要があります。
camofox-browserは検出回避ブラウザーを処理します。camofox-mcpはそのブラウザーを MCP クライアントに公開します。
オプション A:npx + stdio
ブラウザーサーバーを起動します。
npx camofox-browser@latest
CamoFox MCP を MCP クライアントに追加します。
{
"servers": {
"camofox": {
"type": "stdio",
"command": "npx",
"args": ["-y", "camofox-mcp@latest"],
"env": {
"CAMOFOX_URL": "http://localhost:9377"
}
}
}
}
オプション B:Docker
ブラウザーサーバーを起動します。
docker run -d -p 9377:9377 --name camofox-browser ghcr.io/redf0x1/camofox-browser:latest
OpenClaw などのリモート MCP クライアント向けに、CamoFox MCP を HTTP モードで実行します。
docker run -p 3000:8080 --rm \
-e CAMOFOX_TRANSPORT=http \
-e CAMOFOX_HTTP_HOST=0.0.0.0 \
-e CAMOFOX_HTTP_API_KEY=replace-with-32-plus-random-chars \
-e CAMOFOX_URL=http://host.docker.internal:9377 \
ghcr.io/redf0x1/camofox-mcp:latest node dist/http.js
HTTP MCP クライアントが http://localhost:3000/mcp に
Authorization: Bearer replace-with-32-plus-random-chars を指定して接続するように設定します。
クライアント設定の詳細な例は、docs/getting-started.md にあります。
クイック確認
camofox-browser 2.4.7 以降を使用してください。Browser 2.4.7 では、サポート対象の Windows x64 ヘッドレス・ポータブルディストリビューションが追加され、ここで使用される MCP 向け REST リクエストの形式を変更せずに、セッション単位のナビゲーション復旧が強化されています。Browser 2.4.6 では、新規インストール向けに Camoufox 互換の Playwright プロトコル依存関係が固定され、2.4.5 では、信頼できるプライベートエージェントネットワーク向けの CAMOFOX_AUTH_MODE=disabled を含む明示的なブラウザー認証モードが追加されました。また、2.4.4 では、永続コンテキストのコールドスタート時に about:blank ページを再利用する経路が修正されました。
ブラウザーサーバーに接続できることを確認します。
curl -fsS http://localhost:9377/health
期待されるレスポンスには "ok":true と "running":true が含まれます。
アクティブなタブがまだないコールドサーバーでは、browserConnected が false の場合があります。ブラウザーセッションを開始するには、タブを作成してください。
ツールカテゴリ
| カテゴリ | ツール数 | ドキュメント |
|---|---|---|
| ヘルス | 1 | ヘルス |
| タブ | 3 | タブ |
| ナビゲーション | 4 | ナビゲーション |
| 操作 | 8 | 操作 |
| 観察 | 8 | 観察 |
| 検索 | 1 | 検索 |
| セッション | 4 | セッション |
| プロファイル | 4 | プロファイル |
| ダウンロード | 3 | ダウンロード |
| 抽出 | 3 | 抽出 |
| バッチワークフロー | 6 | バッチ |
| プリセット | 1 | プリセット |
主な制限事項
- CamoFox MCP は単体で動作するブラウザーではありません。互換性のある
camofox-browserサーバーを別途実行する必要があります。 create_tabでuserId: "cli-default"とsessionKey: "default"を使用すると、MCP は camofox CLI のデフォルトのブラウザープロファイル/コンテキストを共有できますが、CLI がすでに開いたタブに確実に接続することはできません。既存の CLI タブのインポート/引き継ぎは今後の機能です。- ヘッド付きブラウザーのウィンドウサイズは、ブラウザーのビューポート/ディスプレイサイズの動作に従います。たとえば
viewportに{ "width": 1366, "height": 768 }を渡すか、CAMOFOX_VIEWPORT=1366x768または--viewport 1366x768を設定すると、新しいタブのデフォルトサイズを指定できます。サポートされるデフォルト値は、幅が320..3840、高さが240..2160です。 - Windows x64 では、
camofox-browser2.4.7 はheadless=trueモードでポータブル版をサポートします。ヘッド付きモードと仮想ディスプレイモードは Windows では引き続きサポートされず、toggle_displayはこれらのモードを拒否します。 - アクセシビリティツリーの参照が主な操作モデルですが、SPA やカスタムコンポーネントを使用するサイトでは、CSS セレクターやレンダリング済み HTML ツールが必要になる場合があります。
- ブラウザーサーバーで認証が必須の場合、API キーで保護された操作には、両側で同じ
CAMOFOX_API_KEYが必要です。 CAMOFOX_AUTH_MODE=disabledを使用する信頼できるプライベートネットワーク上のブラウザー環境では、CamoFox MCP でCAMOFOX_API_KEYを設定しないでください。MCP はブラウザー認証ヘッダーを送信しなくなります。ブラウザーと MCP のアクセスは、信頼できるプライベートネットワーク上に維持してください。- HTTP トランスポートをループバック以外にも公開する場合は、
CAMOFOX_HTTP_API_KEYを設定し、クライアントに Bearer トークンとして送信させてください。 - HTTP トランスポートは主にリモート MCP クライアント向けです。デスクトップ MCP クライアントでは通常、stdio の設定が最適です。
セキュリティ
これはブラウザー制御インターフェースとして扱ってください。共有環境やネットワーク環境では、ブラウザーサーバーを分離し、MCP エンドポイントを広く公開しないでください。また、受信する HTTP MCP クライアントには CAMOFOX_HTTP_API_KEY を使用し、ブラウザーサーバーで認証が必須の場合は CAMOFOX_API_KEY を使用してください。ブラウザーサーバーで CAMOFOX_AUTH_MODE=disabled を実行する場合は、CAMOFOX_API_KEY を設定せず、そのブラウザーエンドポイントを信頼できるプライベートネットワーク上に維持してください。セッションプロファイルには機密性の高い Cookie が含まれる場合があるため、適切に保管してください。
ドキュメント
ドキュメントのハブは docs/README.md から確認し、セットアップ、検証、最初のワークフローの例については docs/getting-started.md を参照してください。
貢献とライセンス
貢献ガイドラインについては CONTRIBUTING.md、脆弱性の非公開報告については SECURITY.md、MIT ライセンスについては LICENSE を参照してください。
カスタム検索エンジン
MCP サーバーの環境で CAMOFOX_SEARCH_URL_TEMPLATE を設定します。たとえば、
https://search.example/search?q={query}&language=en のように指定してから、
web_search({ tabId: "tab_123", query: "café & tea", engine: "custom" }) を呼び出します。
SearXNG の場合は、インスタンスの /search?q={query} URL を使用してください。環境を変更した後は
MCP を再起動します。Google が引き続きデフォルトであり、14 個のブラウザーマクロに変更はありません。
テンプレートは絶対 HTTP(S) URL で、パスまたはクエリにリテラルの {query} を
ちょうど 1 つ含める必要があります。ホスト、認証情報、フラグメントには含められません。URL 内の
認証情報は拒否されます。Unicode や & を含め、クエリは一度だけパーセントエンコードされます。
無効な設定では、URL やそのトークンを出力せずに起動に失敗します。設定がない状態で custom を指定すると、
実行可能なエラーが返されます(フォールバックはありません)。
カスタム検索では、新しいマクロや検索エンジンへの直接的な MCP HTTP フェッチではなく、
通常のブラウザーの navigate に続けて snapshot を使用します。ブラウザー URL の検証と既存の
プライベートネットワーク/SSRF ポリシーは、リダイレクトを含め、引き続き適用されます。
セルフホスト型またはプライベートな SearXNG を使用するには、ブラウザーの既存のネットワークポリシーで許可する必要があります。
この設定によってアクセスが許可されたり、ポリシーが緩和されたりすることはありません。検索 URL に
シークレットを保存しないでください。遷移した URL はツールの出力、ブラウザー履歴、ログに表示される場合があります。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。