Frequently Asked Questions
General Questions
What is WinRemote MCP?
WinRemote MCP is a Model Context Protocol (MCP) server that enables AI agents and applications to remotely control Windows desktops. It provides 40+ tools for desktop automation, file operations, system administration, and more.
How is this different from RDP or VNC?
Unlike screen sharing solutions:
- API-based: Structured commands instead of pixel streaming
- AI-optimized: Perfect for AI agents and automation scripts
- Lightweight: Much lower bandwidth and resource usage
- Programmatic: Easy integration with code and workflows
Is WinRemote MCP safe to use?
Yes, when used properly: - Localhost-only by default - no external network access - Optional authentication with Bearer tokens - Tool-level error handling prevents crashes - Open source - audit the code yourself
⚠️ Important: Only enable remote access (--host 0.0.0.0) with authentication (--auth-key) on trusted networks.
Installation & Setup
Q: Installation fails with "Python 3.9 is not supported"
A: WinRemote MCP requires Python 3.10 or higher.
# Check your Python version
python --version
# Install Python 3.11 (recommended)
winget install Python.Python.3.11
# Or download from python.org
Q: "ModuleNotFoundError: No module named 'win32api'"
A: Install Windows-specific dependencies:
If this doesn't work:
Q: OCR not working - "TesseractNotFoundError"
A: Install Tesseract OCR engine:
# Method 1: Winget (recommended)
winget install UB-Mannheim.TesseractOCR
# Method 2: Manual download
# Go to https://github.com/UB-Mannheim/tesseract/wiki
# Download and install the Windows installer
# Then install Python package
pip install winremote-mcp[ocr]
Q: Can I install this without administrator rights?
A: Yes, for basic functionality:
# Install to user directory
pip install --user winremote-mcp
# Run with limited permissions (no registry/service access)
winremote-mcp
Some tools (registry, services, scheduled tasks) require administrator privileges.
Server Configuration
Q: How do I enable remote access?
A: Use --host 0.0.0.0 with authentication:
# Generate a strong auth key
python -c "import secrets; print(secrets.token_urlsafe(32))"
# Start with remote access
winremote-mcp --host 0.0.0.0 --auth-key "your-generated-key"
Never use --host 0.0.0.0 without --auth-key on untrusted networks.
Q: Can I change the default port (8090)?
A: Yes:
Choose a port not used by other services. Common alternatives: 8080, 8000, 9090.
Q: How do I run WinRemote MCP on startup?
A: Several options:
Option 1: Scheduled Task (recommended)
Option 2: Startup Folder
1. Press Win+R, type shell:startup
2. Create a batch file with: winremote-mcp --host 127.0.0.1
Option 3: Windows Service
Use tools like nssm to run as a Windows service.
Q: Server starts but I can't connect from MCP clients
A: Check these common issues:
- Firewall blocking: Allow port 8090 in Windows Defender
- Wrong URL: Use
http://localhost:8090/mcp(not just the port) - Authentication: Include
Authorization: Bearer your-keyheader - Server not running: Check
curl http://localhost:8090/health
MCP Client Integration
Q: How do I configure Claude Desktop?
A: Edit claude_desktop_config.json:
Local connection (stdio):
Remote connection (HTTP):
{
"mcpServers": {
"winremote": {
"type": "streamable-http",
"url": "http://192.168.1.100:8090/mcp",
"headers": {
"Authorization": "Bearer your-key"
}
}
}
}
Q: OpenClaw can't connect to WinRemote MCP
A: Ensure OpenClaw is configured for HTTP transport:
{
"mcpServers": {
"winremote": {
"type": "streamable-http",
"url": "http://localhost:8090/mcp"
}
}
}
Check that WinRemote MCP is running with: curl http://localhost:8090/health
Q: Cursor integration not working
A: Create .cursor/mcp.json in your project root:
Restart Cursor after creating the file.
Tool Usage Issues
Q: Screenshots are black or empty
A: Common causes and solutions:
- Windows is locked: Unlock the computer
- Display turned off: Wake up the display
- Screen saver active: Disable or wake up
- Running as service: Services can't capture desktop, run as user
- Multi-monitor setup: Specify
monitorparameter
Q: Mouse clicks not working accurately
A: Check these factors:
- DPI scaling: Windows display scaling affects coordinates
- Multi-monitor: Coordinates are relative to primary monitor
- Window focus: Target window must be visible and active
- Screen resolution: Use current resolution for coordinates
Debug tip: Take a screenshot first to see current state and coordinates.
Q: Keyboard shortcuts not working
A: Common issues:
- Application not focused: Use
FocusWindowfirst - Key format: Use lowercase with
+(e.g.,ctrl+c, notCtrl+C) - Timing: Some apps need delays between keystrokes
- UAC prompts: Administrator prompts block automation
Valid shortcut examples:
- ctrl+c, ctrl+v, ctrl+z
- alt+tab, alt+f4
- win+r, win+l
- shift+f10, f11
Q: File operations fail with permission errors
A: Solutions:
- Run as Administrator: Right-click Command Prompt → "Run as administrator"
- Check file permissions: Ensure the file isn't read-only or locked
- Use full paths: Avoid relative paths that might resolve incorrectly
- File in use: Close applications that might have the file open
Q: PowerShell commands timeout
A: Increase timeout or optimize commands:
{
"tool": "Shell",
"arguments": {
"command": "Get-Process | Sort-Object CPU -Descending | Select-Object -First 10",
"timeout": 60
}
}
For long-running commands, consider running them in the background.
Performance & Optimization
Q: Screenshots are too large/slow
A: Use compression parameters:
Lower quality (50-80) and smaller max_width reduce file size significantly.
Q: Too many concurrent tasks causing issues
A: WinRemote MCP automatically limits concurrency:
- Desktop tools (mouse, keyboard): 1 at a time
- File operations: up to 3 concurrent
- System queries: up to 5 concurrent
Use task management tools:
Q: Memory usage keeps growing
A: This typically happens with:
- Large screenshots: Use
max_widthparameter - File transfers: Large base64 file operations
- Long-running shell commands: Set appropriate timeouts
Restart the server periodically if memory usage becomes problematic.
Security & Network
Q: Is it safe to expose WinRemote MCP to the internet?
A: No, not recommended. WinRemote MCP is designed for:
- Local development (127.0.0.1)
- Trusted networks (home/office LAN)
- VPN connections
If you must expose it:
1. Use strong authentication: --auth-key "$(python -c 'import secrets; print(secrets.token_urlsafe(32))')
2. Use a reverse proxy with TLS (nginx/Caddy)
3. Implement IP restrictions
4. Monitor access logs
Q: How do I secure remote access?
A: Security layers:
1. Strong Authentication:
# Generate cryptographically secure key
python -c "import secrets; print(secrets.token_urlsafe(32))"
winremote-mcp --host 0.0.0.0 --auth-key "generated-key"
2. Firewall Rules:
# Allow only private networks
netsh advfirewall firewall add rule name="WinRemote MCP" dir=in action=allow protocol=TCP localport=8090 profile=private
# Block public networks
netsh advfirewall firewall add rule name="WinRemote Block Public" dir=in action=block protocol=TCP localport=8090 profile=public
3. Reverse Proxy (nginx example):
server {
listen 443 ssl;
server_name winremote.yourdomain.com;
location / {
proxy_pass http://localhost:8090;
proxy_set_header Authorization "Bearer your-key";
}
}
Q: Can I limit what tools are available?
A: Currently, all 40+ tools are available when the server starts. Per-tool permissions are planned for a future release.
Workaround: Run separate instances with different authentication keys for different use cases.
Troubleshooting
Q: Server won't start - "Address already in use"
A: Another service is using port 8090:
# Find what's using the port
netstat -ano | findstr :8090
# Kill the process (replace PID)
taskkill /PID 1234 /F
# Or use a different port
winremote-mcp --port 8091
Q: "Access denied" errors for registry/services
A: Run with administrator privileges:
- Right-click Command Prompt or PowerShell
- Select "Run as administrator"
- Run
winremote-mcp
Q: Tools return "Task failed" without details
A: Enable debug mode:
This provides detailed error messages and stack traces.
Q: Client can connect but tools don't work
A: Check Windows version compatibility:
- Minimum: Windows 10
- Recommended: Windows 11
- Server editions: Basic support (some GUI tools may not work)
Q: Performance is slow on older hardware
A: Optimization tips:
- Reduce screenshot quality: Use
quality: 60-80 - Limit concurrent tasks: Most are already limited automatically
- Use smaller regions: For OCR and screen recording
- Close unnecessary applications: Free up system resources
Getting Help
Still having issues?
- Check the logs: Run with
--debugfor detailed output - Search GitHub issues: github.com/dddabtc/winremote-mcp/issues
- File a bug report: Include OS version, Python version, and error messages
- Community support: Discussion forum in GitHub Discussions