Skip to Content
Nouvelle version 12 disponible 🎉

Serveur MCP Babel Licensing Data Center

Le serveur MCP Babel Licensing est un serveur Model Context Protocol  (MCP) écrit en Python qui expose toutes les fonctions de l’API Babel Licensing sous forme d’outils. Des assistants IA tels que Claude peuvent ainsi interagir directement avec votre système Babel Licensing pour la gestion des licences, les opérations sur les clients, la gestion des produits et d’autres tâches.

Qu’est-ce que MCP ?

Le Model Context Protocol (MCP) est un standard ouvert qui permet aux assistants IA de se connecter de manière sécurisée à des systèmes et à des sources de données externes. Les serveurs MCP font le lien entre les modèles d’IA et vos systèmes métier, et permettent d’interagir en langage naturel avec des API, des bases de données et des outils.

Fonctionnalités

  • Couverture complète de l’API : expose sous forme d’outils MCP tous les points de terminaison de l’API Babel Licensing (plus de 90)
  • Configuration typée : configuration basée sur Pydantic, avec validation automatique
  • Prise en charge de l’authentification : authentification par clé API ou par jeton du porteur (bearer token)
  • Rotation quotidienne des journaux : journalisation automatique dans le répertoire logs/, avec un nouveau fichier chaque jour
  • Jeu d’outils complet : comprend des outils pour :
    • L’authentification et la gestion des utilisateurs
    • Les opérations sur les licences (activer, désactiver, valider, demander, libérer)
    • La gestion des clients et des contacts
    • La gestion des produits et des commandes
    • Les modèles de licence et les jetons
    • Les webhooks et la gestion des événements
    • Les rapports et la journalisation
    • Les notifications par e-mail
    • Les paramètres et la configuration du système

Configuration requise

  • Python 3.10 ou version ultérieure
  • Un accès à l’API Babel Licensing (URL de base et identifiants)
  • Un client compatible MCP (par exemple Claude Desktop)

Installation

Démarrage rapide

macOS / Linux

  1. Extrayez l’archive et placez-vous dans le répertoire :
unzip babel-licensing-mcp-*.zip cd babel-licensing-mcp-*
  1. Exécutez le script d’installation :
chmod +x setup.sh ./setup.sh
  1. Configurez votre environnement :
# Edit .env file with your Babel Licensing API credentials nano .env

Windows

  1. Extrayez l’archive ZIP et placez-vous dans le répertoire avec PowerShell

  2. Autorisez l’exécution des scripts PowerShell (si nécessaire) :

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  1. Exécutez le script d’installation :
.\setup.ps1
  1. Configurez votre environnement :
# Edit .env file with your Babel Licensing API credentials notepad .env

Installation manuelle

Créer un environnement virtuel

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

Installer les dépendances

pip install -r requirements.txt

Configurer les variables d’environnement

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

Configuration

