trackmcp
Back to directory

Remote desktop control for AI

56 stars TypeScriptOthers Updated Aug 31, 2026
mcp-serverremote-controlvnc

Documentation

๐Ÿ’ป mcp-vnc

Node.js Version
License: MIT
npm version

A Model Context Protocol (MCP) server that enables AI agents to remotely control Windows, Linux, macOS or anything else that can run a VNC server (don't worry, it's probably fine).

Screenshot

๐Ÿš€ Quick Start

Install from NPM

bash
npm install -g @hrrrsn/mcp-vnc

Install from Source

bash
git clone https://github.com/hrrrsn/mcp-vnc
cd mcp-vnc
npm install
npm run build

โš™๏ธ Configuration

Claude Desktop

1. Locate and open your Claude Desktop configuration file:

    2. Add the following configuration:

    Using NPM Install:

    json
    {
      "mcpServers": {
        "vnc-controller": {
          "type": "stdio",
          "command": "mcp-vnc",
          "env": {
            "VNC_HOST": "192.168.1.100",
            "VNC_PORT": "5900",
            "VNC_PASSWORD": "your-vnc-password"
          }
        }
      }
    }

    Built from Source:

    json
    {
      "mcpServers": {
        "vnc-controller": {
          "type": "stdio",
          "command": "node",
          "args": ["dist/index.js"],
          "cwd": "/path/to/mcp-vnc",
          "env": {
            "VNC_HOST": "192.168.1.100",
            "VNC_PORT": "5900",
            "VNC_PASSWORD": "your-vnc-password"
          }
        }
      }
    }

    VS Code

    Please refer to the VS Code documentation

    ๐Ÿ› ๏ธ Available Tools

    The MCP server provides the following tools for remote desktop control:

    ๐Ÿ–ฑ๏ธ Mouse Control

    vnc_click - Click at specified coordinates

    ParameterRequiredTypeDescriptionDefault
    `x`โœ…numberX coordinate-
    `y`โœ…numberY coordinate-
    `button`โŒstringMouse button (`left`, `right`, `middle`)`left`
    `double`โŒbooleanDouble-click instead of single click`false`

    Example: `vnc_click(x=100, y=200, button="right", double=true)`

    vnc_move_mouse - Move mouse cursor

    ParameterRequiredTypeDescription
    `x`โœ…numberX coordinate
    `y`โœ…numberY coordinate

    Example: `vnc_move_mouse(x=500, y=300)`

    โŒจ๏ธ Keyboard Control

    vnc_key_press - Send keys and key combinations

    ParameterRequiredTypeDescription
    `key`โœ…stringKey or key combination to press

    Supported Keys:

    • Single keys: `a`, `Enter`, `F1`, `Escape`, `Up`, `Down`, `Tab`, `Space`
    • Key combinations: `Ctrl+c`, `Alt+F4`, `Ctrl+Alt+Delete`, `Shift+Tab`
    • Modifiers: `Ctrl`, `Alt`, `Shift`, `Super`/`Win`, `Meta`/`Cmd`

    Examples:

    • `vnc_key_press(key="Enter")`
    • `vnc_key_press(key="Ctrl+Alt+Delete")`

    ๐Ÿ“ Text Input

    vnc_type_text - Type single-line text

    ParameterRequiredTypeDescriptionDefault
    `text`โœ…stringText to type-
    `enter`โŒbooleanPress Enter after typing`false`

    Example: `vnc_type_text(text="Hello World!", enter=true)`

    vnc_type_multiline - Type multiple lines

    ParameterRequiredTypeDescription
    `lines`โœ…string[]Array of lines to type

    Example: `vnc_type_multiline(lines=["Line 1", "Line 2", "Line 3"])`

    ๐Ÿ“ธ Screen Capture

    vnc_screenshot - Capture screen

    ParameterRequiredTypeDescriptionDefault
    `delay`โŒnumberDelay before screenshot (0-300000ms)`0`

    Example: `vnc_screenshot(delay=1000)` - Wait 1 second before capture

    ๐Ÿค Contributing

    Contributions are welcome! Please feel free to submit a Pull Request.

    ๐Ÿ“„ License

    This project is licensed under the MIT License - see the LICENSE file for details.

    Frequently asked questions

    What is mcp-vnc?

    mcp-vnc is Remote desktop control for AI

    How do I install mcp-vnc?

    Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

    Is mcp-vnc open source?

    Yes โ€” it is hosted on GitHub at https://github.com/hrrrsn/mcp-vnc and has 56 stars.

    Related MCP tools

    Run your own MCP server? See who uses it and what to fix.

    Measure it with TrackMCP