Visual Desktop Bridge - Give any AI full control over Windows to automate apps and inputs.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
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
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/bridge-mcp)<a href="https://allmcps.com/mcp/bridge-mcp"><img src="https://allmcps.com/api/badge/bridge-mcp?style=directory" alt="Bridge MCP on AllMCPs" /></a>