Le serveur a besoin des variables d’environnement suivantes (configurées dans .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

Configuration du type de contenu

Le serveur prend en charge deux types de contenu pour les requêtes d’API :

  • application/json (par défaut) : format JSON standard
  • application/toon : format TOON pour des cas d’utilisation spécialisés

Pour utiliser le format TOON, définissez la variable d’environnement BABEL_CONTENT_TYPE :

BABEL_CONTENT_TYPE=application/toon

Le client définit automatiquement les en-têtes Content-Type et Accept appropriés pour toutes les requêtes d’API.

Utilisation

Exécuter le serveur MCP

Option 1 : utiliser la commande installée

babel-licensing-mcp

Option 2 : exécution directe

python src/server.py

Configurer les clients IA

Le serveur MCP Babel Licensing peut être utilisé avec tout client IA compatible MCP, notamment Claude Desktop et Claude Code.

Configurer Claude Desktop

Ajoutez ce qui suit au fichier de configuration de Claude Desktop :

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" } } } }

Exemple avec des chemins réels (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" } } } }

Exemple avec des chemins réels (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" } } } }

Remarque : remplacez /absolute/path/to/ par le chemin réel du répertoire de votre projet. Pour le connaître, exécutez pwd (macOS/Linux) ou cd (Windows) dans le dossier du projet.

Autre possibilité : utiliser un fichier .env

Au lieu d’indiquer les variables d’environnement dans la configuration de Claude Desktop, vous pouvez créer un fichier .env à la racine du projet :

# 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

Utilisez ensuite une configuration Claude Desktop plus simple :

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

Après la configuration :

  1. Quittez complètement Claude Desktop, puis redémarrez-le
  2. Démarrez une nouvelle conversation
  3. Repérez l’icône d’outils 🔨, qui indique que des serveurs MCP sont connectés
  4. Demandez à Claude : « À quels outils Babel Licensing avez-vous accès ? »

Configurer Claude Code

Claude Code est une extension de VS Code qui apporte l’assistance de l’IA directement dans votre environnement de développement. Pour utiliser le serveur MCP Babel Licensing avec Claude Code :

Étape 1 : installer Claude Code

Installez l’extension Claude Code depuis la marketplace de VS Code :

  1. Ouvrez VS Code
  2. Accédez à Extensions (Cmd+Shift+X sous macOS, Ctrl+Shift+X sous Windows/Linux)
  3. Recherchez « Claude Code »
  4. Cliquez sur Install

Étape 2 : ajouter le serveur MCP aux paramètres

Ouvrez les paramètres de VS Code et ajoutez la configuration du serveur MCP :

Option A : paramètres de l’espace de travail (recommandé pour une utilisation propre à un projet)

Créez ou modifiez .vscode/settings.json dans votre espace de travail :

{ "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 : paramètres utilisateur (pour un accès global dans tous les espaces de travail)

  1. Ouvrez la palette de commandes (Cmd+Shift+P sous macOS, Ctrl+Shift+P sous Windows/Linux)
  2. Saisissez « Preferences: Open User Settings (JSON) »
  3. Ajoutez la configuration claude.mcpServers :
{ "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" } } } }

Étape 3 : utiliser des variables d’environnement

Vous pouvez faire référence à des variables d’environnement dans votre configuration :

{ "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}" } } } }

Définissez ensuite les variables d’environnement dans votre shell avant de démarrer VS Code :

# 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 .

Étape 4 : utiliser un fichier .env (l’approche la plus simple)

Configurez le fichier .env du répertoire du serveur MCP avec vos identifiants, puis utilisez une configuration minimale :

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

Le serveur charge automatiquement les paramètres depuis le fichier .env.

Étape 5 : exemples de chemins selon la plateforme

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" ] } } }

Étape 6 : utiliser des chemins relatifs

Pour les configurations propres à un espace de travail, vous pouvez utiliser les variables de VS Code :

{ "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" } } }

C’est utile lorsque le serveur MCP se trouve dans un répertoire voisin de celui de votre espace de travail.

Étape 7 : vérifier l’installation

Après la configuration, rechargez VS Code pour activer le serveur MCP :

  1. Ouvrez la palette de commandes (Cmd+Shift+P / Ctrl+Shift+P)
  2. Saisissez « Developer: Reload Window »
  3. Appuyez sur Enter

Pour vérifier que le serveur fonctionne :

  1. Ouvrez le panneau Claude dans VS Code
  2. Démarrez une nouvelle conversation
  3. Demandez : « De quelles fonctionnalités Babel Licensing disposez-vous ? »
  4. Claude doit répertorier les 86 outils disponibles

