Skip to Content
Neue Version 12 verfügbar 🎉

MCP-Server von Babel Licensing Data Center

Der MCP-Server von Babel Licensing ist ein in Python geschriebener Server für das Model Context Protocol  (MCP), der alle API-Funktionen von Babel Licensing als Tools bereitstellt. KI-Assistenten wie Claude können damit direkt mit Ihrem System von Babel Licensing arbeiten: für die Lizenzverwaltung, für Vorgänge rund um Kunden, für die Produktverwaltung und mehr.

Was ist MCP?

Das Model Context Protocol (MCP) ist ein offener Standard, über den sich KI-Assistenten sicher mit externen Systemen und Datenquellen verbinden. MCP-Server bilden die Brücke zwischen KI-Modellen und Ihren Geschäftssystemen. Über sie arbeiten Sie in natürlicher Sprache mit APIs, Datenbanken und Tools.

Funktionen

  • Vollständige API-Abdeckung: stellt alle über 90 API-Endpunkte von Babel Licensing als MCP-Tools bereit
  • Typsichere Konfiguration: Konfiguration auf der Grundlage von Pydantic mit automatischer Validierung
  • Authentifizierung: unterstützt die Authentifizierung mit API-Schlüssel und mit Bearer-Token
  • Tägliche Protokollrotation: automatische Protokollierung im Verzeichnis logs/ mit einer neuen Datei pro Tag
  • Umfassender Satz von Tools: enthält Tools für:
    • Authentifizierung und Benutzerverwaltung
    • Lizenzvorgänge (aktivieren, deaktivieren, validieren, anfordern, freigeben)
    • Verwaltung von Kunden und Kontakten
    • Verwaltung von Produkten und Bestellungen
    • Lizenzvorlagen und Token
    • Webhooks und Ereignisverwaltung
    • Berichte und Protokollierung
    • E-Mail-Benachrichtigungen
    • Systemeinstellungen und Konfiguration

Anforderungen

  • Python 3.10 oder höher
  • Zugriff auf die API von Babel Licensing (Basis-URL und Anmeldedaten)
  • Ein MCP-kompatibler Client (zum Beispiel Claude Desktop)

Installation

Schnellstart

macOS / Linux

  1. Entpacken Sie das Archiv und wechseln Sie in das Verzeichnis:
unzip babel-licensing-mcp-*.zip cd babel-licensing-mcp-*
  1. Führen Sie das Einrichtungsskript aus:
chmod +x setup.sh ./setup.sh
  1. Konfigurieren Sie Ihre Umgebung:
# Edit .env file with your Babel Licensing API credentials nano .env

Windows

  1. Entpacken Sie das ZIP-Archiv und wechseln Sie in PowerShell in das Verzeichnis

  2. Erlauben Sie die Ausführung von PowerShell-Skripten (falls erforderlich):

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  1. Führen Sie das Einrichtungsskript aus:
.\setup.ps1
  1. Konfigurieren Sie Ihre Umgebung:
# Edit .env file with your Babel Licensing API credentials notepad .env

Manuelle Installation

Virtuelle Umgebung erstellen

python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate

Abhängigkeiten installieren

pip install -r requirements.txt

Umgebungsvariablen konfigurieren

cp .env.example .env # Edit .env with your actual credentials

Konfiguration

Der Server benötigt die folgenden Umgebungsvariablen (konfiguriert in .env):

# Babel Licensing API Base URL BABEL_API_BASE_URL=https://your-babel-licensing-server.com # Authentication - Use ONE of the following: # Option 1: API Key BABEL_API_KEY=your-api-key-here # Option 2: Bearer Token # BABEL_BEARER_TOKEN=your-bearer-token-here # Optional Configuration # BABEL_VERIFY_SSL=true # Set to false for self-signed certificates # BABEL_TIMEOUT=30 # Request timeout in seconds # BABEL_CONTENT_TYPE=application/json # Content type: application/json or application/toon # DEBUG=false # Enable debug logging

Konfiguration des Inhaltstyps

