Server MCP
Babel Desktop può ospitare un server Model Context Protocol (MCP) locale, così un assistente AI come Claude Code può aprire progetti, modificare le impostazioni, eseguire l’offuscamento, decodificare gli stack trace e lavorare con Babel Licensing.
MCP è uno standard aperto che gli assistenti AI usano per chiamare strumenti esterni. Può connettersi qualsiasi client MCP che supporti il trasporto Streamable HTTP. L’assistente lavora nell’applicazione che hai aperto: i progetti che modifica e le esecuzioni che avvia compaiono sul canvas, e l’assistente vede le modifiche che fai nella finestra.
Alcuni esempi di richieste:
Apri
~/Projects/Acme/Acme.babel, abilita il proxy dinamico e la generazione del file map perAcme.exe, esegui l’offuscamento e dimmi se ci sono avvisi.
Aggiungi
Acme.Core.dllal progetto e uniscilo adAcme.exe, poi mostrami le statistiche di ridenominazione della prossima esecuzione.
Decodifica lo stack trace in
crash.txtconAcme.exe.map.xmle dimmi quale dei miei metodi ha generato l’eccezione.
Mostrami le licenze in scadenza nei prossimi 30 giorni e i clienti a cui appartengono.
Imposta il tema Copper Night per l’interfaccia e fai uno screenshot della dashboard.
Che cosa fa il proxy dinamico? Se ha senso per
Acme.exe, abilitalo e spiega perché.
Abilitare il server
Il server è disattivato per impostazione predefinita e non è in ascolto finché non lo abiliti.
Apri le impostazioni MCP
Apri Impostazioni e scegli MCP.
Abilita il server
Seleziona Abilita il server di automazione. La riga di stato passa a In esecuzione e mostra l’indirizzo del server, http://127.0.0.1:8765/mcp con la porta predefinita. Finché l’impostazione resta attiva, il server si avvia a ogni avvio di Babel Desktop.
Scegli la porta
Lascia Porta su 8765, a meno che un altro programma sul computer non la usi già .
Proteggi il server con un token
Seleziona Richiedi un token di accesso e fai clic su Genera. I client devono allora inviare il token nell’intestazione X-Babel-Token. Senza token, qualsiasi programma in esecuzione sul computer con il tuo account utente può connettersi, quindi su un computer condiviso richiedilo.