Conseils d’utilisation de Claude Code :

  1. Demandes tenant compte du contexte : Claude Code voit votre fichier en cours et votre espace de travail, vous pouvez donc demander :

    • « À partir de ce code, créez une licence pour ce client »
    • « Générez un appel d’activation de licence pour le produit de ce fichier »
  2. Génération de code : demandez à Claude de générer du code qui utilise l’API Babel Licensing :

    • « Écrivez une méthode C# qui active une licence avec ces paramètres »
    • « Créez un script Python qui interroge toutes les licences actives »
  3. Assistance dans l’éditeur : sélectionnez du code et demandez à Claude :

    • « Vérifiez si cette clé de licence est valide »
    • « Trouvez le client associé à cette clé utilisateur »
  4. Opérations sur plusieurs fichiers : Claude peut vous aider à coordonner la gestion des licences dans plusieurs fichiers :

    • « Mettez à jour les clés de licence dans tous les fichiers de configuration »
    • « Trouvez toutes les clés de licence codées en dur dans ce projet »

Dépannage de Claude Code :

Si le serveur MCP ne se connecte pas :

  1. Vérifier l’état de l’extension : assurez-vous que l’extension Claude Code est activée
  2. Vérifier le chemin de Python : confirmez que le chemin de l’environnement virtuel est correct
  3. Consulter les journaux : affichez la sortie de Claude Code dans le panneau Output de VS Code
  4. Recharger la fenêtre : utilisez « Developer: Reload Window » après toute modification de la configuration
  5. Vérifier les autorisations : assurez-vous que l’exécutable Python dispose des autorisations d’exécution

Configuration de plusieurs environnements :

Vous pouvez configurer différents environnements Babel Licensing :

{ "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}" } } } }

Vous pouvez ainsi passer de l’environnement de production à l’environnement de développement lorsque vous travaillez avec Claude.

Journalisation

Le serveur consigne automatiquement toutes les opérations dans des fichiers journaux quotidiens, dans le répertoire logs/ :

  • Emplacement : logs/babel_licensing_YYYYMMDD.log
  • Format : entrées horodatées, avec le niveau et le module
  • Rotation : un nouveau fichier est créé automatiquement chaque jour
  • Sortie : les journaux sont écrits à la fois dans le fichier et sur la console

Exemple de fichier journal : 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

Outils disponibles

Le serveur expose 86 outils répartis dans les catégories suivantes :

Remarque : l’authentification est gérée automatiquement au moyen de la clé API ou du jeton du porteur configurés dans les variables d’environnement. Les outils de connexion interactive ne sont pas nécessaires.

Opérations de licence (7 outils)

  • babel_activate_license : activer une licence
  • babel_deactivate_license : désactiver une licence
  • babel_request_license : demander une licence
  • babel_release_license : libérer une licence
  • babel_license_heartbeat : envoyer le signal de présence d’une licence
  • babel_validate_license : valider une licence
  • babel_get_license_info : obtenir les informations d’une licence

Gestion

Clés API (4 outils)

  • babel_get_api_keys : lister les clés API
  • babel_insert_api_key : créer une clé API
  • babel_update_api_key : mettre à jour une clé API
  • babel_delete_api_key : supprimer une clé API

Utilisateurs (7 outils)

  • babel_get_users : lister les utilisateurs
  • babel_insert_user : créer un utilisateur
  • babel_update_user : mettre à jour un utilisateur
  • babel_delete_user : supprimer un utilisateur
  • babel_get_user_roles : obtenir les rôles d’un utilisateur
  • babel_add_user_to_roles : ajouter un utilisateur à des rôles
  • babel_remove_user_from_roles : retirer un utilisateur de rôles

Clients (7 outils)

  • babel_get_customers : lister les clients
  • babel_insert_customer : créer un client
  • babel_update_customer : mettre à jour un client
  • babel_delete_customer : supprimer un client
  • babel_get_customer_contacts : obtenir les contacts d’un client
  • babel_get_customer_orders : obtenir les commandes d’un client
  • babel_get_customer_licenses : obtenir les licences d’un client

Produits (15 outils)

  • Gestion des produits (get, insert, update, delete)
  • Gestion des versions des produits
  • Gestion des assemblies des versions
  • Modèles de licence des versions

Commandes (9 outils)

  • Gestion des commandes (get, insert, update, delete)
  • Gestion des produits des commandes
  • Récupération des licences des commandes