Der Server unterstützt zwei Inhaltstypen für API-Anfragen:

  • application/json (Standard): das übliche JSON-Format
  • application/toon: das TOON-Format für besondere Anwendungsfälle

Um das TOON-Format zu verwenden, setzen Sie die Umgebungsvariable BABEL_CONTENT_TYPE:

BABEL_CONTENT_TYPE=application/toon

Der Client setzt bei allen API-Anfragen automatisch die passenden Header Content-Type und Accept.

Verwendung

Den MCP-Server ausführen

Option 1: Den installierten Befehl verwenden

babel-licensing-mcp

Option 2: Direkte Ausführung

python src/server.py

Konfiguration mit KI-Clients

Der MCP-Server von Babel Licensing lässt sich mit jedem MCP-kompatiblen KI-Client verwenden, darunter Claude Desktop und Claude Code.

Konfiguration mit Claude Desktop

Fügen Sie Folgendes in die Konfigurationsdatei von Claude Desktop ein:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{ "mcpServers": { "babel-licensing": { "command": "/absolute/path/to/babel-licensing-mcp/venv/bin/python", "args": [ "/absolute/path/to/babel-licensing-mcp/src/server.py" ], "env": { "BABEL_API_BASE_URL": "https://your-babel-server.com", "BABEL_API_KEY": "your-api-key-here" } } } }

Beispiel mit tatsächlichen Pfaden (macOS):

{ "mcpServers": { "babel-licensing": { "command": "/Users/username/Projects/babel-licensing-mcp/venv/bin/python", "args": [ "/Users/username/Projects/babel-licensing-mcp/src/server.py" ], "env": { "BABEL_API_BASE_URL": "https://api.babel-licensing.com", "BABEL_API_KEY": "abc123def456" } } } }

Beispiel mit tatsächlichen Pfaden (Windows):

{ "mcpServers": { "babel-licensing": { "command": "C:\\Users\\username\\Projects\\babel-licensing-mcp\\venv\\Scripts\\python.exe", "args": [ "C:\\Users\\username\\Projects\\babel-licensing-mcp\\src\\server.py" ], "env": { "BABEL_API_BASE_URL": "https://api.babel-licensing.com", "BABEL_API_KEY": "abc123def456" } } } }

Hinweis: Ersetzen Sie /absolute/path/to/ durch den tatsächlichen Pfad Ihres Projektverzeichnisses. Sie finden ihn, indem Sie im Projektordner pwd (macOS/Linux) oder cd (Windows) ausführen.

Alternative: Eine .env-Datei verwenden

Statt die Umgebungsvariablen in der Konfiguration von Claude Desktop anzugeben, können Sie im Stammverzeichnis des Projekts eine Datei .env anlegen:

# Copy the example file cp .env.example .env # Edit with your credentials BABEL_API_BASE_URL=https://your-babel-server.com BABEL_API_KEY=your-api-key-here

Verwenden Sie dann eine einfachere Konfiguration für Claude Desktop:

{ "mcpServers": { "babel-licensing": { "command": "/absolute/path/to/babel-licensing-mcp/venv/bin/python", "args": [ "/absolute/path/to/babel-licensing-mcp/src/server.py" ] } } }

Nach der Konfiguration:

  1. Beenden Sie Claude Desktop vollständig und starten Sie es neu
  2. Beginnen Sie ein neues Gespräch
  3. Achten Sie auf das Werkzeugsymbol 🔨, das anzeigt, dass MCP-Server verbunden sind
  4. Fragen Sie Claude: „Auf welche Tools von Babel Licensing hast du Zugriff?“

Konfiguration mit Claude Code

Claude Code ist eine Erweiterung für VS Code, die KI-Unterstützung direkt in Ihrer Entwicklungsumgebung bietet. So verwenden Sie den MCP-Server von Babel Licensing mit Claude Code:

Schritt 1: Claude Code installieren

Installieren Sie die Erweiterung Claude Code aus dem Marketplace von VS Code:

  1. Öffnen Sie VS Code
  2. Wechseln Sie zu Extensions (Cmd+Shift+X unter macOS, Ctrl+Shift+X unter Windows/Linux)
  3. Suchen Sie nach „Claude Code“
  4. Klicken Sie auf Install

