Skip to Content
Neue Version 12 verfügbar 🎉
DesktopMCP-Server

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ür Acme.exe Dynamic Proxy und die Erzeugung der Map-Datei ein, führe die Verschleierung aus und nenne mir alle Warnungen.

Füge Acme.Core.dll zum Projekt hinzu und führe sie mit Acme.exe zusammen. Zeige mir dann die Umbenennungsstatistiken des nächsten Laufs.

Decodiere den Stacktrace in crash.txt mit Acme.exe.map.xml und 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.exe sinnvoll 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 auf der Seite des MCP-Automatisierungsservers: das Kontrollkästchen „Enable the automation server“, der Status „Running“ unter http://127.0.0.1:8765/mcp, das Feld „Port“, das Kontrollkästchen „Require an access token“ mit den Schaltflächen „Generate“ und „Copy“, die Client-Konfiguration als JSON und die Schaltflächen „Copy configuration“, „Copy Claude Code command“ und „Show file“

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:

BereichTools
Anwendungapp_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
Updatesapp_update_status, app_update_check, app_update_install
Engine-Lizenzlicense_info, license_load, license_clear, license_activate, license_deactivate, license_floating, license_release, license_configure
Projekte und Zieleproject_info, project_graph, graph_layout, project_open, project_save, assembly_list, assembly_add, assembly_select, assembly_remove
Einstellungen und Regelnsettings_list, settings_get, settings_set, project_rules, project_set_xml_rules, rules_validate, rules_read, rules_save
Läufe und Ergebnisseobfuscate_start, obfuscate_cancel, obfuscate_status, results_list, results_read, results_table
Werkzeugestack_decode, trace_read, trace_save, warning_reference, plugin_arguments
Erweiterungenextensions_list, extension_install, extension_state, extension_readme, extension_settings, extension_settings_save und die übrigen extension_*-Tools
Lizenzverwaltunglicensing_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 Änderungendesktop_prepare, desktop_confirm
Dokumentationdocs_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_start gibt 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_prepare und licensing_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.

ToolFunktion
docs_searchDurchsucht 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_readGibt 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_listListet 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-Token abgewiesen.
  • 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

SymptomUrsacheAbhilfe
Der Client kann sich nicht verbindenBabel Desktop läuft nicht, oder der Server ist nicht aktiviertStarten Sie Babel Desktop und prüfen Sie die Statuszeile unter Einstellungen > MCP
Jeder Aufruf wird als nicht autorisiert abgewiesenDas Token fehlt oder ist veraltetKopieren Sie die Konfiguration erneut, nachdem Sie ein Token generiert haben
Der Server startet nichtDer Port ist bereits belegtWählen Sie unter Einstellungen > MCP einen anderen Port
Eine Bestätigung wird abgelehntDer Vorschlag ist verfallen, oder das Projekt hat sich geändertBitten Sie den Assistenten, den Vorgang erneut vorzubereiten
Änderungen in der Lizenzverwaltung werden abgelehntDas Profil ist ein Remote-Profil oder schreibgeschützt, oder dem API-Schlüssel fehlt die Rolle oder BerechtigungVerwenden 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.

Last updated on