Model Context Protocol (MCP) Server to remotely control any desktop using LLMs over VNC.
Supports Windows, Linux and MacOS; basically any VNC server (TightVNC / TigerVNC / RealVNC).
Also, VMware Workstation / Fusion has a built-in VNC server. Under you Virtual Machine's Settings > Advanced > Remote display over VNC. Enable it, and make sure to set a password. The port should be kept at default, 5900.
As an MCP client, I personally use the Anthropic Claude Desktop Application, with Sonnet/Opus 4 (currently the best model for computer use). Any MCP-compatible client should work.
DO NOT TRUST ANY LLM TO RUN YOUR PC AUTONOMOUSLY WITHOUT SUPERVISION.
This MCP server requires Python (including PIP).
pip install --upgrade fastmcp pillow vncdotool
Download mcp-vnc.py and save it to a permanent location. Use the absolute path for this in the args of your MCP VNC Server (e.g. C:/.../.../mcp-vnc.py or Linux/macOS: /Users/.../.../mcp-vnc.py).
Can be found in Claude (Desktop App) > Settings > Developer > Edit Config
The path to you python executable can be found using "where python" in the Windows terminal, or "which python" in the terminal on Linux / MacOS.
Don't forget the double colon (::) instead of the normal single colon (:) in the host parameter.
{
"mcpServers": {
"computer": {
"command": "/ABSOLUTE/PATH/TO/YOUR/PYTHON/EXECUTABLE/ENDING/IN/bin/python",
"args": [
"/PATH/TO/YOUR/mcp-vnc.py"
],
"env": {
"VNC_HOST": "localhost::5900",
"VNC_PASS": "YOUR VNC PASSWORD"
}
}
}
}Make sure to set the screen resolution of your remote desktop to 1024 x 768, this currently works best.