Schritt 2: MCP-Server zu den Einstellungen hinzufügen

Öffnen Sie die Einstellungen von VS Code und fügen Sie die Konfiguration des MCP-Servers hinzu:

Option A: Arbeitsbereichseinstellungen (empfohlen, wenn Sie den Server nur in einem Projekt verwenden)

Erstellen oder bearbeiten Sie .vscode/settings.json in Ihrem Arbeitsbereich:

{ "claude.mcpServers": { "babel-licensing": { "command": "/absolute/path/to/babel-licensing-mcp/venv/bin/python", "args": [ "/absolute/path/to/babel-licensing-mcp/src/server.py" ], "env": { "BABEL_API_BASE_URL": "https://licensing.example.com", "BABEL_API_KEY": "your-api-key-here" } } } }

Option B: Benutzereinstellungen (für den Zugriff aus allen Arbeitsbereichen)

  1. Öffnen Sie die Command Palette (Befehlspalette) mit Cmd+Shift+P unter macOS oder Ctrl+Shift+P unter Windows/Linux
  2. Geben Sie „Preferences: Open User Settings (JSON)“ ein
  3. Fügen Sie die Konfiguration claude.mcpServers hinzu:
{ "claude.mcpServers": { "babel-licensing": { "command": "/Users/username/Projects/babel-licensing-mcp/venv/bin/python", "args": [ "/Users/username/Projects/babel-licensing-mcp/src/server.py" ], "env": { "BABEL_API_BASE_URL": "https://licensing.example.com", "BABEL_API_KEY": "your-api-key-here" } } } }

Schritt 3: Umgebungsvariablen verwenden

Sie können in Ihrer Konfiguration auf Umgebungsvariablen verweisen:

{ "claude.mcpServers": { "babel-licensing": { "command": "/path/to/babel-licensing-mcp/venv/bin/python", "args": ["/path/to/babel-licensing-mcp/src/server.py"], "env": { "BABEL_API_BASE_URL": "${env:BABEL_URL}", "BABEL_API_KEY": "${env:BABEL_KEY}" } } } }

Setzen Sie die Umgebungsvariablen dann in Ihrer Shell, bevor Sie VS Code starten:

# macOS/Linux export BABEL_URL="https://licensing.example.com" export BABEL_KEY="your-api-key-here" code . # Windows PowerShell $env:BABEL_URL = "https://licensing.example.com" $env:BABEL_KEY = "your-api-key-here" code .

Schritt 4: Eine .env-Datei verwenden (der einfachste Weg)

Tragen Sie Ihre Anmeldedaten in die Datei .env im Verzeichnis des MCP-Servers ein und verwenden Sie dann eine minimale Konfiguration:

{ "claude.mcpServers": { "babel-licensing": { "command": "/path/to/babel-licensing-mcp/venv/bin/python", "args": ["/path/to/babel-licensing-mcp/src/server.py"] } } }

Der Server lädt die Einstellungen automatisch aus der Datei .env.

Schritt 5: Pfadbeispiele für die einzelnen Plattformen

macOS:

{ "claude.mcpServers": { "babel-licensing": { "command": "/Users/username/Projects/babel-licensing-mcp/venv/bin/python", "args": [ "/Users/username/Projects/babel-licensing-mcp/src/server.py" ] } } }

Windows:

{ "claude.mcpServers": { "babel-licensing": { "command": "C:\\Users\\username\\Projects\\babel-licensing-mcp\\venv\\Scripts\\python.exe", "args": [ "C:\\Users\\username\\Projects\\babel-licensing-mcp\\src\\server.py" ] } } }

Linux:

{ "claude.mcpServers": { "babel-licensing": { "command": "/home/username/projects/babel-licensing-mcp/venv/bin/python", "args": [ "/home/username/projects/babel-licensing-mcp/src/server.py" ] } } }

Schritt 6: Relative Pfade verwenden

Für Konfigurationen, die zu einem bestimmten Arbeitsbereich gehören, können Sie die Variablen von VS Code verwenden:

