Salta ai contenuti

Pilotare Restorm tramite MCP

Restorm espone un server MCP (Model Context Protocol). Un agente IA — Claude Code, Cursor o qualunque client MCP — può quindi leggere il progetto, creare ed eseguire richieste e pilotare l’interfaccia.

È ciò che permette di chiedere «importa questo Swagger, crea uno scenario che verifichi il percorso d’ordine e lancialo» e di ottenere un risultato verificabile, in un’applicazione che resta sotto gli occhi dell’utente.

Il server è attivo per impostazione predefinita. Due meccanismi di governo:

  • l’impostazione Impostazioni ▸ MCP ▸ Attiva il server MCP;
  • una regola assoluta: su una macchina senza display il server MCP non si avvia mai, indipendentemente dall’impostazione. Un server di CI non si ritrova quindi a esporre un punto di ingresso.

L’indicatore MCP della barra di stato lampeggia a ogni chiamata in ingresso. Il suo popover permette di sospendere o riprendere il server per la sessione e di aprire i log MCP.

L’indicatore MCP della barra di stato e il suo popover: la porta di ascolto del server, il nome della sessione connessa e le azioni «Arresta il server MCP» e «Vedi i log»

All’avvio, Restorm sceglie una porta libera, genera un token di accesso proprio del processo e scrive un file di individuazione nella directory temporanea del sistema. Il server JSON-RPC ascolta su 127.0.0.1:<port>/mcpsoltanto in loopback locale: qualunque chiamante esterno riceve un 403.

Un piccolo proxy fa da ponte tra lo standard input del client MCP e il server HTTP di Restorm:

{
"mcpServers": {
"restorm": {
"command": "node",
"args": ["scripts/mcp-launcher.mjs"]
}
}
}

Individua l’istanza in corso, inietta il token e non avvia mai Restorm in silenzio: un’istanza il cui server MCP è stato spento resta spenta, con un messaggio di errore chiaro.

Basta leggere la porta e il token nel file di individuazione, poi inviare le richieste JSON-RPC con un header Authorization: Bearer <token>.

Più Restorm possono girare in parallelo. Ogni chiamata accetta una chiave riservata __session per designare l’istanza di destinazione. Gli strumenti list-instances, create_instance e terminate_instance completano il quadro.

Lettura · navigazione · progetto · scrittura · ambienti e segreti · importazione · esecuzione · scenari · istanze · automazione dell’interfaccia (screenshot, query DOM, inserimento, scorciatoie, temi, disposizione).

Vengono esposte anche quattro risorse: restorm://project, restorm://tree, restorm://active-tab e restorm://request/{id}.

Inventario completo: Strumenti MCP.

Il server MCP in sé non è mai limitato. Ogni strumento verifica la propria funzionalità al momento della chiamata.

  • Edizione Community — tutto il pilotaggio delle richieste: eseguire, annullare, leggere le risposte e la cronologia, leggere flussi, inviare messaggi, importare da un URL, aprire e chiudere schede, gestire i progetti, scrivere nell’albero, gestire ambienti e variabili, le impostazioni rapide, i preferiti e i sei strumenti di firewall.
  • Edizione Pro — il dominio scenari (anche in lettura), gli screenshot, tutta l’automazione dell’interfaccia, i temi, il mini browser, la disposizione del workbench, le istanze multiple e gli strumenti git.

Uno strumento limitato resta elencato — la sua dicitura porta il suffisso (Restorm Pro) — e restituisce un errore esplicito e leggibile dalla macchina anziché scomparire.

  • Loopback locale e token: il server ascolta soltanto su 127.0.0.1, e il token viene confrontato in tempo costante.
  • Segreti: un agente riceve il valore risolto di un segreto, come il resto dell’applicazione — pilota Restorm per conto dell’utente, sui suoi stessi segreti. Ciò che il tipo Segreto garantisce resta vero: il valore non finisce né nel progetto, né in un’esportazione, né verso un servizio di terze parti non autorizzato.
  • Effetti di rete reali: run_request chiama davvero la destinazione. È il flusso di approvazione del proprio client MCP a fare da barriera di sicurezza — conviene tenerlo attivo.
  • Il firewall si applica: una chiamata innescata da un agente verso un’origine ignota provoca la stessa richiesta di autorizzazione di una chiamata manuale.
  • Registrazione: ogni chiamata compare nei log MCP, con la sua richiesta e la sua risposta.