The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the How Persistence Works listing page.
Give any AI complete control over your Windows PC
Features • Quick Start • Configuration • Tools • Troubleshooting • Contributing
Bridge MCP v2.0 stores agent registrations in a persistent JSON file:
%APPDATA%\bridge-mcp\agents.json~/.config/bridge-mcp/agents.jsonThis means:
The agent auto-registers itself - no manual registration needed!
Verify in any Claude session:
If you see "No agents connected":
check_agent_health() toolregister_agent("local", "http://127.0.0.1:8006", "My PC")For always-on access, install local_agent as a Windows service:
To remove:
Bridge MCP is a Model Context Protocol (MCP) server that gives any AI full control over a Windows PC. Whether you're using Claude, ChatGPT, Cursor, Gemini, or any other MCP-compatible AI, Bridge MCP lets you:
Think of it as giving your AI eyes and hands to control your computer!
| Category | Tools | Description |
|---|---|---|
| 🚀 App Control | 8 tools | Launch, switch, close, resize, minimize, maximize applications |
| 🖱️ Mouse & Keyboard | 10 tools | Click, type, hotkeys, scroll, drag, move cursor |
| 📸 Screen Capture | 7 tools | Screenshots, desktop state, find UI elements |
| ⚡ System | 8 tools | PowerShell, CMD, file read/write, system info |
| 🌐 Browser | 15 tools | Chrome control, tabs, navigation, web scraping |
| 📋 Clipboard | 3 tools | Copy, paste, clear clipboard |
| 🔧 Utilities | 5+ tools | Wait, dialogs, action sequences |
Total: 40+ powerful tools for complete PC automation!
Bridge MCP uses a Relay Architecture to work across platforms:
Bridge MCP 2.0 includes:
agents.json.Powered by Playwright, Bridge MCP can now:
Bridge MCP "sees" your apps:
Bridge MCP now puts YOU in control:
http://localhost:8006See what the AI sees, in real-time:
Bridge MCP now implements the complete Model Context Protocol specification:
Expose desktop data as addressable resources:
desktop://screenshot/latest - Current screenshotdesktop://windows - Open windows listdesktop://logs - Agent command logsfile:///{path} - Read any desktop filedesktop://session/context - Recent session historyPre-built workflow templates for one-click automation:
automate_desktop_task - Step-by-step task automationdebug_error - Interactive error debuggingweb_automation - Playwright web workflowsNever lose context:
Note: Playwright browsers (~100MB) auto-install on first use - no manual setup needed!
Keep this terminal open! The agent will display:
See Configuration below for Claude Desktop, Cursor, or VS Code setup.
In your AI conversation, register the local agent:
Now use any tool like screenshot(), click(100, 200), type_text("Hello"), app_launch("notepad"), etc.
Open the config file at %APPDATA%\Claude\claude_desktop_config.json
Add Bridge MCP:
⚠️ Important: Replace the path with the actual location where you cloned the repository!
Example paths:
C:\\Users\\PC\\Desktop\\Bridge-MCP\\bridge_mcp.pyD:\\Projects\\Bridge-MCP\\bridge_mcp.pyAdd to your MCP settings in Cursor preferences with the same configuration format.
Create .vscode/mcp.json in your project:
To control your PC from anywhere, expose the local agent with ngrok:
Then use the ngrok URL (e.g., https://xxxx.ngrok.io) as your callback_url when registering.
| Tool | Description | Example |
|---|---|---|
app_launch | Launch an application | app_launch("notepad") |
app_switch | Switch to open app | app_switch("Chrome") |
app_close | Close an application | app_close("notepad") |
app_list | List all open apps | app_list() |
| Tool | Description | Example |
|---|---|---|
click | Click at coordinates | click(500, 300) |
double_click | Double-click | double_click(500, 300) |
right_click | Right-click | right_click(500, 300) |
type_text | Type text | type_text("Hello World!") |
press_key | Press a key | press_key("enter") |
hotkey | Keyboard shortcut | hotkey("ctrl,c") |
scroll | Scroll | scroll("down", 3) |
drag | Drag and drop | drag(100, 100, 500, 500) |
move_mouse | Move cursor | move_mouse(500, 300) |
| Tool | Description | Example |
|---|---|---|
screenshot | Take screenshot | screenshot() |
get_desktop_state | Get full desktop state | get_desktop_state() |
get_screen_size | Get screen dimensions | get_screen_size() |
get_mouse_position | Get cursor position | get_mouse_position() |
| Tool | Description | Example |
|---|---|---|
run_powershell | Run PowerShell | run_powershell("Get-Process") |
run_cmd | Run CMD command | run_cmd("dir") |
file_read | Read file | file_read("C:/test.txt") |
file_write | Write file | file_write("C:/test.txt", "Hello") |
file_list | List directory | file_list("C:/Users") |
| Tool | Description | Example |
|---|---|---|
chrome_open | Open Chrome | chrome_open("https://google.com") |
chrome_navigate | Go to URL | chrome_navigate("https://example.com") |
| Tool | Description | Example |
|---|---|---|
browser_navigate | Go to URL | browser_navigate("google.com") |
browser_click | Click element (CSS) | browser_click("#submit-btn") |
browser_type | Type in element | browser_type("#search", "hello") |
browser_press | Press key | browser_press("Enter") |
browser_content | Get page text | browser_content() |
browser_screenshot | Browser screenshot | browser_screenshot() |
| Tool | Description | Example |
|---|---|---|
clipboard_copy | Copy to clipboard | clipboard_copy("Hello") |
clipboard_paste | Get clipboard | clipboard_paste() |
Check the path - Make sure the path in your config points to the actual bridge_mcp.py file. The path must be absolute and use double backslashes (\\) in JSON.
Test manually - Open Command Prompt and run:
It should stay running (not exit immediately). Press Ctrl+C to stop.
local_agent.py is running in a terminal (keep it open!)http://127.0.0.1:8006ngrok http 8006) and use the ngrok URLYou need to register your local agent first:
If local_agent.py crashes with Unicode errors, the terminal may not support emojis. This has been fixed in the latest version.
Bridge MCP can be deployed on FastMCP Cloud for easy access:
bridge_mcp.pyYour MCP will be available at: https://your-project.fastmcp.app/mcp
Contributions are welcome! Here's how you can help:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
Barham Agha
⭐ If you find this project useful, please give it a star! ⭐
Made with ❤️ for the AI community