{ "claude.mcpServers": { "babel-licensing": { "command": "${workspaceFolder}/../babel-licensing-mcp/venv/bin/python", "args": [ "${workspaceFolder}/../babel-licensing-mcp/src/server.py" ], "cwd": "${workspaceFolder}/../babel-licensing-mcp" } } }

Das ist nützlich, wenn der MCP-Server in einem Verzeichnis neben Ihrem Arbeitsbereich liegt.

Schritt 7: Installation prüfen

Laden Sie VS Code nach der Konfiguration neu, um den MCP-Server zu aktivieren:

  1. Öffnen Sie die Command Palette (Cmd+Shift+P / Ctrl+Shift+P)
  2. Geben Sie „Developer: Reload Window“ ein
  3. Drücken Sie Enter

So prüfen Sie, ob der Server funktioniert:

  1. Öffnen Sie den Bereich von Claude in VS Code
  2. Beginnen Sie ein neues Gespräch
  3. Fragen Sie: „Welche Möglichkeiten für Babel Licensing hast du?“
  4. Claude sollte alle 86 verfügbaren Tools auflisten

Tipps zur Verwendung von Claude Code:

  1. Anfragen mit Kontext: Claude Code sieht Ihre aktuelle Datei und Ihren Arbeitsbereich. Sie können also bitten:

    • „Erstelle anhand dieses Codes eine Lizenz für diesen Kunden“
    • „Erzeuge einen Aufruf zur Lizenzaktivierung für das Produkt in dieser Datei“
  2. Codegenerierung: Bitten Sie Claude, Code zu erzeugen, der die API von Babel Licensing verwendet:

    • „Schreibe eine C#-Methode, die mit diesen Parametern eine Lizenz aktiviert“
    • „Erstelle ein Python-Skript, das alle aktiven Lizenzen abfragt“
  3. Hilfe direkt im Code: Markieren Sie Code und bitten Sie Claude:

    • „Prüfe, ob dieser Lizenzschlüssel gültig ist“
    • „Finde den Kunden, der zu diesem Benutzerschlüssel gehört“
  4. Vorgänge über mehrere Dateien: Claude hilft, die Lizenzierung über mehrere Dateien hinweg abzustimmen:

    • „Aktualisiere die Lizenzschlüssel in allen Konfigurationsdateien“
    • „Finde alle fest codierten Lizenzschlüssel in diesem Projekt“

Fehlerbehebung für Claude Code:

Wenn sich der MCP-Server nicht verbindet:

  1. Status der Erweiterung prüfen: Stellen Sie sicher, dass die Erweiterung Claude Code aktiviert ist
  2. Python-Pfad prüfen: Vergewissern Sie sich, dass der Pfad der virtuellen Umgebung stimmt
  3. Protokolle prüfen: Sehen Sie sich die Ausgabe von Claude Code im Bereich Output von VS Code an
  4. Fenster neu laden: Verwenden Sie nach Änderungen an der Konfiguration „Developer: Reload Window“
  5. Berechtigungen prüfen: Stellen Sie sicher, dass die ausführbare Python-Datei Ausführungsrechte hat

Einrichtung mehrerer Umgebungen:

Sie können verschiedene Umgebungen von Babel Licensing konfigurieren:

{ "claude.mcpServers": { "babel-licensing-prod": { "command": "/path/to/venv/bin/python", "args": ["/path/to/src/server.py"], "env": { "BABEL_API_BASE_URL": "https://licensing.production.com", "BABEL_API_KEY": "${env:BABEL_PROD_KEY}" } }, "babel-licensing-dev": { "command": "/path/to/venv/bin/python", "args": ["/path/to/src/server.py"], "env": { "BABEL_API_BASE_URL": "https://licensing.dev.com", "BABEL_API_KEY": "${env:BABEL_DEV_KEY}" } } } }

So wechseln Sie bei der Arbeit mit Claude zwischen der Produktions- und der Entwicklungsumgebung.

Protokollierung

