Configurazione

Attiva il server e autentica il client

  1. Abilitarlo
  2. Limitare cosa possono fare gli agenti
  3. La pagina MCP
  4. Autenticazione

Abilitarlo

Imposta ENABLE_MCP su 1, o attivalo in Impostazioni > Connessioni > MCP (vedi La pagina MCP). Modificato nella pagina delle impostazioni, l’interruttore si applica subito, senza riavvio. Finché è disattivato, l’endpoint risponde 404. L’endpoint è:

POST <your url>/api/v2/mcp

Usa Streamable HTTP stateless con risposte JSON semplici, quindi GET e DELETE restituiscono 405.


Limitare cosa possono fare gli agenti

Altri due interruttori restringono il server MCP per tutti i client. Come ENABLE_MCP, si applicano senza riavvio:

Variabile Con 1
MCP_READ_ONLY Il server non offre nessuno degli strumenti che avviano, pianificano o modificano (launch_job, relaunch_job, plan_job, create_schedule, delete_schedule, store_job, delete_stored_job), e li rifiuta. Gli agenti possono elencare, leggere e compilare moduli, leggere pianificazioni e job salvati, e seguire i job, ma non avviano né modificano nulla: un modo sicuro per provare un agente.
MCP_CHAT_FORMS_ONLY Gli agenti vedono solo i moduli che impostano enableForChat: true, lo stesso elenco dell’assistente chat. Qualsiasi altro modulo, e qualsiasi suo job, risponde come non trovato.

Entrambi sono disattivati per impostazione predefinita: gli agenti vedono ogni modulo consentito dai ruoli dell’utente, e possono avviarlo.


La pagina MCP

Impostazioni > Connessioni > MCP contiene le impostazioni del server MCP in due schede.

  • Generale ha i tre interruttori, ENABLE_MCP, MCP_READ_ONLY e MCP_CHAT_FORMS_ONLY, salvati con Salva. Gli altri due si possono modificare solo mentre il server MCP è attivo.
  • Configurazione del client mostra l’Endpoint, con un pulsante per copiarlo, e una configurazione pronta per Claude Code (.mcp.json, o un comando claude mcp add), Cursor (~/.cursor/mcp.json), VS Code (.vscode/mcp.json, che chiede il token al primo avvio del server) e Codex (~/.codex/config.toml, con il token nella variabile d’ambiente ANSIBLEFORMS_TOKEN). Ognuna ha il suo pulsante di copia; sostituisci <your-token> con un tuo token, creato con il link Crea un token.

L’endpoint è costruito dall’URL dell’app (Impostazioni > URL) quando è impostato, altrimenti dall’indirizzo del browser.


Autenticazione

Ogni richiesta ha bisogno di un access token di AnsibleForms:

Authorization: Bearer <token>

Ottienine uno nel modo abituale (POST /api/v2/auth/login, o i flussi OIDC / Entra ID) e rinnovalo con POST /api/v2/token. Non c’è di proposito nessuno strumento di login: una password passata come argomento di uno strumento finirebbe nel contesto del modello linguistico e nella sua cronologia di chat.

Anche i ruoli dell’utente devono consentire il server MCP, tramite l’opzione di ruolo allowMcp. Quando nessun ruolo dell’utente la imposta, segue allowChat, che è attiva per impostazione predefinita. Un utente a cui è negato riceve 403 su ogni richiesta.

  • Un backend di chat fa accedere l’utente da sé, conserva il refresh token e passa l’access token a ogni chiamata MCP.
  • Un client IDE ha bisogno di un token che duri abbastanza da poter essere configurato una sola volta. Con un ruolo che ha l’opzione allowApiTokens, creane uno in Profilo > Token API, o accedi con ?expiryDays=<n> nell’URL di login per un token valido quel numero di giorni.

Per collegare un agente di programmazione con un token del genere:

Aggiungi il server con il token come header:

claude mcp add --transport http ansibleforms https://af.example.com/api/v2/mcp \
  --header "Authorization: Bearer <token>"