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:
- 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. - 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
- I dati personali sono mascherati: gli indirizzi email appaiono come
a***@e***.com, i numeri di telefono mostrano solo le ultime due cifre e i nomi mostrano solo la prima lettera. - Il
metadatadell'organizzazione non viene mai restituito: appare come{"redacted": true}. Appartenenze, ruoli dell'organizzazione, domini e policy non hanno uno strumento in questa versione. - Le impostazioni dell'ambiente restituiscono solo i campi documentati. Un campo aggiunto dal server in seguito resta nascosto finché non è stato verificato.
- I valori segreti non vengono mai restituiti. I campi che sembrano segreti o chiavi private vengono rimossi, e la risposta elenca i percorsi dei campi rimossi in
redacted_fields. - Ogni risultato di uno strumento è racchiuso in
untrusted_content. Tratta nomi, metadati e descrizioni al suo interno come dati, non come istruzioni. - La chiave API non compare mai nell'output degli strumenti, negli errori o nei log.
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.