Der Server protokolliert alle Vorgänge automatisch in täglichen Protokolldateien im Verzeichnis logs/:

  • Speicherort: logs/babel_licensing_YYYYMMDD.log
  • Format: Einträge mit Zeitstempel, Stufe und Modul
  • Rotation: Jeden Tag wird automatisch eine neue Datei angelegt
  • Ausgabe: Die Einträge werden in die Datei und auf die Konsole geschrieben

Beispiel einer Protokolldatei: logs/babel_licensing_20251111.log

2025-11-11 10:30:15 - server - INFO - MCP server starting... 2025-11-11 10:30:16 - server - INFO - Babel Licensing client initialized 2025-11-11 10:31:22 - server - INFO - Tool called: babel_get_customers

Verfügbare Tools

Der Server stellt 86 Tools bereit, gegliedert in die folgenden Kategorien:

Hinweis: Die Authentifizierung erfolgt automatisch über den API-Schlüssel oder das Bearer-Token, die in den Umgebungsvariablen konfiguriert sind. Tools für eine interaktive Anmeldung sind nicht erforderlich.

Lizenzvorgänge (7 Tools)

  • babel_activate_license: eine Lizenz aktivieren
  • babel_deactivate_license: eine Lizenz deaktivieren
  • babel_request_license: eine Lizenz anfordern
  • babel_release_license: eine Lizenz freigeben
  • babel_license_heartbeat: ein Lebenszeichen der Lizenz senden
  • babel_validate_license: eine Lizenz validieren
  • babel_get_license_info: Lizenzinformationen abrufen

Verwaltung

API-Schlüssel (4 Tools)

  • babel_get_api_keys: API-Schlüssel auflisten
  • babel_insert_api_key: einen neuen API-Schlüssel erstellen
  • babel_update_api_key: einen API-Schlüssel aktualisieren
  • babel_delete_api_key: einen API-Schlüssel löschen

Benutzer (7 Tools)

  • babel_get_users: Benutzer auflisten
  • babel_insert_user: einen Benutzer erstellen
  • babel_update_user: einen Benutzer aktualisieren
  • babel_delete_user: einen Benutzer löschen
  • babel_get_user_roles: die Rollen eines Benutzers abrufen
  • babel_add_user_to_roles: einen Benutzer zu Rollen hinzufügen
  • babel_remove_user_from_roles: einen Benutzer aus Rollen entfernen

Kunden (7 Tools)

  • babel_get_customers: Kunden auflisten
  • babel_insert_customer: einen Kunden erstellen
  • babel_update_customer: einen Kunden aktualisieren
  • babel_delete_customer: einen Kunden löschen
  • babel_get_customer_contacts: die Kontakte eines Kunden abrufen
  • babel_get_customer_orders: die Bestellungen eines Kunden abrufen
  • babel_get_customer_licenses: die Lizenzen eines Kunden abrufen

Produkte (15 Tools)

  • Verwaltung der Produkte (abrufen, einfügen, aktualisieren, löschen)
  • Verwaltung der Produktversionen
  • Verwaltung der Assemblys einer Version
  • Lizenzvorlagen für Versionen

Bestellungen (9 Tools)

  • Verwaltung der Bestellungen (abrufen, einfügen, aktualisieren, löschen)
  • Verwaltung der Produkte einer Bestellung
  • Abruf der Lizenzen einer Bestellung

Lizenzen (9 Tools)

  • Verwaltung der Lizenzen (abrufen, einfügen, aktualisieren, löschen)
  • Verwaltung der Lizenztoken
  • Ablaufverfolgungen der Lizenzen
  • Lizenzvorlagen

Webhooks (9 Tools)

  • Verwaltung der Webhook-Abonnements
  • Abruf der Ereignistypen
  • Test von Webhooks
  • Verwaltung der Ereignisse

Weitere Verwaltungstools

  • Assemblys (4 Tools)
  • Kontakte (4 Tools)
  • Ressourcen (4 Tools)
  • Berichte (3 Tools)
  • Protokollierung (3 Tools)
  • Einstellungen (2 Tools)
  • E-Mail (2 Tools)
  • Serverinformationen (1 Tool)

