VNC

Controle remotamente qualquer sistema que execute um servidor VNC, incluindo Windows, Linux e macOS, por meio de um agente de IA.

Documentação

💻 mcp-vnc

Node.js Version License: MIT npm version

Um servidor Model Context Protocol (MCP) que permite que agentes de IA controlem remotamente Windows, Linux, macOS ou qualquer outra coisa que possa executar um servidor VNC (não se preocupe, provavelmente funciona).

Screenshot

🚀 Início Rápido

Instalar via NPM

npm install -g @hrrrsn/mcp-vnc

Instalar a partir do Código-Fonte

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

⚙️ Configuração

Claude Desktop

  1. Localize e abra o arquivo de configuração do Claude Desktop:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. Adicione a seguinte configuração:

Usando Instalação via NPM:

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

Compilado a partir do Código-Fonte:

{
  "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

Consulte a documentação do VS Code

🛠️ Ferramentas Disponíveis

O servidor MCP fornece as seguintes ferramentas para controle remoto de desktop:

🖱️ Controle do Mouse

vnc_click - Clicar nas coordenadas especificadas
ParâmetroObrigatórioTipoDescriçãoPadrão
xnumberCoordenada X-
ynumberCoordenada Y-
buttonstringBotão do mouse (left, right, middle)left
doublebooleanDuplo clique em vez de clique únicofalse

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

vnc_move_mouse - Mover o cursor do mouse
ParâmetroObrigatórioTipoDescrição
xnumberCoordenada X
ynumberCoordenada Y

Exemplo: vnc_move_mouse(x=500, y=300)

⌨️ Controle do Teclado

vnc_key_press - Enviar teclas e combinações de teclas
ParâmetroObrigatórioTipoDescrição
keystringTecla ou combinação de teclas para pressionar

Teclas Suportadas:

  • Teclas individuais: a, Enter, F1, Escape, Up, Down, Tab, Space
  • Combinações de teclas: Ctrl+c, Alt+F4, Ctrl+Alt+Delete, Shift+Tab
  • Modificadores: Ctrl, Alt, Shift, Super/Win, Meta/Cmd

Exemplos:

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

📝 Entrada de Texto

vnc_type_text - Digitar texto de linha única
ParâmetroObrigatórioTipoDescriçãoPadrão
textstringTexto para digitar-
enterbooleanPressionar Enter após digitarfalse

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

vnc_type_multiline - Digitar múltiplas linhas
ParâmetroObrigatórioTipoDescrição
linesstring[]Matriz de linhas para digitar

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

📸 Captura de Tela

vnc_screenshot - Capturar tela
ParâmetroObrigatórioTipoDescriçãoPadrão
delaynumberAtraso antes da captura (0-300000ms)0

Exemplo: vnc_screenshot(delay=1000) - Aguardar 1 segundo antes da captura

🤝 Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.

📄 Licença

Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para detalhes.