🚀 Camoufox MCP Server
Camoufox MCP Serverは、Camoufoxの検知回避機能を備えた、完全なブラウザ自動化を提供するPython MCP(Model Context Protocol)サーバーです。
✨ 主な機能
- 21種類のブラウザ自動化ツール:ブラウザを完全に制御できます。
- 検知回避:自動的に指紋をランダム化し、ボット検知を回避します。
- 遅延初期化:最初のツール呼び出し時にのみブラウザが起動します。
- 永続的なセッション:ツール呼び出し間でブラウザが保持されます。
- タブ管理:複数のタブやページをサポートします。
- フォーム自動化:フォームの入力、ファイルのアップロード、ダイアログの処理ができます。
📦 インストール
クイックスタート (uvx - 推奨)
uvx camoufox-mcp
pipxを使用する場合
pipx run camoufox-mcp
pipを使用する場合
pip install camoufox-mcp
camoufox-mcp
ソースからインストールする場合
git clone https://github.com/rlgrpe/camoufox-mcp-python.git
cd camoufox-mcp-python
uv sync
Camoufoxブラウザのインストール
パッケージをインストールした後、Camoufoxブラウザのバイナリをダウンロードする必要があります。コマンドはパッケージのインストール方法に依存します。
uvxを使用してインストールした場合 (推奨)
uvx camoufox fetch
pipxを使用してインストールした場合
pipx run camoufox fetch
pipを使用してインストールした場合
python3 -m camoufox fetch
python -m camoufox fetch
camoufox fetch
ソースからインストールした場合 (uv)
uv run python -m camoufox fetch
Linuxのシステム依存関係
Linuxでは、システム依存関係をインストールする必要があります。
sudo apt install -y libgtk-3-0 libx11-xcb1 libasound2
sudo pacman -S gtk3 libx11 libxcb cairo libasound alsa-lib
ブラウザバイナリをアンインストールする場合
uvx camoufox remove
pipx run camoufox remove
camoufox remove
uv run python -m camoufox remove
💻 使用例
サーバーを起動する
uvx camoufox-mcp
uv run camoufox-mcp
python -m camoufox_mcp
Claude Codeに追加する
claude mcp add camoufox-mcp -- uvx camoufox-mcp
Claude Desktopの設定
Claude Desktopの設定ファイルに追加します。
{
"mcpServers": {
"camoufox-mcp": {
"command": "uvx",
"args": ["camoufox-mcp"]
}
}
}
または、ソースから実行する場合:
{
"mcpServers": {
"camoufox-mcp": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/camoufox-mcp-python",
"camoufox-mcp"
]
}
}
}
📚 詳細ドキュメント
ナビゲーション (4つのツール)
| ツール |
説明 |
browser_navigate |
URLに移動します。 |
browser_navigate_back |
前のページに戻ります。 |
browser_snapshot |
現在のページのアクセシビリティスナップショットを取得します。 |
browser_wait_for |
テキストの表示/非表示または指定された時間を待ちます。 |
インタラクション (6つのツール)
| ツール |
説明 |
browser_click |
要素をクリックします。 |
browser_type |
要素にテキストを入力します。 |
browser_hover |
要素の上にマウスをホバーします。 |
browser_drag |
2つの要素間でドラッグアンドドロップします。 |
browser_press_key |
キーボードのキーを押します。 |
browser_select_option |
ドロップダウンでオプションを選択します。 |
ページ (4つのツール)
| ツール |
説明 |
browser_evaluate |
ページまたは要素でJavaScriptを評価します。 |
browser_console_messages |
コンソールメッセージを取得します。 |
browser_network_requests |
ネットワークリクエストを取得します。 |
browser_take_screenshot |
スクリーンショットを撮ります。 |
フォーム (3つのツール)
| ツール |
説明 |
browser_fill_form |
複数のフォームフィールドを入力します。 |
browser_file_upload |
ファイルをアップロードします。 |
browser_handle_dialog |
ダイアログ(アラート、確認、入力ダイアログ)を処理します。 |
セッション (4つのツール)
| ツール |
説明 |
browser_tabs |
タブを一覧表示、作成、閉じる、または選択します。 |
browser_resize |
ブラウザウィンドウのサイズを変更します。 |
browser_close |
ブラウザを閉じます。 |
browser_install |
Camoufoxブラウザをインストールします。 |
🔧 設定
ブラウザは、camoufox_mcp/config.pyのBrowserConfigクラスを介して構成できます。利用可能なオプションは以下の通りです。
| パラメータ |
タイプ |
デフォルト |
説明 |
os |
str |
None |
偽装するOS(windows/macos/linux) |
headless |
bool/str |
False |
ヘッドレスモード(または'virtual') |
humanize |
bool/float |
True |
人間らしいカーソルの動き |
geoip |
bool |
True |
IPからの自動地理検出 |
proxy |
str/dict |
None |
プロキシ設定 |
block_webrtc |
bool |
True |
WebRTCの漏洩をブロック |
block_webgl |
bool |
False |
WebGLの指紋検出をブロック |
block_images |
bool |
False |
画像の読み込みをブロック |
locale |
str |
None |
ブラウザのロケール |
viewport |
dict |
None |
ビューポートの寸法 |
enable_cache |
bool |
True |
キャッシュを有効にする |
timeout |
int |
30000 |
ページの読み込みタイムアウト(ms) |
wait_strategy |
str |
"domcontentloaded" |
待機戦略 |
ublock |
bool |
False |
uBlock Originを有効にする |
プロキシ設定の例
proxy = {
'server': 'http://proxy.example.com:8080',
'username': 'user',
'password': 'pass'
}
🔧 開発
uv sync --dev
uv run pytest
uv run ruff format
uv run ruff check
📄 ライセンス
MITライセンス - 詳細はLICENSEを参照してください。
関連プロジェクト
- Camoufox - このMCPサーバーがベースとする検知回避ブラウザ
- MCP - モデルコンテキストプロトコルの仕様
- FastMCP - MCPサーバーを構築するためのPythonフレームワーク