Mit der API arbeiten

Datenformat für Einfüge- und Aktualisierungsvorgänge

Wenn Sie Tools verwenden, die Ressourcen erstellen oder aktualisieren (Tools, deren Name mit babel_insert_ oder babel_update_ beginnt), verpackt der Client Ihre Daten automatisch in das Anfrageformat, das die API von Babel Licensing verlangt.

Sie müssen nur die Rohdaten angeben, das Verpacken geschieht automatisch.

Beispiele

Einen neuen Kunden erstellen:

// You provide: { "customer_data": { "name": "Acme Corporation", "email": "contact@acme.com" } } // The client automatically wraps it as: { "customer": { "name": "Acme Corporation", "email": "contact@acme.com" } }

Einen neuen Benutzer erstellen:

// You provide: { "user_data": { "userName": "johndoe", "email": "john@example.com", "password": "SecureP@ssw0rd" } } // The client automatically wraps it as: { "user": { "userName": "johndoe", "email": "john@example.com" }, "password": "SecureP@ssw0rd" }

Eine Lizenz aktualisieren:

// You provide: { "license_data": { "id": 123, "revoked": false, "description": "Updated description" } } // The client automatically wraps it as: { "license": { "id": 123, "revoked": false, "description": "Updated description" } }

Abfrageparameter

Viele GET-Endpunkte unterstützen die folgenden Abfrageparameter:

  • select: durch Kommas getrennte Liste der Feldnamen, die die Antwort enthalten soll
  • filter: Filterkriterien in .NET-Syntax (siehe „Filtersyntax“ unten)
  • include: durch Kommas getrennte Liste der verknüpften Objekte, die einbezogen werden sollen (siehe „Include-Parameter“ unten)
  • sort: Feldname, optional gefolgt von „asc“ oder „desc“
  • take: Limit der Paginierung (Seitengröße)
  • skip: Offset der Paginierung

Include-Parameter

Mit dem Parameter include rufen Sie verknüpfte Objekte in einer einzigen Anfrage ab.

WICHTIGE Regeln:

  1. Verwenden Sie Namen in PascalCase (mit großem Anfangsbuchstaben): Customer, Order, Product (NICHT customer, order, product)
  2. Einbezogene Objekte MÜSSEN auch in select stehen: Nennen Sie sie in beiden Parametern
  3. Mehrere Objekte: durch Kommas getrennt, ohne Leerzeichen

Beispiele:

// Correct - Get licenses with customer and order objects { "params": { "select": "id,licenseId,licenseType,createdAt,customerId,orderId,Customer,Order", //  Include Customer,Order here "include": "Customer,Order" //  PascalCase, no spaces } } // Wrong - lowercase names { "params": { "select": "id,licenseId,customer,order", // L Lowercase "include": "customer,order" // L Will fail } } // Wrong - missing from select { "params": { "select": "id,licenseId,licenseType", // L Missing Customer,Order "include": "Customer,Order" // Objects won't be returned! } }

Verfügbare Include-Optionen:

  • babel_get_licenses: Product, Order, Customer, Template, Licensee
  • babel_get_customers: Contacts, Orders, Licenses
  • babel_get_orders: Customer, Reseller, Products, Licenses
  • babel_get_products: Releases, Orders
  • babel_get_users: Roles, Settings, Customer
  • babel_get_api_keys: Owner
  • babel_get_all_license_tokens: License, NodeLockedLicense
  • babel_get_license_templates: Product

Filtersyntax

Die API verwendet die .NET-Filtersyntax, NICHT den OData-Standard.

Vergleichsoperatoren:

OperatorBeschreibungBeispiel
>=Größer oder gleichcreatedAt >= "2025-11-11T00:00:00"
<=Kleiner oder gleichexpireDate <= "2025-12-31T23:59:59"
>Größer alsid > 100
<Kleiner alsid < 1000
==Gleichrevoked == false
!=Ungleichstatus != "expired"

Logische Operatoren:

OperatorBeschreibungBeispiel
&&Logisches UNDrevoked == false && expireDate >= "2025-01-01"
||Logisches ODERstatus == "active" || status == "trial"
!Negation (NICHT)!revoked oder !licenseType.Contains("Trial")