Impostazioni > MCP
Le modifiche si applicano subito. Se deselezioni Abilita il server di automazione il server si arresta; se cambi la porta o il token, il server si riavvia e disconnette i client connessi. La tavolozza comandi offre anche MCP: Avvia server locale (lettura/scrittura progetto), MCP: Arresta server locale, MCP: Mostra stato e MCP: Mostra file di configurazione client.
Connettere un client
La sezione Configurazione client delle impostazioni MCP genera una configurazione per la porta e il token correnti. Fai clic su Copia configurazione e incollala nella configurazione MCP del tuo client:
{
"mcpServers": {
"babel-obfuscator": {
"type": "http",
"url": "http://127.0.0.1:8765/mcp",
"headers": {
"X-Babel-Token": "paste-the-token-from-settings-mcp"
}
}
}
}Se il token non è richiesto, il blocco headers viene omesso. Mostra file… mostra nel file manager il file di configurazione che Babel Desktop scrive per il server in esecuzione.
Per Claude Code, fai clic su Copia comando Claude Code ed esegui il comando copiato in un terminale:
claude mcp add --transport http babel-obfuscator http://127.0.0.1:8765/mcp \
--header "X-Babel-Token: paste-the-token-from-settings-mcp"Avvia prima Babel Desktop, poi l’assistente. Per verificare la connessione, chiedi all’assistente di fare uno screenshot della finestra di Babel Desktop.
Tratta il token come una password e tienilo fuori da report, ticket e sistemi di controllo del codice sorgente. Chiunque lo possieda può usare Babel Desktop sul computer locale con i tuoi permessi.
Che cosa può fare l’assistente
Il server rende disponibili le funzioni dell’applicazione come strumenti MCP, raggruppati così:
| Area | Strumenti |
|---|---|
| Applicazione | app_get_state, app_info, app_settings, app_set_theme, app_set_globe_style, language_list, language_set, language_install, mcp_configure, app_restart, desktop_screenshot |
| Aggiornamenti | app_update_status, app_update_check, app_update_install |
| Licenza del motore | license_info, license_load, license_clear, license_activate, license_deactivate, license_floating, license_release, license_configure |
| Progetti e target | project_info, project_graph, graph_layout, project_open, project_save, assembly_list, assembly_add, assembly_select, assembly_remove |
| Impostazioni e regole | settings_list, settings_get, settings_set, project_rules, project_set_xml_rules, rules_validate, rules_read, rules_save |
| Esecuzioni e risultati | obfuscate_start, obfuscate_cancel, obfuscate_status, results_list, results_read, results_table |
| Strumenti | stack_decode, trace_read, trace_save, warning_reference, plugin_arguments |
| Estensioni | extensions_list, extension_install, extension_state, extension_readme, extension_settings, extension_settings_save e gli altri strumenti extension_* |
| Licensing | licensing_profiles, licensing_profile_save, licensing_profile_test, licensing_profile_select, licensing_layout, licensing_read, licensing_dashboard, licensing_globe_details, licensing_report, licensing_geolocation, licensing_prepare, licensing_confirm |
| Modifiche confermate | desktop_prepare, desktop_confirm |
| Documentazione | docs_search, docs_read, docs_list |
I nomi delle impostazioni sono quelli delle opzioni di Babel Obfuscator mostrati nel pannello delle proprietà , quindi l’assistente può usare il riferimento del task Babel per scegliere i valori. Non serve indicare gli strumenti per nome. Descrivi il risultato che vuoi ottenere e sarà l’assistente a sceglierli.
Modifiche confermate
Le operazioni che potrebbero far perdere lavoro o sovrascrivere file richiedono due passaggi. L’assistente prima prepara l’operazione e riceve una proposta che descrive che cosa succederà , ad esempio quali file di output verranno sostituiti da un’esecuzione o quale record verrà rimosso da un’eliminazione. Deve mostrarti la proposta e ottenere la tua approvazione prima di confermare l’operazione. Una proposta scade dopo due minuti e può essere usata una sola volta. Viene rifiutata se il progetto, i file o il record sono cambiati dopo che è stata creata.
La conferma in due passaggi riguarda:
- creare un nuovo progetto, sostituire un input, rimuovere un target, modificare il grafo e le dipendenze, e avviare un’esecuzione (
obfuscate_startrestituisce una proposta); - i comandi di configurazione: unione nell’assembly principale, offuscamento pubblico e livello di protezione di un target;
- installare e disinstallare estensioni e rimuovere un profilo di connessione Licensing;
- creare, modificare, revocare ed eliminare record di Licensing (
licensing_prepareelicensing_confirm).
Per modificare le impostazioni o le regole XML serve la revisione corrente del progetto, così un assistente non può sovrascrivere modifiche che non ha visto.
Esecuzioni di offuscamento
Un’esecuzione avviata dall’assistente non è diversa da una avviata da te nella finestra. Scrive l’output nelle stesse posizioni, mostra l’avanzamento nel pannello Attività e può essere annullata sia da te sia dall’assistente. L’assistente interroga periodicamente obfuscate_status finché l’esecuzione non termina, poi legge le statistiche con results_read e results_table. Mentre un’esecuzione è attiva, il progetto non può essere modificato.
Licensing
Gli strumenti di Licensing operano sui profili di connessione Licensing, con i ruoli e i permessi della chiave API del profilo. I record possono essere creati, modificati ed eliminati solo tramite un profilo Test locale con la modalità di accesso Gestione locale; i profili remoti e quelli in sola lettura rifiutano ogni modifica. Le risposte omettono i segreti, come chiavi di licenza, chiavi API, token e indirizzi IP. Gli strumenti della dashboard restituiscono solo dati aggregati.
Che cosa resta nella finestra
L’assistente non può eseguire le operazioni seguenti, che restano a te, nella finestra:
- inserire le credenziali: accedere con una chiave API e generare il token MCP;
- rispondere alle richieste di password durante un’esecuzione e decodificare gli stack trace con file map protetti da password;
- avviare e arrestare il server MCP stesso.
Strumenti per la documentazione di Babel
Il server fornisce all’assistente anche la documentazione che stai leggendo. Quando chiedi come funziona o come si fa qualcosa, l’assistente cerca nella documentazione, legge la sezione pertinente e risponde con i link alle pagine che ha usato, prima di modificare qualsiasi impostazione. Il server indica ai client connessi di lavorare in questo modo, quindi non serve indicare gli strumenti per nome.
| Strumento | Che cosa fa |
|---|---|
docs_search | Cerca nella documentazione di Babel Obfuscator, Babel Licensing, Babel Desktop e nel riferimento API. Accetta una query di al massimo 500 caratteri, un parametro section facoltativo (obfuscator, licensing, desktop o api) e un parametro limit facoltativo da 1 a 20 (8 per impostazione predefinita). Ogni risultato riporta il titolo della pagina, l’intestazione della sezione, il percorso della pagina, un link all’intestazione e un breve estratto |
docs_read | Restituisce una pagina in Markdown, dato il percorso restituito da docs_search o docs_list. Con heading restituisce solo quella sezione. Le pagine più grandi di 200 KiB vengono troncate, con una nota che invita a chiedere una sola sezione. Per un percorso sconosciuto indica i percorsi più simili |
docs_list | Elenca le pagine con percorso, titolo e descrizione, per tutte le sezioni o per una sola |
Gli strumenti della documentazione si limitano a leggere e si connettono solo a https://docs.babelfor.net. La ricerca avviene sul tuo computer: la tua domanda non viene inviata al sito della documentazione. Gli strumenti scaricano l’indice di ricerca e le pagine che leggono, cioè gli stessi file pubblici descritti in Usare la documentazione con l’AI.
Alcuni esempi di richieste:
Come escludo un tipo dalla ridenominazione con le regole XML? Modifica di conseguenza le regole di questo progetto.
Cerca nella documentazione di Licensing come la mia applicazione deve rilasciare una licenza flottante quando si chiude.
Leggi la pagina del Decodificatore stack e spiegami quale file map mi serve per una build di release.
Uso offline e aggiornamenti
Babel Desktop conserva l’indice e le pagine scaricate in una cartella docs-cache nel tuo profilo utente.
- La presenza di modifiche all’indice viene controllata al massimo una volta ogni 24 ore. Una pagina viene scaricata di nuovo solo se è cambiata sul sito.
- Per avere prima l’ultima versione, chiedi all’assistente di aggiornare la documentazione. Gli strumenti accettano
refresh: truea questo scopo. - Senza connessione di rete, gli strumenti rispondono usando la copia in cache e segnalano che il risultato potrebbe non essere aggiornato, con la data della copia.
- Dopo una connessione fallita o un errore del sito, gli strumenti usano la cache per 10 minuti prima di riprovare con il sito.
Gli strumenti devono raggiungere il sito una volta per creare la cache. Fino ad allora, offline, restituiscono: Babel documentation is not available offline yet: connect to the internet once, or open https://docs.babelfor.net .
Sicurezza
- Il server è disattivato per impostazione predefinita e si mette in ascolto solo dopo che lo hai abilitato.
- È in ascolto solo su
127.0.0.1, quindi gli altri computer non possono raggiungerlo. - Con Richiedi un token di accesso attivo, qualsiasi richiesta senza l’intestazione
X-Babel-Tokencorretta viene rifiutata. - Dimensioni delle richieste, sessioni, connessioni e timeout sono limitati, e l’host e l’origine di ogni richiesta vengono convalidati.
- Nessuno strumento esegue comandi, SQL o URL arbitrari.
- Gli strumenti della documentazione si connettono solo a
https://docs.babelfor.net, senza seguire i reindirizzamenti, e si limitano a leggere.
L’assistente ha sui tuoi progetti e sui tuoi file lo stesso accesso che hai tu in Babel Desktop. Può modificare le impostazioni del progetto, eseguire offuscamenti e, dopo la conferma, sostituire i file di output. Se lasci un assistente libero di esplorare, dagli una copia del progetto e disattiva il server quando non lo usi.
Risoluzione dei problemi
| Sintomo | Causa | Soluzione |
|---|---|---|
| Il client non riesce a connettersi | Babel Desktop non è in esecuzione, oppure il server non è abilitato | Avvia Babel Desktop e controlla la riga di stato in Impostazioni > MCP |
| Ogni chiamata viene rifiutata come non autorizzata | Il token manca o non è aggiornato | Dopo aver generato un token, copia di nuovo la configurazione |
| Il server non si avvia | La porta è già in uso | Scegli un’altra porta in Impostazioni > MCP |
| Una conferma viene rifiutata | La proposta è scaduta oppure il progetto è cambiato | Chiedi all’assistente di preparare di nuovo l’operazione |
| Le modifiche a Licensing vengono rifiutate | Il profilo è remoto o in sola lettura, oppure la chiave API non ha il ruolo o il permesso necessario | Usa un profilo Test locale con gestione locale e una chiave con i permessi richiesti |
Il Babel Licensing Service ha un proprio server MCP, che lavora da remoto con l’API del servizio; per un confronto vedi Integrazione AI.