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>/mcp — soltanto in loopback locale: qualunque chiamante esterno riceve un 403.

Non copia mai personalmente quella porta né quel token. Un piccolo launcher fa da ponte tra lo standard input/output del suo client MCP e il server HTTP di Restorm: individua l’istanza in esecuzione, inietta il token e inoltra le sue chiamate. Risponde a initialize e tools/list all’istante da un manifesto integrato, così il suo client si avvia in fretta senza attendere l’avvio di Restorm — e poi serve l’elenco reale degli strumenti non appena una chiamata va a buon fine. Non avvia mai Restorm in silenzio: un’istanza il cui server MCP è stato spento resta spenta, con un messaggio di errore chiaro.

Il modo più semplice — dall’applicazione

Section titled “Il modo più semplice — dall’applicazione”

La via più rapida non richiede alcuna configurazione manuale. Apra il popover dell’indicatore MCP (barra di stato) e faccia clic su «Aggiungi Restorm al tuo assistente IA». Una finestra di dialogo presenta, client per client, l’unica riga da copiare:

  • Claude Code — il comando claude mcp add …, abbinato a un pulsante «Aggiungi a Claude Code» che lo esegue al posto suo quando la CLI claude viene rilevata nel suo PATH;
  • Claude Desktop e Cursor — il blocco mcpServers da incollare, con la posizione del file di configurazione.

La finestra di dialogo «Aggiungi Restorm al tuo assistente IA»: tre sezioni impilate — Claude Code, Claude Desktop e Cursor — ciascuna con la riga da copiare; la sezione Claude Code offre inoltre un pulsante per eseguirla con un solo clic

Restorm non scrive mai il file di configurazione di un’altra applicazione: il pulsante di esecuzione pilota esclusivamente la sua CLI claude. Per gli altri client, incolla personalmente il frammento.

Claude Code può anche installare Restorm come plugin, dal nostro marketplace self-hosted:

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

Il plugin registra il server MCP restorm (si basa su npx -y restorm-mcp): nient’altro da configurare.

Preferisce scrivere personalmente la configurazione — o usa un altro client? Le opzioni qui sotto coprono ogni caso.

  • Il server MCP è attivo — lo è per impostazione predefinita (Impostazioni ▸ MCP). Su una macchina senza schermo non si avvia mai, qualunque cosa dica l’impostazione.
  • Un’istanza di Restorm è in esecuzione — il launcher si collega alla sua app in esecuzione, non ne avvia una.
  • Node.js ≥ 18 per il metodo npx qui sotto.

Opzione A — npx restorm-mcp (consigliata)

Section titled “Opzione A — npx restorm-mcp (consigliata)”

Nessuna installazione, nessun percorso da gestire, funziona con qualsiasi client e su ogni sistema operativo. Punti il suo client su di esso:

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

Dove va questo frammento dipende dal suo client:

  • Claude Desktop — Impostazioni ▸ Sviluppatore ▸ Modifica configurazione, o il file claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\).
  • Cursor — Impostazioni ▸ MCP ▸ Aggiungi, o ~/.cursor/mcp.json.
  • Claude Code — claude mcp add restorm -- npx -y restorm-mcp, o un .mcp.json nel suo progetto.

Opzione B — il launcher incluso nell’applicazione (senza npm)

Section titled “Opzione B — il launcher incluso nell’applicazione (senza npm)”

Ogni installazione di Restorm include lo stesso launcher come risorsa in bundle, così può puntare node direttamente su di esso, senza npm:

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

<path-to> è la directory delle risorse dell’applicazione:

  • 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); all’interno dell’immagine montata per un AppImage; $SNAP/resources/restorm-resources/mcp-launcher.mjs per lo Snap.

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

Il launcher e l’applicazione devono concordare sulla directory di individuazione. Entrambi usano per impostazione predefinita restorm-mcp sotto la directory temporanea del sistema; se imposta la variabile d’ambiente RESTORM_MCP_DIR, le assegni lo stesso valore su entrambi i lati (necessario solo se Restorm gira sotto un gestore di servizi con una directory temporanea diversa).

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.