Zeichenfolgenfunktionen:

FunktionBeschreibungBeispiel
Contains()Prüft, ob die Zeichenfolge eine Teilzeichenfolge enthältlicenseType.Contains("Ultimate")
StartsWith()Prüft, ob die Zeichenfolge mit einer Teilzeichenfolge beginntuserKey.StartsWith("ABC")
EndsWith()Prüft, ob die Zeichenfolge mit einer Teilzeichenfolge endetlicenseeEmail.EndsWith("@example.com")

Beispiele für komplexe Filter:

# Active licenses of Ultimate type created after Nov 11 revoked == false && licenseType.Contains("Ultimate") && createdAt >= "2025-11-11T00:00:00" # Exclude Enterprise licenses !licenseType.Contains("Enterprise") # User keys starting with ABC or XYZ userKey.StartsWith("ABC") || userKey.StartsWith("XYZ") # Expired licenses excluding trial expireDate < "2025-01-01T00:00:00" && !licenseType.Contains("Trial")

WICHTIG: Verwenden Sie KEINE OData-Syntax (eq, ne, gt, lt, and, or). Sie funktioniert nicht.

Sort-Parameter:

Der Parameter sort akzeptiert:

  • Feldname mit Richtung: createdAt desc (absteigend)
  • Feldname mit Richtung: createdAt asc (aufsteigend)
  • Nur den Feldnamen: createdAt (standardmäßig aufsteigend)

Vollständiges Beispiel:

{ "params": { "filter": "revoked == false && licenseType.Contains(\"Ultimate\") && expireDate >= \"2025-01-01T00:00:00\"", "select": "id,licenseId,userKey,expireDate,licenseType", "take": 10, "skip": 0, "sort": "createdAt desc" } }

Beispiele

Eine Lizenz aktivieren

Bitten Sie Claude:

„Aktiviere eine Lizenz mit dem Benutzerschlüssel ABC-123-DEF, dem Produktcode PROD001 und der Hardware-ID HW-12345“

Claude verwendet das Tool babel_activate_license:

{ "tool": "babel_activate_license", "arguments": { "license_data": { "userKey": "ABC-123-DEF", "productCode": "PROD001", "hardwareId": "HW-12345" } } }

Kunden abrufen

Bitten Sie Claude:

„Zeige mir die ersten 10 Kunden, die Wiederverkäufer sind, sortiert nach Firmenname“

Claude verwendet das Tool babel_get_customers:

{ "tool": "babel_get_customers", "arguments": { "params": { "filter": "isReseller == true", "take": 10, "sort": "company asc" } } }

Ein Webhook-Abonnement erstellen

Bitten Sie Claude:

„Erstelle ein Webhook-Abonnement für die Ereignisse der Lizenzaktivierung und der Lizenzdeaktivierung, das auf https://example.com/webhook  zeigt“

Claude verwendet das Tool babel_create_webhook_subscription:

{ "tool": "babel_create_webhook_subscription", "arguments": { "subscription_data": { "url": "https://example.com/webhook", "events": ["license.activated", "license.deactivated"], "isActive": true } } }

Beispiel einer komplexen Abfrage

Bitten Sie Claude:

„Zeige mir alle Ultimate-Lizenzen, die nach dem 11. November 2025 erstellt wurden und nicht widerrufen sind, mit den Details zu Kunde und Bestellung, sortiert nach Erstellungsdatum“

Claude baut eine Abfrage wie diese auf:

{ "tool": "babel_get_licenses", "arguments": { "params": { "filter": "revoked == false && licenseType.Contains(\"Ultimate\") && createdAt >= \"2025-11-11T00:00:00\"", "select": "id,licenseId,userKey,expireDate,licenseType,createdAt,Customer,Order", "include": "Customer,Order", "sort": "createdAt desc" } } }

Fehlerbehebung

