Gives Claude native control over Windows 10/11 through the Model Context Protocol. You get file operations (read, write, delete, search), clipboard access, screenshots (full screen, window, or region), process management with a protected blocklist, and power controls. The server runs as a system tray app listening on localhost or LAN, exposing everything over HTTP with UTF-8 support for non-ASCII paths. Built in C++17 with no runtime dependencies. Useful when you need an AI assistant to actually manipulate files, grab screen content, or manage running processes on a Windows machine instead of just talking about it. Auto-updates from GitHub releases and includes audit logging for every operation.
WinBridgeAgent is an open-source Windows local capability service that implements the Model Context Protocol (MCP) standard, providing traceable Windows system operations for AI assistants such as Claude Desktop, OpenAI, etc.
In addition to the open-source edition, WinBridgeAgent Pro is now available as a free download.
The Pro edition is designed for users who need a more complete Windows Agent/Node experience, with ongoing improvements toward a more production-ready Windows node (closer to the OpenClaw Node experience).
Key enhancement areas (ongoing) include:
See details and download here:
+------------------------------------------------------+
| Local Area Network (LAN) |
| |
| +--------------------+ |
| | MCP Client | |
| | (OpenClaw / Agent) | |
| | - LLM reasoning | |
| | - Tool planning | |
| +---------+----------+ |
| | MCP Protocol (HTTP/SSE) |
| | |
| +---------v------------------------------------+ |
| | Windows PC | |
| | | |
| | +--------------------------------------+ | |
| | | WinBridgeAgent | | |
| | | (Local Tray MCP Server) | | |
| | | | | |
| | | - MCP Server (localhost / LAN) | | |
| | | - Policy & Permission Guard | | |
| | | - Tool Execution Layer | | |
| | | - Audit & Logging | | |
| | +-----------+--------------------------+ | |
| | | | |
| | +--------v--------+ | |
| | | Windows System | | |
| | | APIs / Resources| | |
| | | (FS / Screen / | | |
| | | Clipboard / | | |
| | | Process etc.) | | |
| | +-----------------+ | |
| | | |
| +----------------------------------------------+ |
| |
+------------------------------------------------------+
Optional External Dependencies:
- GitHub Releases (Auto Update)
- Optional Remote Services (APIs, Cloud tools)
WinBridgeAgent is published on the MCP Registry as io.github.codyard/winbridgeagent. MCP clients that support the registry can install it directly.
WinBridgeAgent-x64.exe (64-bit) or WinBridgeAgent-x86.exe (32-bit)For OpenClaw + Windows node setup, see windows-node-install.en.md.
WinBridgeAgent works with any MCP-compatible client. Below are setup instructions for popular clients.
Note: Replace
<windows-ip>with the IP address of the Windows PC running WinBridgeAgent (e.g.192.168.1.100). Uselocalhostonly if the MCP client runs on the same Windows machine.
Edit claude_desktop_config.json:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json{
"mcpServers": {
"winbridgeagent": {
"url": "http://<windows-ip>:35182",
"transport": "http"
}
}
}
winbridgeagenthttphttp://<windows-ip>:35182Or edit .cursor/mcp.json in your project root:
{
"mcpServers": {
"winbridgeagent": {
"url": "http://<windows-ip>:35182",
"transport": "http"
}
}
}
Edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"winbridgeagent": {
"serverUrl": "http://<windows-ip>:35182"
}
}
}
winbridgeagentHTTPhttp://<windows-ip>:35182For a step-by-step Windows node deployment walkthrough (including mcporter pairing), see windows-node-install.en.md.
http://<windows-ip>:35182Edit cline_mcp_settings.json in your VS Code settings:
{
"mcpServers": {
"winbridgeagent": {
"url": "http://<windows-ip>:35182",
"transportType": "http"
}
}
}
Any MCP client that supports HTTP transport can connect using:
http://<windows-ip>:351822024-11-05The server listens on the configured port (default 35182).
Open-source edition: No Bearer Token authentication required. All API endpoints are directly accessible.
| Method | Path | Description |
|---|---|---|
| GET | / | API endpoint list |
| GET | /health | Health check |
| GET | /status | Server status and info |
| GET | /disks | List all disk drives |
| GET | /list?path=<path> | List directory contents |
| GET | /read?path=<path> | Read file content |
| GET | /search?path=<path>&query=<q> | Search file content |
| GET | /clipboard | Read clipboard |
| PUT | /clipboard | Write clipboard |
| GET | /screenshot | Take screenshot |
| GET | /windows | List all windows |
| GET | /processes | List all processes |
| POST | /execute | Execute command |
| GET | /exit | Shutdown server |
| POST | /mcp/initialize | MCP initialize |
| POST | /mcp/tools/list | MCP list tools |
| POST | /mcp/tools/call | MCP call tool |
Replace
<windows-ip>below with the actual IP of your Windows PC (or uselocalhostif testing on the same machine).
# Server status
curl http://<windows-ip>:35182/health
# List disks
curl http://<windows-ip>:35182/disks
# List directory
curl "http://<windows-ip>:35182/list?path=C:\\"
# Read file
curl "http://<windows-ip>:35182/read?path=C:\\test.txt"
# Search file content
curl "http://<windows-ip>:35182/search?path=C:\\test.txt&query=keyword"
# Read clipboard
curl http://<windows-ip>:35182/clipboard
# Write clipboard
curl -X PUT -H "Content-Type: application/json" \
-d '{"content":"Hello World"}' http://<windows-ip>:35182/clipboard
# Take screenshot
curl http://<windows-ip>:35182/screenshot
# List windows
curl http://<windows-ip>:35182/windows
# List processes
curl http://<windows-ip>:35182/processes
# Execute command
curl -X POST -H "Content-Type: application/json" \
-d '{"command":"echo Hello"}' http://<windows-ip>:35182/execute
# MCP: Initialize
curl -X POST -H "Content-Type: application/json" \
-d '{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}' \
http://<windows-ip>:35182/mcp/initialize
# MCP: List tools
curl -X POST -H "Content-Type: application/json" \
-d '{}' http://<windows-ip>:35182/mcp/tools/list
# MCP: Call tool
curl -X POST -H "Content-Type: application/json" \
-d '{"name":"list_windows","arguments":{}}' \
http://<windows-ip>:35182/mcp/tools/call
# Shutdown server
curl http://<windows-ip>:35182/exit
If you have multiple computers with WinBridgeAgent installed on your LAN, configure your MCP client to manage them:
```json
{
"mcpServers": {
"winbridge-test": {
"url": "http://192.168.31.3:35182",
"description": "Test PC"
},
"winbridge-office": {
"url": "http://192.168.31.4:35182",
"description": "Office PC"
}
}
}
See Multi-Computer Setup Guide for details.
A config.json file is auto-generated on first run:
{
"server_port": 35182,
"auto_port": true,
"listen_address": "0.0.0.0",
"language": "en",
"auto_startup": false,
"daemon_enabled": true
}
| Key | Description | Default |
|---|---|---|
server_port | Server listen port | 35182 |
auto_port | Auto-select port if occupied | true |
listen_address | 0.0.0.0 (LAN) or 127.0.0.1 (local only) | 0.0.0.0 |
language | UI language (en / zh-CN) | en |
auto_startup | Start with Windows | false |
daemon_enabled | Enable daemon watchdog | true |
brew install mingw-w64 cmake
# Build all architectures
./scripts/build.sh
# Or build a single architecture manually
mkdir -p build/x64
cd build/x64
cmake ../.. -DCMAKE_TOOLCHAIN_FILE=../../toolchain-mingw-x64.cmake \
-DCMAKE_BUILD_TYPE=Release
make -j$(sysctl -n hw.ncpu)
build/x64/WinBridgeAgent.exe — Windows x64build/x86/WinBridgeAgent.exe — Windows x86build/arm64/WinBridgeAgent.exe — Windows ARM64.
├── CMakeLists.txt
├── src/ # C++ source code
├── include/ # Public headers
├── resources/ # Runtime assets and templates
├── scripts/ # Build, test, release scripts
├── docs/ # Documentation
├── tests/ # Test code
├── third_party/ # Vendored dependencies
└── build/ # Build outputs
0.0.0.0 allows LAN access; use 127.0.0.1 for local-onlyThis project is licensed under the GNU General Public License v3.0.
Copyright © 2026 WinBridgeAgent Contributors