🚀 🌉 Bridge MCP
Universal PC Control for Any AI は、任意のAIに対してWindows PCを完全に制御させることができるシステムです。これにより、Claude、ChatGPT、Cursor、GeminiなどのAIがPC上のアプリケーションを操作したり、入力を自動化したり、画面を見たりすることが可能になります。
🚀 クイックスタート
ステップ1: リポジトリをクローンする
git clone https://github.com/BarhamAgha1/Bridge-MCP.git
cd Bridge-MCP
ステップ2: 依存関係をインストールする
pip install -r requirements-local.txt
注意: Playwrightのブラウザ(約100MB)は初回使用時に自動でインストールされます。手動でのセットアップは不要です!
ステップ3: ローカルエージェントを起動する
python local_agent.py
このターミナルを開いたままにしてください!エージェントは次のように表示されます。
Bridge MCP Local Agent running on http://127.0.0.1:8006
ステップ4: AIクライアントを設定する
Claude Desktop、Cursor、またはVS Codeの設定については、以下の設定を参照してください。
ステップ5: エージェントを登録する
AIの会話で、ローカルエージェントを登録します。
Use register_agent with:
- agent_id: "my-pc"
- callback_url: "http://127.0.0.1:8006"
- agent_name: "My Windows PC"
ステップ6: 制御を開始する
これで、screenshot()、click(100, 200)、type_text("Hello")、app_launch("notepad") などのツールを使用できます。
✨ 主な機能
| カテゴリ |
ツール |
説明 |
| 🚀 アプリケーション制御 |
8つのツール |
アプリケーションの起動、切り替え、閉じる、サイズ変更、最小化、最大化 |
| 🖱️ マウスとキーボード |
10つのツール |
クリック、入力、ホットキー、スクロール、ドラッグ、カーソル移動 |
| 📸 画面キャプチャ |
7つのツール |
スクリーンショット、デスクトップ状態、UI要素の検出 |
| ⚡ システム |
8つのツール |
PowerShell、CMD、ファイルの読み書き、システム情報 |
| 🌐 ブラウザ |
15つのツール |
Chromeの制御、タブ、ナビゲーション、ウェブスクレイピング |
| 📋 クリップボード |
3つのツール |
クリップボードのコピー、貼り付け、クリア |
| 🔧 ユーティリティ |
5つ以上のツール |
待機、ダイアログ、アクションシーケンス |
合計: 40以上の強力なツールで完全なPC自動化が可能!
📦 インストール
初回セットアップ
- ローカルエージェントを起動する
cd Bridge-MCP
python local_agent.py
-
エージェントが自動登録される - 手動での登録は必要ありません!
-
任意のClaudeセッションで確認する
Use list_agents() to see registered agents
トラブルシューティング
「No agents connected」と表示された場合:
- local_agent.pyが実行中か確認する - ターミナルで実行中である必要があります。
- ヘルスチェックを行う:
check_agent_health() ツールを使用します。
- 手動で登録する:
register_agent("local", "http://127.0.0.1:8006", "My PC") を使用します。
ローカルエージェントをバックグラウンドサービスとして実行する
常時アクセス可能にするには、local_agentをWindowsサービスとしてインストールします。
python install_service.py install
python install_service.py start
削除するには、次のコマンドを実行します。
python install_service.py stop
python install_service.py remove
💻 使用例
例1: メモ帳を開いてテキストを書く
User: Open notepad and write "Hello from AI!"
AI uses:
1. app_launch("notepad")
2. wait(1)
3. type_text("Hello from AI!")
例2: スクリーンショットを撮る
User: What's on my screen right now?
AI uses:
1. screenshot()
2. [AI analyzes the image and describes what it sees]
例3: Googleで検索する
User: Search for "Bridge MCP" on Google
AI uses:
1. chrome_open("https://google.com")
2. type_text("Bridge MCP")
3. press_key("enter")
📚 詳細ドキュメント
🔧 設定
Claude Desktop
-
%APPDATA%\Claude\claude_desktop_config.json の設定ファイルを開きます。
-
Bridge MCPを追加します。
{
"mcpServers": {
"bridge-mcp": {
"command": "python",
"args": ["C:\\Users\\YourName\\Path\\To\\Bridge-MCP\\bridge_mcp.py"]
}
}
}
⚠️ 重要: パスを、実際にリポジトリをクローンした場所に置き換えてください!
例のパス:
C:\\Users\\PC\\Desktop\\Bridge-MCP\\bridge_mcp.py
D:\\Projects\\Bridge-MCP\\bridge_mcp.py
- Claude Desktopを完全に再起動する(閉じて再開する)
Cursor
Cursorの設定でMCP設定に同じ構成形式で追加します。
VS Code + Claude Code
プロジェクト内に .vscode/mcp.json を作成します。
{
"mcpServers": {
"bridge-mcp": {
"command": "python",
"args": ["C:\\Users\\YourName\\Path\\To\\Bridge-MCP\\bridge_mcp.py"]
}
}
}
リモートアクセス(オプション)
どこからでもPCを制御するには、ngrokでローカルエージェントを公開します。
ngrok http 8006
そして、登録時にngrokのURL(例:https://xxxx.ngrok.io)をcallback_urlとして使用します。
🛠️ 利用可能なツール
🚀 アプリケーション制御ツール
| ツール |
説明 |
例 |
app_launch |
アプリケーションを起動する |
app_launch("notepad") |
app_switch |
開いているアプリに切り替える |
app_switch("Chrome") |
app_close |
アプリケーションを閉じる |
app_close("notepad") |
app_list |
すべての開いているアプリをリストする |
app_list() |
🖱️ 入力ツール(マウスとキーボード)
| ツール |
説明 |
例 |
click |
座標でクリックする |
click(500, 300) |
double_click |
ダブルクリックする |
double_click(500, 300) |
right_click |
右クリックする |
right_click(500, 300) |
type_text |
テキストを入力する |
type_text("Hello World!") |
press_key |
キーを押す |
press_key("enter") |
hotkey |
キーボードショートカット |
hotkey("ctrl,c") |
scroll |
スクロールする |
scroll("down", 3) |
drag |
ドラッグアンドドロップする |
drag(100, 100, 500, 500) |
move_mouse |
カーソルを移動する |
move_mouse(500, 300) |
📸 画面ツール
| ツール |
説明 |
例 |
screenshot |
スクリーンショットを撮る |
screenshot() |
get_desktop_state |
完全なデスクトップ状態を取得する |
get_desktop_state() |
get_screen_size |
画面の寸法を取得する |
get_screen_size() |
get_mouse_position |
カーソルの位置を取得する |
get_mouse_position() |
⚡ システムツール
| ツール |
説明 |
例 |
run_powershell |
PowerShellを実行する |
run_powershell("Get-Process") |
run_cmd |
CMDコマンドを実行する |
run_cmd("dir") |
file_read |
ファイルを読み取る |
file_read("C:/test.txt") |
file_write |
ファイルを書き込む |
file_write("C:/test.txt", "Hello") |
file_list |
ディレクトリをリストする |
file_list("C:/Users") |
🌐 ブラウザツール(Chrome)
| ツール |
説明 |
例 |
chrome_open |
Chromeを開く |
chrome_open("https://google.com") |
chrome_navigate |
URLに移動する |
chrome_navigate("https://example.com") |
🌐 ブラウザツール(Playwright - 高度な使用)
| ツール |
説明 |
例 |
browser_navigate |
URLに移動する |
browser_navigate("google.com") |
browser_click |
要素をクリックする(CSS) |
browser_click("#submit-btn") |
browser_type |
要素にテキストを入力する |
browser_type("#search", "hello") |
browser_press |
キーを押す |
browser_press("Enter") |
browser_content |
ページのテキストを取得する |
browser_content() |
browser_screenshot |
ブラウザのスクリーンショットを撮る |
browser_screenshot() |
📋 クリップボードツール
| ツール |
説明 |
例 |
clipboard_copy |
クリップボードにコピーする |
clipboard_copy("Hello") |
clipboard_paste |
クリップボードの内容を取得する |
clipboard_paste() |
🔧 トラブルシューティング
Claude Desktopが「Server disconnected」と表示する
-
パスを確認する - 設定内のパスが実際の bridge_mcp.py ファイルを指していることを確認してください。パスは絶対パスで、JSON内ではダブルバックスラッシュ (\\) を使用する必要があります。
-
手動でテストする - コマンドプロンプトを開き、次のコマンドを実行します。
cd "C:\path\to\Bridge-MCP"
python bridge_mcp.py
これは実行中のままにする必要があります(すぐに終了しない)。Ctrl+Cで停止します。
- 依存関係をインストールする:
pip install fastmcp httpx
- Claude Desktopを再起動する - 設定を変更した後、完全に閉じて再開します。
ローカルエージェントがコマンドを受け取らない
local_agent.py がターミナルで実行中であることを確認してください(開いたままにしておきます!)
- エージェントを登録する際に、コールバックURLが正しいことを確認してください。
- ローカル使用の場合:
http://127.0.0.1:8006
- リモートアクセスの場合:ngrokを使用します(
ngrok http 8006)、そしてngrokのURLを使用します。
「No agents connected」エラー
まず、ローカルエージェントを登録する必要があります。
register_agent("my-pc", "http://127.0.0.1:8006", "My PC")
WindowsでのUnicode/絵文字エラー
local_agent.py がUnicodeエラーでクラッシュする場合、ターミナルが絵文字をサポートしていない可能性があります。最新バージョンでこの問題は解決されています。
🔧 技術詳細
アーキテクチャ
Bridge MCPは、プラットフォーム間で動作するために リレーアーキテクチャ を使用しています。
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Any AI │ │ Cloud Relay │ │ Your Windows │
│ (Claude, etc.) │◄───────►│ (bridge_mcp) │◄───────►│ PC (Agent) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
- bridge_mcp.py - MCPサーバー(ローカルまたはFastMCPクラウドで実行)
- local_agent.py - コマンドを実行するPC上のHTTPサーバー(ポート8006)
エンタープライズグレードのセキュリティ
Bridge MCP 2.0には以下が含まれています。
- 認証トークン:セキュアなベアラートークンを使用して、不正アクセスを防止します。
- 自動設定:トークンは自動生成され、
agents.json に保存されます。
次世代のブラウザ自動化
Playwright を使用して、Bridge MCPは次のことができます。
- クリックと入力:任意のウェブサイト要素と対話します。
- 意味理解:ページの内容をプログラム的に読み取ります。
- ヘッドレスモード:自動化を非表示または表示して実行します。
意味的なコンピュータビジョン
Bridge MCPはアプリを「見る」ことができます。
- UIツリー:Windowsアプリのアクセシビリティツリーを読み取ることができます。
- 精度:ボタンの正確な位置を知っています(ピクセルを推測する必要はありません)。
セーフティセンチネル(人間が介入するループ)
Bridge MCPはあなたに制御権を与えます。
- コマンドの攔截:危険なコマンド(ファイルの書き込み、シェルスクリプトの実行)はデフォルトでブロックされます。
- 承認オーバーレイ:承認要求はAIアクティビティオーバーレイに直接表示され、3つのオプションがあります。
- ✓ 承認 - この1つのコマンドを実行する
- ✗ 拒否 - このコマンドをブロックする
- ✓ 常に承認 - セーフモードを無効にし、将来のすべてのコマンドを承認する
- ダッシュボード制御:
http://localhost:8006 ですべての保留中の要求を表示します。
- セーフモードの切り替え:ウェブダッシュボードからいつでもセーフモードをオン/オフに切り替えます。
- 安心感:エージェントを実行していても、ファイルが削除される心配はありません。
ターミネータービジョン(リアルタイムの可視性)
AIが見ているものをリアルタイムで確認できます。
- ライブストリーム:ダッシュボードには、デスクトップの低遅延1080p MJPEGストリームが表示されます。
- 意味的なオーバーレイ:緑色のバウンディングボックスが、AIが検出したすべてのボタン、リンク、ウィンドウを強調表示します。
- 即座にデバッグ:AIが正しい「送信」ボタンを見つけたことを視覚的に確認できます。
完全なMCP仕様のサポート
Bridge MCPは、完全なモデルコンテキストプロトコル仕様を実装しています。
リソースAPI
デスクトップデータをアドレス指定可能なリソースとして公開します。
desktop://screenshot/latest - 現在のスクリーンショット
desktop://windows - 開いているウィンドウのリスト
desktop://logs - エージェントのコマンドログ
file:///{path} - 任意のデスクトップファイルを読み取る
desktop://session/context - 最近のセッション履歴
プロンプトAPI
ワンクリックで自動化できる事前構築されたワークフローテンプレートです。
automate_desktop_task - ステップバイステップのタスク自動化
debug_error - 対話型のエラーデバッグ
web_automation - Playwrightのウェブワークフロー
セッションメモリ
コンテキストを失うことはありません。
- 再起動をまたいで最後の100個のコマンドを保存します。
- AIに最近のセッション履歴を提供します。
- 「中断したところから再開」するワークフローを可能にします。
📄 ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。詳細については、LICENSE ファイルを参照してください。
🙏 謝辞
👤 作者
Barham Agha
⭐ このプロジェクトが役に立った場合は、スターをつけてください! ⭐
AIコミュニティのために愛を込めて作成されました。