Verbindungsprobleme

  1. Prüfen Sie, ob BABEL_API_BASE_URL stimmt
  2. Stellen Sie sicher, dass Ihr API-Schlüssel oder Ihr Bearer-Token gültig ist
  3. Prüfen Sie die Netzwerkverbindung zum Server von Babel Licensing
  4. Suchen Sie in den Serverprotokollen im Verzeichnis logs/ nach ausführlichen Fehlermeldungen

Probleme mit SSL-Zertifikaten

Wenn bei der Prüfung des SSL-Zertifikats Fehler auftreten (vor allem bei selbstsignierten Zertifikaten):

  1. Setzen Sie BABEL_VERIFY_SSL=false in Ihrer Datei .env oder in der Konfiguration der Umgebung
  2. Für Claude Desktop fügen Sie den Wert im Abschnitt env hinzu:
    { "mcpServers": { "babel-licensing": { "command": "/path/to/venv/bin/python", "args": ["/path/to/src/server.py"], "env": { "BABEL_API_BASE_URL": "https://your-server.com", "BABEL_API_KEY": "your-key", "BABEL_VERIFY_SSL": "false" } } } }

Sicherheitshinweis: Schalten Sie die SSL-Prüfung nur für vertrauenswürdige interne Server mit selbstsignierten Zertifikaten aus. Schalten Sie sie niemals für Produktionssysteme oder öffentliche APIs aus.

Authentifizierungsfehler

  1. Verwenden Sie nur EINE Authentifizierungsmethode (API-Schlüssel ODER Bearer-Token)
  2. Prüfen Sie, ob Ihre Anmeldedaten noch gültig sind
  3. Prüfen Sie, ob Ihr API-Schlüssel die nötigen Berechtigungen hat

Fehler bei der Ausführung von Tools

  1. Prüfen Sie das Eingabeschema des Tools, das Sie verwenden
  2. Stellen Sie sicher, dass alle erforderlichen Parameter angegeben sind
  3. Prüfen Sie, ob die Parametertypen dem Schema entsprechen
  4. Suchen Sie in der API-Antwort nach konkreten Fehlermeldungen

Token-Sättigung durch babel_get_logs

Das Tool babel_get_logs kann sehr große Datenmengen zurückgeben, vor allem mit den Feldern exception und properties. Das kann die KI-Token aufbrauchen, die im Gespräch zur Verfügung stehen.

Richtlinien für die Feldauswahl:

  • exception und properties: können sehr große Datenmengen enthalten. Verzichten Sie auf sie, wenn Sie viele Datensätze anfordern
  • messageTemplate: nicht unbedingt nötig, da es nur die Formatvorlage enthält. Der eigentliche Informationsgehalt steht in message
  • Empfohlene Felder: id, message, level, timeStamp

Bewährte Vorgehensweisen:

  1. Felder in select begrenzen: Nehmen Sie exception, properties und messageTemplate nur auf, wenn Sie sie wirklich brauchen

    # Good - excludes large/unnecessary fields { "params": { "select": "id,message,level,timeStamp", "take": 50 } } # Risky - includes large fields { "params": { "select": "id,message,level,timeStamp,exception,properties", "take": 50 # May saturate tokens } }
  2. Paginierung mit Bedacht einsetzen: Verwenden Sie mit exception oder properties kleine Werte für take (höchstens 10 bis 20 Datensätze)

  3. Vor dem Abruf filtern: Verringern Sie mit dem Parameter filter die Zahl der Datensätze, bevor Sie sie abrufen

API-Dokumentation

Ausführliche Informationen zu den Endpunkten, Parametern und Antworten der API von Babel Licensing finden Sie in der OpenAPI-Spezifikation babel-licensing-api.json, die im Paket des MCP-Servers enthalten ist.

Support

Bei Problemen oder Fragen wenden Sie sich an: support@babelfor.net

Weiterführende Informationen

Versionsverlauf

  • 0.1.0 (erste Version)
    • Vollständige Implementierung aller API-Endpunkte von Babel Licensing
    • Unterstützung für Authentifizierung, Lizenzvorgänge und Verwaltungsfunktionen
    • Umfassende Testsuite
    • Vollständige Dokumentation
Last updated on