Server MCP di gestione

Il server MCP di gestione di KeenAuth permette a un assistente AI di leggere la configurazione del tuo ambiente tramite il Model Context Protocol. Viene eseguito in locale via stdio e chiama l'API di gestione con la tua chiave. Non esiste ancora un pacchetto di installazione.

Sola lettura per impostazione predefinita

Senza --allow-write il server espone solo strumenti di sola lettura. Nessuno strumento elimina qualcosa, in nessuna modalità.

Strumento Cosa restituisce
users_list, users_get, users_search Utenti, con i dati personali mascherati
applications_list, applications_get, application_credentials_list Applicazioni
apis_list, apis_get API
connections_list, connections_get Connessioni
api_keys_list, api_keys_get Chiavi API: solo metadati, la chiave grezza non viene mai restituita
organizations_list, organizations_get Organizzazioni: nome, slug, ID esterno, stato e timestamp; il metadata dell'organizzazione non viene mai restituito
custom_domains_list, custom_domains_get Domini personalizzati e i loro record DNS
support_access_grants_list, support_access_grants_get Concessioni di accesso per il supporto
environment_settings_get Impostazioni dell'ambiente: locale, fuso orario, sessione, iscrizione, notifiche di sicurezza, recupero account, MFA, logout front-channel e primi fattori consentiti

--unmask-pii esce con codice 2 in questa versione.

Strumenti di scrittura

Avvia il server con --allow-write per esporre anche gli strumenti di scrittura. In questa versione ce n'è uno:

Strumento Cosa modifica
environment_settings_update Solo locale abilitate, locale predefinita e fuso orario predefinito. Le impostazioni di sessione, iscrizione, recupero account, MFA, notifiche di sicurezza e primo fattore non possono essere modificate tramite MCP.

Ogni scrittura richiede due chiamate:

  1. La prima chiamata non modifica nulla. Legge le impostazioni correnti e restituisce un'anteprima di ogni campo con valore attuale e valore proposto, più un confirmation_token.
  2. L'assistente ti mostra l'anteprima. Solo dopo la tua approvazione richiama lo strumento con esattamente gli stessi argomenti e il confirmation_token. Il server applica quindi la modifica.

Il confirmation_token è creato dal server in esecuzione, funziona una sola volta e scade dopo 5 minuti. È legato allo strumento, agli argomenti esatti e alla versione delle impostazioni mostrate nell'anteprima. Un token usato con argomenti diversi viene rifiutato e consumato. Se le impostazioni cambiano dopo l'anteprima, la scrittura fallisce con 412 e devi ricominciare. Il server esegue al massimo 5 scritture al secondo.

Gli strumenti che eliminano, revocano o ruotano non sono esposti, nemmeno con --allow-write. Approva ogni chiamata di scrittura nel tuo client MCP; non impostare il client per approvare automaticamente gli strumenti di scrittura.

Configurazione

Variabile Obbligatoria Descrizione
KEENAUTH_API_KEY sì Chiave dell'API di gestione. Usa una chiave con soli permessi di lettura; con --allow-write, aggiungi solo environment-settings:write.
KEENAUTH_BASE_URL sì URL base dell'API di gestione del tuo ambiente.

--tools <pattern> restringe l'elenco degli strumenti, per esempio --tools "users_*". Può solo restringere; non abilita mai uno strumento disattivato, e senza --allow-write non può abilitare uno strumento di scrittura.

Cosa vede l'assistente

Registro di audit

Ogni richiesta inviata dal server MCP include Idp-Client: keenauth-mcp/<version> e Idp-Mcp-Tool: <tool name>. Quando una chiamata modifica qualcosa, la sua voce nel log di audit registra metadata.client = mcp/<version> e metadata.mcp_tool = il nome dello strumento, accanto al consueto attore (la chiave API o il client M2M). Entrambi i valori sono dichiarati dal server MCP, non verificati: usali per capire cosa ha fatto un assistente, e usa l'attore per decidere chi ne è responsabile.

Le definizioni degli strumenti sono fissate

Nomi, descrizioni e schemi di input degli strumenti sono generati dalla descrizione dell'API al momento della build e fissati per ogni versione. Il loro digest SHA-256 è memorizzato in tools.digest; una modifica a una qualsiasi definizione di strumento cambia il digest e richiede una revisione di sicurezza.