Pular para o conteúdo

Controlar o Restorm por MCP

O Restorm expõe um servidor MCP (Model Context Protocol). Um agente de IA — Claude Code, Cursor ou qualquer cliente MCP — pode, por isso, ler o seu projeto, criar e executar pedidos e controlar a interface.

É isto que permite pedir “importe este Swagger, crie um cenário que teste o percurso de encomenda e execute-o” e obter um resultado verificável, numa aplicação que mantém debaixo de olho.

O servidor está ativado por predefinição. Duas formas de governo:

  • a definição Definições ▸ MCP ▸ Ativar o servidor MCP;
  • uma regra absoluta: numa máquina sem ecrã, o servidor MCP nunca arranca, qualquer que seja a definição. Assim, um servidor de CI não acaba a expor um ponto de entrada.

O indicador MCP da barra de estado pisca a cada chamada recebida. O seu popover permite suspender ou retomar o servidor durante a sessão e abrir os registos MCP.

O indicador MCP da barra de estado e o seu popover: a porta de escuta do servidor, o nome da sessão ligada, e as ações “Parar o servidor MCP” e “Ver os registos”

No arranque, o Restorm escolhe uma porta livre, gera um token de acesso próprio do processo e escreve um ficheiro de descoberta no diretório temporário do sistema. O servidor JSON-RPC escuta em 127.0.0.1:<port>/mcp — apenas no loopback local: qualquer chamada do exterior recebe um 403.

Nunca copia essa porta nem esse token por si próprio. Um pequeno lançador faz a ponte entre a entrada e a saída padrão do seu cliente MCP e o servidor HTTP do Restorm: encontra a instância em execução, injeta o token e reencaminha as suas chamadas. Responde a initialize e a tools/list de imediato a partir de um manifesto integrado, pelo que o seu cliente arranca depressa sem esperar que o Restorm inicie — e depois serve a lista real de ferramentas assim que uma chamada passa. Nunca inicia o Restorm silenciosamente: uma instância cujo servidor MCP tenha desligado permanece desligada, com uma mensagem de erro clara.

O mais simples — a partir da aplicação

Section titled “O mais simples — a partir da aplicação”

A via mais rápida não precisa de qualquer configuração manual. Abra o popover do indicador MCP (barra de estado) e clique em “Adicionar o Restorm ao seu assistente de IA”. Uma caixa de diálogo apresenta, cliente a cliente, a única linha a copiar:

  • Claude Code — o comando claude mcp add …, acompanhado de um botão “Adicionar ao Claude Code” que o executa por si quando a CLI claude é detetada no seu PATH;
  • Claude Desktop e Cursor — o bloco mcpServers a colar, com a localização do ficheiro de configuração.

A caixa de diálogo “Adicionar o Restorm ao seu assistente de IA”: três secções empilhadas — Claude Code, Claude Desktop e Cursor — cada uma com a linha a copiar; a secção do Claude Code oferece ainda um botão para a executar com um só clique

O Restorm nunca escreve o ficheiro de configuração de outra aplicação: o botão de execução conduz exclusivamente a sua própria CLI claude. Para os outros clientes, cola o excerto por si próprio.

O Claude Code também pode instalar o Restorm como plugin, a partir do nosso marketplace de alojamento próprio:

/plugin marketplace add Monsieur-Dev/restorm
/plugin install restorm@restorm-marketplace

O plugin regista o servidor MCP restorm (assenta em npx -y restorm-mcp) — nada mais a configurar.

Prefere escrever a configuração por si próprio — ou usa outro cliente? As opções abaixo cobrem todos os casos.

  • O servidor MCP está ativado — está por predefinição (Definições ▸ MCP). Numa máquina sem ecrã, nunca arranca, diga o que disser a definição.
  • Está uma instância do Restorm em execução — o lançador liga-se à sua aplicação em execução, não cria nenhuma.
  • Node.js ≥ 18 para o método npx abaixo.

Opção A — npx restorm-mcp (recomendado)

Section titled “Opção A — npx restorm-mcp (recomendado)”

Sem instalação, sem caminho a gerir, funciona com qualquer cliente e em qualquer sistema operativo. Aponte o seu cliente para ele:

