MCP-Server
Babel Desktop kann einen lokalen Server für das Model Context Protocol (MCP) bereitstellen. Ein KI-Assistent wie Claude Code kann damit Projekte öffnen, Einstellungen ändern, die Verschleierung ausführen, Stacktraces decodieren und mit Babel Licensing arbeiten.
MCP ist ein offener Standard, über den KI-Assistenten externe Tools aufrufen. Jeder MCP-Client, der den Transport Streamable HTTP unterstützt, kann sich verbinden. Der Assistent arbeitet in der Anwendung, die Sie geöffnet haben: Projekte, die er bearbeitet, und Läufe, die er startet, erscheinen auf der Zeichenfläche, und er sieht die Änderungen, die Sie im Fenster vornehmen.
Einige Beispiele für Anfragen:
Öffne
~/Projects/Acme/Acme.babel, schalte fürAcme.exeDynamic Proxy und die Erzeugung der Map-Datei ein, führe die Verschleierung aus und nenne mir alle Warnungen.
Füge
Acme.Core.dllzum Projekt hinzu und führe sie mitAcme.exezusammen. Zeige mir dann die Umbenennungsstatistiken des nächsten Laufs.
Decodiere den Stacktrace in
crash.txtmitAcme.exe.map.xmlund sage mir, welche meiner Methoden die Ausnahme ausgelöst hat.
Zeige mir die Lizenzen, die in den nächsten 30 Tagen ablaufen, und die Kunden, denen sie gehören.
Stelle die Oberfläche auf das Design Copper Night um und mache einen Screenshot des Dashboards.
Was bewirkt Dynamic Proxy? Wenn es für
Acme.exesinnvoll ist, schalte es ein und erkläre, warum.
Den Server aktivieren
Der Server ist standardmäßig ausgeschaltet und nimmt erst Verbindungen an, wenn Sie ihn aktivieren.
MCP-Einstellungen öffnen
Öffnen Sie die Einstellungen und wählen Sie MCP.
Server aktivieren
Aktivieren Sie Automatisierungsserver aktivieren. Die Statuszeile wechselt zu Wird ausgeführt und zeigt die Adresse des Servers, mit dem Standardport http://127.0.0.1:8765/mcp. Solange die Einstellung eingeschaltet bleibt, startet der Server bei jedem Start von Babel Desktop.
Port wählen
Belassen Sie Port auf 8765, sofern nicht bereits ein anderes Programm auf dem Rechner diesen Port verwendet.
Server mit einem Token schützen
Aktivieren Sie Zugriffstoken verlangen und klicken Sie auf Generieren. Clients müssen das Token dann im Header X-Babel-Token senden. Ohne Token kann sich jedes Programm verbinden, das auf dem Rechner unter Ihrem Benutzerkonto läuft. Verlangen Sie deshalb auf einem gemeinsam genutzten Rechner ein Token.