Licences (9 outils)

  • Gestion des licences (get, insert, update, delete)
  • Gestion des jetons de licence
  • Traces de licence
  • Modèles de licence

Webhooks (9 outils)

  • Gestion des abonnements webhook
  • Récupération des types d’événements
  • Test des webhooks
  • Gestion des événements

Autres outils de gestion

  • Assemblies (4 outils)
  • Contacts (4 outils)
  • Ressources (4 outils)
  • Rapports (3 outils)
  • Journalisation (3 outils)
  • Paramètres (2 outils)
  • E-mail (2 outils)
  • Informations sur le serveur (1 outil)

Travailler avec l’API

Format des données pour les opérations d’insertion et de mise à jour

Lorsque vous utilisez des outils qui créent ou mettent à jour des ressources (ceux dont le nom commence par babel_insert_ ou babel_update_), le client encapsule automatiquement vos données dans le format de requête qu’exige l’API Babel Licensing.

Il vous suffit de fournir les données brutes : l’encapsulation est gérée automatiquement.

Exemples

Créer un client :

// 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" } }

Créer un utilisateur :

// 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" }

Mettre à jour une licence :

// 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" } }

Paramètres de requête

De nombreux points de terminaison GET prennent en charge les paramètres de requête suivants :

  • select : liste des noms de champs à inclure dans la réponse, séparés par des virgules
  • filter : critères de filtrage dans la syntaxe .NET (voir Syntaxe des filtres ci-dessous)
  • include : liste des objets liés à inclure, séparés par des virgules (voir Paramètre include ci-dessous)
  • sort : nom de champ, suivi éventuellement de « asc » ou de « desc »
  • take : limite de pagination (taille de page)
  • skip : décalage de pagination

Paramètre include

Le paramètre include vous permet de récupérer des objets liés en une seule requête.

Règles importantes :

  1. Utilisez des noms en PascalCase (avec une majuscule initiale) : Customer, Order, Product (et non customer, order, product)
  2. Ajoutez obligatoirement les objets inclus à select : indiquez-les dans les deux paramètres
  3. Plusieurs objets : séparez-les par une virgule, sans espace

Exemples :

// 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! } }

Options d’inclusion disponibles :

  • 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

Syntaxe des filtres

L’API utilise la syntaxe de filtre .NET, et non le standard OData.

Opérateurs de comparaison :

OpérateurDescriptionExemple
>=Supérieur ou égalcreatedAt >= "2025-11-11T00:00:00"
<=Inférieur ou égalexpireDate <= "2025-12-31T23:59:59"
>Supérieurid > 100
<Inférieurid < 1000
==Égalrevoked == false
!=Différentstatus != "expired"

Opérateurs logiques :

OpérateurDescriptionExemple
&&ET logiquerevoked == false && expireDate >= "2025-01-01"
||OU logiquestatus == "active" || status == "trial"
!Négation (NON)!revoked ou !licenseType.Contains("Trial")

Fonctions de chaîne :

FonctionDescriptionExemple
Contains()Vérifie si la chaîne contient une sous-chaînelicenseType.Contains("Ultimate")
StartsWith()Vérifie si la chaîne commence par une sous-chaîneuserKey.StartsWith("ABC")
EndsWith()Vérifie si la chaîne se termine par une sous-chaînelicenseeEmail.EndsWith("@example.com")

Exemples de filtres complexes :

# 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")

Important : n’utilisez pas la syntaxe OData (eq, ne, gt, lt, and, or). Ces opérateurs ne fonctionnent pas.

Paramètre sort :

Le paramètre sort accepte :

  • Un nom de champ avec un sens de tri : createdAt desc (décroissant)
  • Un nom de champ avec un sens de tri : createdAt asc (croissant)
  • Un nom de champ seul : createdAt (croissant par défaut)

Exemple complet :

{ "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" } }

Exemples

Activer une licence

Demandez à Claude :

« Activez une licence avec la clé utilisateur ABC-123-DEF, le code produit PROD001 et l’identifiant matériel HW-12345 »

