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
- Entpacken Sie das Archiv und wechseln Sie in das Verzeichnis:
unzip babel-licensing-mcp-*.zip
cd babel-licensing-mcp-*- Führen Sie das Einrichtungsskript aus:
chmod +x setup.sh
./setup.sh- Konfigurieren Sie Ihre Umgebung:
# Edit .env file with your Babel Licensing API credentials
nano .envWindows
-
Entpacken Sie das ZIP-Archiv und wechseln Sie in PowerShell in das Verzeichnis
-
Erlauben Sie die Ausführung von PowerShell-Skripten (falls erforderlich):
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser- Führen Sie das Einrichtungsskript aus:
.\setup.ps1- Konfigurieren Sie Ihre Umgebung:
# Edit .env file with your Babel Licensing API credentials
notepad .envManuelle Installation
Virtuelle Umgebung erstellen
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activateAbhängigkeiten installieren
pip install -r requirements.txtUmgebungsvariablen konfigurieren
cp .env.example .env
# Edit .env with your actual credentialsKonfiguration
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 loggingKonfiguration des Inhaltstyps
Der Server unterstützt zwei Inhaltstypen für API-Anfragen:
application/json(Standard): das übliche JSON-Formatapplication/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/toonDer 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-mcpOption 2: Direkte Ausführung
python src/server.pyKonfiguration 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
Empfohlene Konfiguration (direkter Pfad)
{
"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-hereVerwenden 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:
- Beenden Sie Claude Desktop vollständig und starten Sie es neu
- Beginnen Sie ein neues Gespräch
- Achten Sie auf das Werkzeugsymbol 🔨, das anzeigt, dass MCP-Server verbunden sind
- 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:
- Öffnen Sie VS Code
- Wechseln Sie zu Extensions (Cmd+Shift+X unter macOS, Ctrl+Shift+X unter Windows/Linux)
- Suchen Sie nach „Claude Code“
- 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)
- Öffnen Sie die Command Palette (Befehlspalette) mit Cmd+Shift+P unter macOS oder Ctrl+Shift+P unter Windows/Linux
- Geben Sie „Preferences: Open User Settings (JSON)“ ein
- Fügen Sie die Konfiguration
claude.mcpServershinzu:
{
"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:
- Öffnen Sie die Command Palette (Cmd+Shift+P / Ctrl+Shift+P)
- Geben Sie „Developer: Reload Window“ ein
- Drücken Sie Enter
So prüfen Sie, ob der Server funktioniert:
- Öffnen Sie den Bereich von Claude in VS Code
- Beginnen Sie ein neues Gespräch
- Fragen Sie: „Welche Möglichkeiten für Babel Licensing hast du?“
- Claude sollte alle 86 verfügbaren Tools auflisten
Tipps zur Verwendung von Claude Code:
-
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“
-
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“
-
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“
-
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:
- Status der Erweiterung prüfen: Stellen Sie sicher, dass die Erweiterung Claude Code aktiviert ist
- Python-Pfad prüfen: Vergewissern Sie sich, dass der Pfad der virtuellen Umgebung stimmt
- Protokolle prüfen: Sehen Sie sich die Ausgabe von Claude Code im Bereich Output von VS Code an
- Fenster neu laden: Verwenden Sie nach Änderungen an der Konfiguration „Developer: Reload Window“
- 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_customersVerfü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 aktivierenbabel_deactivate_license: eine Lizenz deaktivierenbabel_request_license: eine Lizenz anfordernbabel_release_license: eine Lizenz freigebenbabel_license_heartbeat: ein Lebenszeichen der Lizenz sendenbabel_validate_license: eine Lizenz validierenbabel_get_license_info: Lizenzinformationen abrufen
Verwaltung
API-Schlüssel (4 Tools)
babel_get_api_keys: API-Schlüssel auflistenbabel_insert_api_key: einen neuen API-Schlüssel erstellenbabel_update_api_key: einen API-Schlüssel aktualisierenbabel_delete_api_key: einen API-Schlüssel löschen
Benutzer (7 Tools)
babel_get_users: Benutzer auflistenbabel_insert_user: einen Benutzer erstellenbabel_update_user: einen Benutzer aktualisierenbabel_delete_user: einen Benutzer löschenbabel_get_user_roles: die Rollen eines Benutzers abrufenbabel_add_user_to_roles: einen Benutzer zu Rollen hinzufügenbabel_remove_user_from_roles: einen Benutzer aus Rollen entfernen
Kunden (7 Tools)
babel_get_customers: Kunden auflistenbabel_insert_customer: einen Kunden erstellenbabel_update_customer: einen Kunden aktualisierenbabel_delete_customer: einen Kunden löschenbabel_get_customer_contacts: die Kontakte eines Kunden abrufenbabel_get_customer_orders: die Bestellungen eines Kunden abrufenbabel_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 sollfilter: 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:
- Verwenden Sie Namen in PascalCase (mit großem Anfangsbuchstaben):
Customer,Order,Product(NICHTcustomer,order,product) - Einbezogene Objekte MÜSSEN auch in select stehen: Nennen Sie sie in beiden Parametern
- 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, Licenseebabel_get_customers: Contacts, Orders, Licensesbabel_get_orders: Customer, Reseller, Products, Licensesbabel_get_products: Releases, Ordersbabel_get_users: Roles, Settings, Customerbabel_get_api_keys: Ownerbabel_get_all_license_tokens: License, NodeLockedLicensebabel_get_license_templates: Product
Filtersyntax
Die API verwendet die .NET-Filtersyntax, NICHT den OData-Standard.
Vergleichsoperatoren:
| Operator | Beschreibung | Beispiel |
|---|---|---|
>= | Größer oder gleich | createdAt >= "2025-11-11T00:00:00" |
<= | Kleiner oder gleich | expireDate <= "2025-12-31T23:59:59" |
> | Größer als | id > 100 |
< | Kleiner als | id < 1000 |
== | Gleich | revoked == false |
!= | Ungleich | status != "expired" |
Logische Operatoren:
| Operator | Beschreibung | Beispiel |
|---|---|---|
&& | Logisches UND | revoked == false && expireDate >= "2025-01-01" |
|| | Logisches ODER | status == "active" || status == "trial" |
! | Negation (NICHT) | !revoked oder !licenseType.Contains("Trial") |
Zeichenfolgenfunktionen:
| Funktion | Beschreibung | Beispiel |
|---|---|---|
Contains() | Prüft, ob die Zeichenfolge eine Teilzeichenfolge enthält | licenseType.Contains("Ultimate") |
StartsWith() | Prüft, ob die Zeichenfolge mit einer Teilzeichenfolge beginnt | userKey.StartsWith("ABC") |
EndsWith() | Prüft, ob die Zeichenfolge mit einer Teilzeichenfolge endet | licenseeEmail.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
- Prüfen Sie, ob
BABEL_API_BASE_URLstimmt - Stellen Sie sicher, dass Ihr API-Schlüssel oder Ihr Bearer-Token gültig ist
- Prüfen Sie die Netzwerkverbindung zum Server von Babel Licensing
- 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):
- Setzen Sie
BABEL_VERIFY_SSL=falsein Ihrer Datei.envoder in der Konfiguration der Umgebung - Für Claude Desktop fügen Sie den Wert im Abschnitt
envhinzu:{ "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
- Verwenden Sie nur EINE Authentifizierungsmethode (API-Schlüssel ODER Bearer-Token)
- Prüfen Sie, ob Ihre Anmeldedaten noch gültig sind
- Prüfen Sie, ob Ihr API-Schlüssel die nötigen Berechtigungen hat
Fehler bei der Ausführung von Tools
- Prüfen Sie das Eingabeschema des Tools, das Sie verwenden
- Stellen Sie sicher, dass alle erforderlichen Parameter angegeben sind
- Prüfen Sie, ob die Parametertypen dem Schema entsprechen
- 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:
exceptionundproperties: können sehr große Datenmengen enthalten. Verzichten Sie auf sie, wenn Sie viele Datensätze anfordernmessageTemplate: nicht unbedingt nötig, da es nur die Formatvorlage enthält. Der eigentliche Informationsgehalt steht inmessage- Empfohlene Felder:
id,message,level,timeStamp
Bewährte Vorgehensweisen:
-
Felder in
selectbegrenzen: Nehmen Sieexception,propertiesundmessageTemplatenur 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 } } -
Paginierung mit Bedacht einsetzen: Verwenden Sie mit
exceptionoderpropertieskleine Werte fürtake(höchstens 10 bis 20 Datensätze) -
Vor dem Abruf filtern: Verringern Sie mit dem Parameter
filterdie 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
- Dokumentation des Model Context Protocol
- Claude Desktop
- Dokumentation von Babel Licensing
- API-Referenz von Babel Licensing
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