{
"mcpServers": {
"restorm": {
"command": "npx",
"args": ["-y", "restorm-mcp"]
}
}
}

Onde esse excerto vai depende do seu cliente:

  • Claude Desktop — Definições ▸ Programador ▸ Editar configuração, ou o ficheiro claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\).
  • Cursor — Definições ▸ MCP ▸ Adicionar, ou ~/.cursor/mcp.json.
  • Claude Code — claude mcp add restorm -- npx -y restorm-mcp, ou um .mcp.json no seu projeto.

Opção B — o lançador incluído na aplicação (sem npm)

Section titled “Opção B — o lançador incluído na aplicação (sem npm)”

Cada instalação do Restorm inclui o mesmo lançador como recurso empacotado, pelo que pode apontar node diretamente para ele, sem npm:

{
"mcpServers": {
"restorm": {
"command": "node",
"args": ["<path-to>/restorm-resources/mcp-launcher.mjs"]
}
}
}

<path-to> é o diretório de recursos da aplicação:

  • macOS — /Applications/Restorm.app/Contents/Resources/restorm-resources/mcp-launcher.mjs
  • Windows — %LOCALAPPDATA%\Programs\restorm\resources\restorm-resources\mcp-launcher.mjs
  • Linux — /opt/Restorm/resources/restorm-resources/mcp-launcher.mjs (.deb/.rpm); dentro da imagem montada para um AppImage; $SNAP/resources/restorm-resources/mcp-launcher.mjs para o Snap.

Leia a porta e o token no ficheiro de descoberta e envie depois os seus pedidos JSON-RPC com um cabeçalho Authorization: Bearer <token>.

O lançador e a aplicação têm de concordar quanto ao diretório de descoberta. Ambos usam por predefinição restorm-mcp sob o diretório temporário do sistema; se definir a variável de ambiente RESTORM_MCP_DIR, atribua-lhe o mesmo valor de ambos os lados (necessário apenas se o Restorm correr sob um gestor de serviços com um diretório temporário diferente).

Vários Restorm podem correr em paralelo. Cada chamada aceita uma chave reservada __session para designar a instância visada. As ferramentas list-instances, create_instance e terminate_instance completam o quadro.

Leitura · navegação · projeto · escrita · ambientes e segredos · importação · execução · cenários · instâncias · automação da interface (captura de ecrã, consulta ao DOM, introdução de texto, atalhos, temas, disposição).

São também expostos quatro recursos: restorm://project, restorm://tree, restorm://active-tab e restorm://request/{id}.

Inventário completo: Ferramentas MCP.

O servidor MCP em si nunca é restringido. Cada ferramenta verifica a sua própria capacidade no momento da chamada.

  • Edição Community — todo o controlo dos pedidos: executar, cancelar, ler as respostas e o histórico, ler streams, enviar mensagens, importar a partir de um URL, abrir e fechar separadores, gerir os projetos, escrever na árvore, gerir os ambientes e as variáveis, as configs rápidas, os favoritos e as seis ferramentas da firewall.
  • Edição Pro — o domínio dos cenários (incluindo em leitura), as capturas, toda a automação da interface, os temas, o mini-navegador, a disposição do workbench, as instâncias múltiplas e as ferramentas git.

Uma ferramenta restringida continua listada — o seu título leva o sufixo (Restorm Pro) — e devolve um erro explícito e legível por máquina, em vez de desaparecer.

  • Loopback local e token: o servidor escuta apenas em 127.0.0.1, e o token é comparado em tempo constante.
  • Segredos: um agente recebe o valor resolvido de um segredo, tal como o resto da aplicação — pilota o Restorm em seu nome, sobre os seus próprios segredos. O que o tipo Segredo garante mantém-se verdadeiro: o valor não sai no projeto, nem numa exportação, nem para um serviço terceiro não autorizado.
  • Efeitos de rede reais: run_request chama realmente o alvo. É o fluxo de aprovação do seu cliente MCP que desempenha o papel de salvaguarda — mantenha-o ativo.
  • A firewall aplica-se: uma chamada desencadeada por um agente para uma origem desconhecida provoca o mesmo pedido de autorização que a sua.
  • Registo: cada chamada aparece nos registos MCP, com o seu pedido e a sua resposta.