Claude utilise l’outil babel_activate_license :

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

Obtenir des clients

Demandez à Claude :

« Affichez les 10 premiers clients revendeurs, triés par nom de société »

Claude utilise l’outil babel_get_customers :

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

Créer un abonnement webhook

Demandez à Claude :

« Créez un abonnement webhook pour les événements d’activation et de désactivation de licence, qui pointe vers https://example.com/webhook  »

Claude utilise l’outil babel_create_webhook_subscription :

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

Exemple de requête complexe

Demandez à Claude :

« Affichez toutes les licences Ultimate créées après le 11 novembre 2025 et non révoquées, avec les détails du client et de la commande, triées par date de création »

Claude construit une requête de ce type :

{ "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" } } }

Dépannage

Problèmes de connexion

  1. Vérifiez que votre BABEL_API_BASE_URL est correcte
  2. Assurez-vous que votre clé API ou votre jeton du porteur est valide
  3. Vérifiez la connectivité réseau vers le serveur Babel Licensing
  4. Consultez les journaux du serveur dans le répertoire logs/ pour obtenir des messages d’erreur détaillés

Problèmes de certificat SSL

Si vous rencontrez des erreurs de vérification du certificat SSL (en particulier avec des certificats auto-signés) :

  1. Définissez BABEL_VERIFY_SSL=false dans votre fichier .env ou dans la configuration de l’environnement
  2. Pour Claude Desktop, ajoutez cette variable à la section env :
    { "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" } } } }

Remarque de sécurité : ne désactivez la vérification SSL que pour des serveurs internes approuvés qui utilisent des certificats auto-signés. Ne la désactivez jamais pour des systèmes de production ou des API publiques.

Erreurs d’authentification

  1. Assurez-vous de n’utiliser qu’une seule méthode d’authentification (clé API ou jeton du porteur)
  2. Vérifiez que vos identifiants n’ont pas expiré
  3. Vérifiez que votre clé API dispose des autorisations nécessaires

Erreurs d’exécution des outils

  1. Vérifiez le schéma d’entrée de l’outil que vous utilisez
  2. Assurez-vous que tous les paramètres obligatoires sont fournis
  3. Vérifiez que les types des paramètres correspondent au schéma
  4. Examinez la réponse de l’API pour y trouver des messages d’erreur précis

Saturation des jetons avec babel_get_logs

L’outil babel_get_logs peut renvoyer de très grandes quantités de données, surtout si vous incluez les champs exception et properties. Cela peut saturer les jetons dont l’IA dispose dans la conversation.

Conseils pour la sélection des champs :

  • exception et properties : peuvent contenir de très grandes quantités de données ; évitez-les lorsque vous demandez de nombreux enregistrements
  • messageTemplate : pas strictement nécessaire, car il ne contient que le modèle de mise en forme ; le contenu réellement informatif se trouve dans message
  • Champs recommandés : id, message, level, timeStamp

Bonnes pratiques :

  1. Limitez les champs dans select : évitez d’inclure exception, properties et messageTemplate, sauf besoin précis

    # 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. Utilisez la pagination à bon escient : lorsque vous incluez exception ou properties, utilisez de petites valeurs de take (de 10 à 20 enregistrements au maximum)

  3. Filtrez avant de récupérer : utilisez le paramètre filter pour réduire le nombre d’enregistrements avant de les récupérer

Documentation de l’API

Pour des informations détaillées sur les points de terminaison, les paramètres et les réponses de l’API Babel Licensing, reportez-vous au fichier de spécification OpenAPI babel-licensing-api.json inclus dans le paquet du serveur MCP.

Assistance

Pour tout problème ou toute question, écrivez à support@babelfor.net

Ressources

Historique des versions

  • 0.1.0 (version initiale)
    • Implémentation complète de tous les points de terminaison de l’API Babel Licensing
    • Prise en charge de l’authentification, des opérations de licence et des fonctions de gestion
    • Suite de tests complète
    • Documentation complète
Last updated on