Einstellungen > MCP
Änderungen wirken sofort. Wenn Sie Automatisierungsserver aktivieren deaktivieren, wird der Server angehalten. Eine Änderung des Ports oder des Tokens startet ihn neu und trennt die verbundenen Clients. Die Befehlspalette bietet außerdem MCP: Lokalen Server starten (Projekt lesen/schreiben), MCP: Lokalen Server stoppen, MCP: Status anzeigen und MCP: Client-Konfigurationsdatei anzeigen.
Einen Client verbinden
Der Abschnitt Client-Konfiguration der MCP-Einstellungen erzeugt eine Konfiguration für den aktuellen Port und das aktuelle Token. Klicken Sie auf Konfiguration kopieren und fügen Sie sie in die MCP-Konfiguration Ihres Clients ein:
{
"mcpServers": {
"babel-obfuscator": {
"type": "http",
"url": "http://127.0.0.1:8765/mcp",
"headers": {
"X-Babel-Token": "paste-the-token-from-settings-mcp"
}
}
}
}Wird kein Token verlangt, entfällt der Block headers. Datei anzeigen… zeigt die Konfigurationsdatei, die Babel Desktop für den laufenden Server schreibt.
Für Claude Code klicken Sie auf Claude-Code-Befehl kopieren und führen den kopierten Befehl in einem Terminal aus:
claude mcp add --transport http babel-obfuscator http://127.0.0.1:8765/mcp \
--header "X-Babel-Token: paste-the-token-from-settings-mcp"Starten Sie zuerst Babel Desktop und dann den Assistenten. Um die Verbindung zu prüfen, bitten Sie den Assistenten um einen Screenshot des Fensters von Babel Desktop.
Behandeln Sie das Token wie ein Passwort und halten Sie es aus Berichten, Tickets und der Versionsverwaltung heraus. Wer es besitzt, kann Babel Desktop auf dem lokalen Rechner mit Ihren Berechtigungen bedienen.
Was der Assistent tun kann
Der Server stellt die Funktionen der Anwendung als MCP-Tools bereit, gegliedert in die folgenden Bereiche:
| Bereich | Tools |
|---|---|
| Anwendung | 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 |
| Updates | app_update_status, app_update_check, app_update_install |
| Engine-Lizenz | license_info, license_load, license_clear, license_activate, license_deactivate, license_floating, license_release, license_configure |
| Projekte und Ziele | project_info, project_graph, graph_layout, project_open, project_save, assembly_list, assembly_add, assembly_select, assembly_remove |
| Einstellungen und Regeln | settings_list, settings_get, settings_set, project_rules, project_set_xml_rules, rules_validate, rules_read, rules_save |
| Läufe und Ergebnisse | obfuscate_start, obfuscate_cancel, obfuscate_status, results_list, results_read, results_table |
| Werkzeuge | stack_decode, trace_read, trace_save, warning_reference, plugin_arguments |
| Erweiterungen | extensions_list, extension_install, extension_state, extension_readme, extension_settings, extension_settings_save und die übrigen extension_*-Tools |
| Lizenzverwaltung | 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 |
| Bestätigte Änderungen | desktop_prepare, desktop_confirm |
| Dokumentation | docs_search, docs_read, docs_list |
Die Namen der Einstellungen sind die Optionsnamen von Babel Obfuscator, wie sie der Eigenschaftenbereich zeigt. Der Assistent kann die Werte daher anhand der Referenz der Babel-Aufgabe wählen. Sie müssen keine Tools nennen. Beschreiben Sie das gewünschte Ergebnis, und der Assistent wählt die passenden aus.
Bestätigte Änderungen
Vorgänge, bei denen Arbeit verloren gehen oder Dateien überschrieben werden könnten, laufen in zwei Schritten ab. Der Assistent bereitet den Vorgang zunächst vor und erhält einen Vorschlag zurück, der beschreibt, was geschehen wird, zum Beispiel welche Ausgabedateien ein Lauf ersetzt oder welchen Datensatz ein Löschvorgang entfernt. Er muss Ihnen den Vorschlag zeigen und Ihre Zustimmung einholen, bevor er den Vorgang bestätigt. Ein Vorschlag verfällt nach zwei Minuten und kann nur einmal verwendet werden. Er wird abgelehnt, wenn sich das Projekt, die Dateien oder der Datensatz seit seiner Erstellung geändert haben.
Die Bestätigung in zwei Schritten gilt für:
- das Anlegen eines neuen Projekts, das Ersetzen einer Eingabe, das Entfernen eines Ziels, das Bearbeiten des Graphen und der Abhängigkeiten sowie den Start eines Laufs (
obfuscate_startgibt einen Vorschlag zurück); - die Einrichtungsbefehle: die Zusammenführung in die Hauptassembly, die öffentliche Verschleierung und die Schutzstufe eines Ziels;
- das Installieren und Deinstallieren von Erweiterungen und das Entfernen eines Verbindungsprofils der Lizenzverwaltung;
- das Anlegen, Bearbeiten, Widerrufen und Löschen von Datensätzen der Lizenzverwaltung (
licensing_prepareundlicensing_confirm).
Wer Einstellungen oder XML-Regeln ändert, muss die aktuelle Revision des Projekts angeben. Das verhindert, dass ein Assistent Änderungen überschreibt, die er nicht gesehen hat.
Verschleierungsläufe
Ein Lauf, den der Assistent startet, unterscheidet sich nicht von einem, den Sie im Fenster starten. Er schreibt die Ausgabe an dieselben Orte, meldet den Fortschritt im Bereich Aktivität und kann von beiden Seiten abgebrochen werden. Der Assistent fragt obfuscate_status ab, bis der Lauf abgeschlossen ist, und liest dann die Statistiken mit results_read und results_table. Solange ein Lauf aktiv ist, kann das Projekt nicht geändert werden.
Lizenzverwaltung
Die Tools der Lizenzverwaltung arbeiten mit den Verbindungsprofilen der Lizenzverwaltung, mit den Rollen und Berechtigungen des API-Schlüssels des jeweiligen Profils. Datensätze lassen sich nur über ein Profil vom Typ „Lokaler Test“ mit dem Zugriffsmodus „Lokale Verwaltung“ anlegen, bearbeiten und löschen. Remote-Profile und schreibgeschützte Profile lehnen jede Änderung ab. Die Antworten enthalten keine Geheimnisse wie Lizenzschlüssel, API-Schlüssel, Token und IP-Adressen. Die Dashboard-Tools geben nur aggregierte Daten zurück.
Was im Fenster bleibt
Folgendes kann der Assistent nicht tun. Es bleibt Ihnen im Fenster vorbehalten:
- die Eingabe von Anmeldedaten: die Anmeldung mit einem API-Schlüssel und das Generieren des MCP-Tokens;
- die Beantwortung von Passwortabfragen während eines Laufs und das Decodieren von Stacktraces mit passwortgeschützten Map-Dateien;
- das Starten und Stoppen des MCP-Servers selbst.
Tools für die Babel-Dokumentation
Der Server stellt dem Assistenten auch die Dokumentation bereit, die Sie gerade lesen. Wenn Sie fragen, wie etwas funktioniert oder wie etwas zu tun ist, durchsucht der Assistent die Dokumentation, liest den passenden Abschnitt und antwortet mit Links zu den verwendeten Seiten, bevor er eine Einstellung ändert. Der Server weist verbundene Clients an, so vorzugehen. Sie müssen die Tools also nicht nennen.
| Tool | Funktion |
|---|---|
docs_search | Durchsucht die Dokumentation von Babel Obfuscator, Babel Licensing und Babel Desktop sowie die API-Referenz. Es nimmt eine Suchanfrage von bis zu 500 Zeichen entgegen, optional eine section (obfuscator, licensing, desktop oder api) und optional ein limit von 1 bis 20 (standardmäßig 8). Jedes Ergebnis enthält den Seitentitel, die Abschnittsüberschrift, den Pfad der Seite, einen Link zur Überschrift und einen kurzen Auszug |
docs_read | Gibt eine Seite als Markdown zurück, anhand des Pfads, den docs_search oder docs_list geliefert hat. Mit einem heading gibt es nur diesen Abschnitt zurück. Seiten über 200 KiB werden abgeschnitten, mit dem Hinweis, einen einzelnen Abschnitt anzufordern. Bei einem unbekannten Pfad nennt es die ähnlichsten Pfade |
docs_list | Listet die Seiten mit Pfad, Titel und Beschreibung auf, für alle Bereiche oder für einen einzelnen |
Die Dokumentations-Tools lesen nur und verbinden sich ausschließlich mit https://docs.babelfor.net. Die Suche läuft auf Ihrem Rechner: Ihre Frage wird nicht an die Dokumentationswebsite gesendet. Die Tools laden den Suchindex und die Seiten herunter, die sie lesen. Das sind dieselben öffentlichen Dateien, die unter Die Dokumentation mit KI verwenden beschrieben sind.
Einige Beispiele für Anfragen:
Wie schließe ich einen Typ mit XML-Regeln von der Umbenennung aus? Ändere die Regeln dieses Projekts entsprechend.
Suche in der Dokumentation von Babel Licensing, wie meine Anwendung eine Floating-Lizenz freigeben soll, wenn sie beendet wird.
Lies die Seite zum Stack-Decoder und erkläre mir, welche Map-Datei ich für einen Release-Build brauche.
Offline-Nutzung und Aktualisierung
Babel Desktop bewahrt den heruntergeladenen Index und die Seiten in einem Ordner docs-cache in Ihrem Benutzerprofil auf.
- Der Index wird höchstens einmal alle 24 Stunden auf Änderungen geprüft. Eine Seite wird nur dann erneut heruntergeladen, wenn sie sich auf der Website geändert hat.
- Um die neueste Fassung früher zu erhalten, bitten Sie den Assistenten, die Dokumentation zu aktualisieren. Die Tools akzeptieren dafür
refresh: true. - Ohne Netzwerkverbindung antworten die Tools aus der zwischengespeicherten Kopie und kennzeichnen das Ergebnis als veraltet, mit dem Datum der Kopie.
- Nach einem fehlgeschlagenen Verbindungsversuch oder einem Fehler der Website verwenden die Tools 10 Minuten lang den Cache, bevor sie die Website erneut ansprechen.
Um den Cache aufzubauen, müssen die Tools die Website einmal erreichen. Bis dahin geben sie offline Folgendes zurück: Babel documentation is not available offline yet: connect to the internet once, or open https://docs.babelfor.net .
Sicherheit
- Der Server ist standardmäßig ausgeschaltet und nimmt erst Verbindungen an, nachdem Sie ihn aktiviert haben.
- Er bindet sich an
127.0.0.1, andere Rechner können ihn also nicht erreichen. - Ist Zugriffstoken verlangen eingeschaltet, wird jede Anfrage ohne den korrekten Header
X-Babel-Tokenabgewiesen. - Anfragegrößen, Sitzungen, Verbindungen und Wartezeiten sind begrenzt, und Host und Origin jeder Anfrage werden geprüft.
- Kein Tool führt beliebige Befehle, SQL-Anweisungen oder URLs aus.
- Die Dokumentations-Tools verbinden sich ausschließlich mit
https://docs.babelfor.net, folgen keinen Weiterleitungen und lesen nur.
Der Assistent hat denselben Zugriff auf Ihre Projekte und Dateien, den Sie in Babel Desktop haben. Er kann Projekteinstellungen ändern, Verschleierungen ausführen und, nach Bestätigung, Ausgabedateien ersetzen. Wenn Sie einen Assistenten frei erkunden lassen, geben Sie ihm eine Kopie des Projekts, und schalten Sie den Server aus, wenn Sie ihn nicht verwenden.
Fehlerbehebung
| Symptom | Ursache | Abhilfe |
|---|---|---|
| Der Client kann sich nicht verbinden | Babel Desktop läuft nicht, oder der Server ist nicht aktiviert | Starten Sie Babel Desktop und prüfen Sie die Statuszeile unter Einstellungen > MCP |
| Jeder Aufruf wird als nicht autorisiert abgewiesen | Das Token fehlt oder ist veraltet | Kopieren Sie die Konfiguration erneut, nachdem Sie ein Token generiert haben |
| Der Server startet nicht | Der Port ist bereits belegt | Wählen Sie unter Einstellungen > MCP einen anderen Port |
| Eine Bestätigung wird abgelehnt | Der Vorschlag ist verfallen, oder das Projekt hat sich geändert | Bitten Sie den Assistenten, den Vorgang erneut vorzubereiten |
| Änderungen in der Lizenzverwaltung werden abgelehnt | Das Profil ist ein Remote-Profil oder schreibgeschützt, oder dem API-Schlüssel fehlt die Rolle oder Berechtigung | Verwenden Sie ein Profil vom Typ „Lokaler Test“ mit lokaler Verwaltung und einen Schlüssel mit den erforderlichen Berechtigungen |
Der Babel Licensing Service hat einen eigenen MCP-Server, der remote mit der API des Dienstes arbeitet. Einen Vergleich finden Sie unter KI-Integration.