Servidor MCP de Babel Licensing Data Center
El servidor MCP de Babel Licensing es un servidor de Model Context Protocol (MCP) escrito en Python que expone como herramientas todas las funciones de la API de Babel Licensing. AsÃ, los asistentes de IA como Claude pueden interactuar directamente con su sistema Babel Licensing para la gestión de licencias, las operaciones con clientes, la gestión de productos y mucho más.
¿Qué es MCP?
Model Context Protocol (MCP) es un estándar abierto que permite a los asistentes de IA conectarse de forma segura a sistemas y orÃgenes de datos externos. Los servidores MCP actúan como puentes entre los modelos de IA y los sistemas de su empresa, y permiten interactuar en lenguaje natural con API, bases de datos y herramientas.
Funciones
- Cobertura completa de la API: expone como herramientas MCP los más de 90 puntos de acceso de la API de Babel Licensing
- Configuración con seguridad de tipos: configuración basada en Pydantic con validación automática
- Autenticación: admite la autenticación con clave API y con token de portador
- Rotación diaria del registro: registro automático en el directorio
logs/con rotación diaria de archivos - Conjunto completo de herramientas: incluye herramientas para:
- Autenticación y gestión de usuarios
- Operaciones con licencias (activar, desactivar, validar, solicitar, liberar)
- Gestión de clientes y contactos
- Gestión de productos y pedidos
- Plantillas y tokens de licencia
- Webhooks y gestión de eventos
- Informes y registro
- Notificaciones por correo electrónico
- Ajustes y configuración del sistema
Requisitos
- Python 3.10 o posterior
- Acceso a la API de Babel Licensing (URL base y credenciales)
- Un cliente compatible con MCP (por ejemplo, Claude Desktop)
Instalación
Inicio rápido
macOS / Linux
- Extraiga el archivo comprimido y vaya al directorio:
unzip babel-licensing-mcp-*.zip
cd babel-licensing-mcp-*- Ejecute el script de instalación:
chmod +x setup.sh
./setup.sh- Configure su entorno:
# Edit .env file with your Babel Licensing API credentials
nano .envWindows
-
Extraiga el archivo ZIP y vaya al directorio en PowerShell
-
Habilite la ejecución de scripts de PowerShell (si es necesario):
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser- Ejecute el script de instalación:
.\setup.ps1- Configure su entorno:
# Edit .env file with your Babel Licensing API credentials
notepad .envInstalación manual
Crear un entorno virtual
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activateInstalar las dependencias
pip install -r requirements.txtConfigurar las variables de entorno
cp .env.example .env
# Edit .env with your actual credentialsConfiguración
El servidor necesita las siguientes variables de entorno (configuradas en .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 loggingConfiguración del tipo de contenido
El servidor admite dos tipos de contenido para las solicitudes a la API:
application/json(predeterminado): formato JSON estándarapplication/toon: formato TOON para casos de uso especializados
Para usar el formato TOON, defina la variable de entorno BABEL_CONTENT_TYPE:
BABEL_CONTENT_TYPE=application/toonEl cliente establece automáticamente las cabeceras Content-Type y Accept adecuadas en todas las solicitudes a la API.
Uso
Ejecutar el servidor MCP
Opción 1: usar el comando instalado
babel-licensing-mcpOpción 2: ejecución directa
python src/server.pyConfiguración con clientes de IA
El servidor MCP de Babel Licensing puede usarse con cualquier cliente de IA compatible con MCP, incluidos Claude Desktop y Claude Code.
Configuración con Claude Desktop
Añada lo siguiente a su archivo de configuración 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
Configuración recomendada (ruta directa)
{
"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"
}
}
}
}Ejemplo con rutas reales (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"
}
}
}
}Ejemplo con rutas reales (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"
}
}
}
}Nota: sustituya /absolute/path/to/ por la ruta real del directorio de su proyecto. Puede averiguarla ejecutando pwd (macOS/Linux) o cd (Windows) en la carpeta del proyecto.
Alternativa: usar un archivo .env
En lugar de indicar las variables de entorno en la configuración de Claude Desktop, puede crear un archivo .env en la raÃz del proyecto:
# 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-hereA continuación, use una configuración de Claude Desktop más sencilla:
{
"mcpServers": {
"babel-licensing": {
"command": "/absolute/path/to/babel-licensing-mcp/venv/bin/python",
"args": [
"/absolute/path/to/babel-licensing-mcp/src/server.py"
]
}
}
}Después de la configuración:
- Cierre Claude Desktop por completo y vuelva a iniciarlo
- Inicie una conversación nueva
- Busque el icono de herramientas 🔨, que indica que los servidores MCP están conectados
- Pregunte a Claude: «¿A qué herramientas de Babel Licensing tienes acceso?»
Configuración con Claude Code
Claude Code es una extensión de VS Code que ofrece asistencia de IA directamente en su entorno de desarrollo. Para usar el servidor MCP de Babel Licensing con Claude Code:
Paso 1: instalar Claude Code
Instale la extensión Claude Code desde el marketplace de VS Code:
- Abra VS Code
- Vaya a Extensions, la vista de extensiones (Cmd+Shift+X en macOS, Ctrl+Shift+X en Windows/Linux)
- Busque «Claude Code»
- Haga clic en Install (instalar)
Paso 2: añadir el servidor MCP a los ajustes
Abra los ajustes de VS Code y añada la configuración del servidor MCP:
Opción A: ajustes del área de trabajo (recomendada para el uso en un proyecto concreto)
Cree o edite .vscode/settings.json en su área de trabajo:
{
"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"
}
}
}
}Opción B: ajustes de usuario (para el acceso global desde todas las áreas de trabajo)
- Abra Command Palette, la paleta de comandos (Cmd+Shift+P en macOS, Ctrl+Shift+P en Windows/Linux)
- Escriba «Preferences: Open User Settings (JSON)»
- Añada la configuración
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"
}
}
}
}Paso 3: usar variables de entorno
Puede hacer referencia a variables de entorno en su configuración:
{
"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}"
}
}
}
}A continuación, defina las variables de entorno en su shell antes de iniciar 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 .Paso 4: usar un archivo .env (el método más sencillo)
Configure el archivo .env del directorio del servidor MCP con sus credenciales y, a continuación, use una configuración mÃnima:
{
"claude.mcpServers": {
"babel-licensing": {
"command": "/path/to/babel-licensing-mcp/venv/bin/python",
"args": ["/path/to/babel-licensing-mcp/src/server.py"]
}
}
}El servidor carga automáticamente los ajustes del archivo .env.
Paso 5: ejemplos de rutas por plataforma
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"
]
}
}
}Paso 6: usar rutas relativas
Para las configuraciones propias de un área de trabajo, puede usar las 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"
}
}
}Resulta útil cuando el servidor MCP está en un directorio situado al mismo nivel que su área de trabajo.
Paso 7: comprobar la instalación
Después de la configuración, recargue VS Code para activar el servidor MCP:
- Abra Command Palette (Cmd+Shift+P / Ctrl+Shift+P)
- Escriba «Developer: Reload Window»
- Pulse Enter
Para comprobar que el servidor funciona:
- Abra el panel de Claude en VS Code
- Inicie una conversación nueva
- Pregunte: «¿Qué capacidades de Babel Licensing tienes?»
- Claude deberÃa enumerar las 86 herramientas disponibles
Sugerencias de uso de Claude Code:
-
Peticiones que tienen en cuenta el contexto: Claude Code ve el archivo actual y el área de trabajo, de modo que puede pedirle:
- «A partir de este código, crea una licencia para este cliente»
- «Genera una llamada de activación de licencia para el producto de este archivo»
-
Generación de código: pida a Claude que genere código que use la API de Babel Licensing:
- «Escribe un método de C# que active una licencia con estos parámetros»
- «Crea un script de Python que consulte todas las licencias activas»
-
Asistencia sobre el código: seleccione código y pida a Claude:
- «Comprueba si esta clave de licencia es válida»
- «Busca el cliente asociado a esta clave de usuario»
-
Operaciones con varios archivos: Claude puede ayudar a coordinar las licencias en varios archivos:
- «Actualiza las claves de licencia en todos los archivos de configuración»
- «Busca todas las claves de licencia escritas directamente en el código de este proyecto»
Solución de problemas de Claude Code:
Si el servidor MCP no se conecta:
- Compruebe el estado de la extensión: asegúrese de que la extensión Claude Code está activada
- Verifique la ruta de Python: confirme que la ruta del entorno virtual es correcta
- Consulte los registros: vea la salida de Claude Code en el panel Output (salida) de VS Code
- Recargue la ventana: use «Developer: Reload Window» después de cambiar la configuración
- Compruebe los permisos: asegúrese de que el ejecutable de Python tiene permisos de ejecución
Configuración de varios entornos:
Puede configurar distintos entornos de 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}"
}
}
}
}Asà puede alternar entre los entornos de producción y de desarrollo cuando trabaja con Claude.
Registro
El servidor registra automáticamente todas las operaciones en archivos de registro diarios del directorio logs/:
- Ubicación:
logs/babel_licensing_YYYYMMDD.log - Formato: entradas con marca de tiempo e información del nivel y del módulo
- Rotación: se crea automáticamente un archivo nuevo cada dÃa
- Salida: las entradas se escriben tanto en el archivo como en la consola
Archivo de registro de ejemplo: 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_customersHerramientas disponibles
El servidor expone 86 herramientas organizadas en las categorÃas siguientes:
Nota: la autenticación se gestiona automáticamente mediante la clave API o el token de portador configurados en las variables de entorno. No se necesitan herramientas de inicio de sesión interactivo.
Operaciones con licencias (7 herramientas)
babel_activate_license: activa una licenciababel_deactivate_license: desactiva una licenciababel_request_license: solicita una licenciababel_release_license: libera una licenciababel_license_heartbeat: envÃa la señal de actividad de la licenciababel_validate_license: valida una licenciababel_get_license_info: obtiene la información de la licencia
Gestión
Claves API (4 herramientas)
babel_get_api_keys: enumera las claves APIbabel_insert_api_key: crea una clave APIbabel_update_api_key: actualiza una clave APIbabel_delete_api_key: elimina una clave API
Usuarios (7 herramientas)
babel_get_users: enumera los usuariosbabel_insert_user: crea un usuariobabel_update_user: actualiza un usuariobabel_delete_user: elimina un usuariobabel_get_user_roles: obtiene los roles de un usuariobabel_add_user_to_roles: añade un usuario a rolesbabel_remove_user_from_roles: quita un usuario de roles
Clientes (7 herramientas)
babel_get_customers: enumera los clientesbabel_insert_customer: crea un clientebabel_update_customer: actualiza un clientebabel_delete_customer: elimina un clientebabel_get_customer_contacts: obtiene los contactos de un clientebabel_get_customer_orders: obtiene los pedidos de un clientebabel_get_customer_licenses: obtiene las licencias de un cliente
Productos (15 herramientas)
- Gestión de productos (obtener, insertar, actualizar, eliminar)
- Gestión de las versiones de los productos
- Gestión de los ensamblados de las versiones
- Plantillas de licencia de las versiones
Pedidos (9 herramientas)
- Gestión de pedidos (obtener, insertar, actualizar, eliminar)
- Gestión de los productos de los pedidos
- Obtención de las licencias de los pedidos
Licencias (9 herramientas)
- Gestión de licencias (obtener, insertar, actualizar, eliminar)
- Gestión de los tokens de licencia
- Trazas de licencia
- Plantillas de licencia
Webhooks (9 herramientas)
- Gestión de las suscripciones de webhook
- Obtención de los tipos de evento
- Prueba de webhooks
- Gestión de eventos
Otras herramientas de gestión
- Ensamblados (4 herramientas)
- Contactos (4 herramientas)
- Recursos (4 herramientas)
- Informes (3 herramientas)
- Registro (3 herramientas)
- Ajustes (2 herramientas)
- Correo electrónico (2 herramientas)
- Información del servidor (1 herramienta)
Trabajar con la API
Formato de los datos en las operaciones de inserción y actualización
Cuando se usan herramientas que crean o actualizan recursos (las que empiezan por babel_insert_ o babel_update_), el cliente envuelve automáticamente sus datos en el formato de solicitud que exige la API de Babel Licensing.
Solo tiene que proporcionar los datos en bruto: el envoltorio se aplica automáticamente.
Ejemplos
Crear un cliente nuevo:
// 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"
}
}Crear un usuario nuevo:
// 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"
}Actualizar una licencia:
// 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"
}
}Parámetros de consulta
Muchos puntos de acceso GET admiten los siguientes parámetros de consulta:
select: lista de nombres de campo, separados por comas, que se incluyen en la respuestafilter: criterios de filtrado con sintaxis de .NET (consulte «Sintaxis de los filtros» más abajo)include: lista de objetos relacionados, separados por comas, que se incluyen (consulte «Parámetro include» más abajo)sort: nombre de campo, seguido opcionalmente de «asc» o «desc»take: lÃmite de paginación (tamaño de página)skip: desplazamiento de paginación
Parámetro include
El parámetro include permite obtener objetos relacionados en una sola solicitud.
Reglas IMPORTANTES:
- Use nombres en PascalCase (con mayúscula inicial):
Customer,Order,Product(NOcustomer,order,product) - Es OBLIGATORIO añadir a select los objetos incluidos: indÃquelos en los dos parámetros
- Varios objetos: sepárelos con comas y sin espacios
Ejemplos:
// 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!
}
}Opciones de include disponibles:
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
Sintaxis de los filtros
La API usa la sintaxis de filtros de .NET, NO el estándar OData.
Operadores de comparación:
| Operador | Descripción | Ejemplo |
|---|---|---|
>= | Mayor o igual que | createdAt >= "2025-11-11T00:00:00" |
<= | Menor o igual que | expireDate <= "2025-12-31T23:59:59" |
> | Mayor que | id > 100 |
< | Menor que | id < 1000 |
== | Igual a | revoked == false |
!= | Distinto de | status != "expired" |
Operadores lógicos:
| Operador | Descripción | Ejemplo |
|---|---|---|
&& | AND lógico | revoked == false && expireDate >= "2025-01-01" |
|| | OR lógico | status == "active" || status == "trial" |
! | Negación (NOT) | !revoked o !licenseType.Contains("Trial") |
Funciones de cadena:
| Función | Descripción | Ejemplo |
|---|---|---|
Contains() | Comprueba si la cadena contiene una subcadena | licenseType.Contains("Ultimate") |
StartsWith() | Comprueba si la cadena empieza por una subcadena | userKey.StartsWith("ABC") |
EndsWith() | Comprueba si la cadena termina en una subcadena | licenseeEmail.EndsWith("@example.com") |
Ejemplos de filtros complejos:
# 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")IMPORTANTE: NO use la sintaxis de OData (eq, ne, gt, lt, and, or). Estos operadores no funcionan.
Parámetro sort:
El parámetro sort acepta:
- Nombre de campo con dirección:
createdAt desc(descendente) - Nombre de campo con dirección:
createdAt asc(ascendente) - Solo el nombre de campo:
createdAt(ascendente de forma predeterminada)
Ejemplo completo:
{
"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"
}
}Ejemplos
Activar una licencia
Pida a Claude:
«Activa una licencia con la clave de usuario ABC-123-DEF, el código de producto PROD001 y el ID de hardware HW-12345»
Claude usará la herramienta babel_activate_license:
{
"tool": "babel_activate_license",
"arguments": {
"license_data": {
"userKey": "ABC-123-DEF",
"productCode": "PROD001",
"hardwareId": "HW-12345"
}
}
}Obtener clientes
Pida a Claude:
«Muéstrame los 10 primeros clientes distribuidores, ordenados por nombre de empresa»
Claude usará la herramienta babel_get_customers:
{
"tool": "babel_get_customers",
"arguments": {
"params": {
"filter": "isReseller == true",
"take": 10,
"sort": "company asc"
}
}
}Crear una suscripción de webhook
Pida a Claude:
«Crea una suscripción de webhook para los eventos de activación y desactivación de licencias que apunte a https://example.com/webhook»Â
Claude usará la herramienta babel_create_webhook_subscription:
{
"tool": "babel_create_webhook_subscription",
"arguments": {
"subscription_data": {
"url": "https://example.com/webhook",
"events": ["license.activated", "license.deactivated"],
"isActive": true
}
}
}Ejemplo de consulta compleja
Pida a Claude:
«Muéstrame todas las licencias Ultimate creadas después del 11 de noviembre de 2025 que no estén revocadas, con los datos del cliente y del pedido, ordenadas por fecha de creación»
Claude construirá una consulta como esta:
{
"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"
}
}
}Solución de problemas
Problemas de conexión
- Compruebe que su
BABEL_API_BASE_URLes correcta - Asegúrese de que su clave API o su token de portador son válidos
- Compruebe la conectividad de red con el servidor de Babel Licensing
- Consulte los registros del servidor en el directorio
logs/para ver mensajes de error detallados
Problemas con el certificado SSL
Si aparecen errores de verificación del certificado SSL (sobre todo con certificados autofirmados):
- Defina
BABEL_VERIFY_SSL=falseen su archivo.envo en la configuración del entorno - En Claude Desktop, añádalo a la sección
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" } } } }
Nota de seguridad: desactive la verificación SSL solo en servidores internos de confianza con certificados autofirmados. No la desactive nunca en sistemas de producción ni en API públicas.
Errores de autenticación
- Asegúrese de usar UN solo método de autenticación (clave API O token de portador)
- Compruebe que sus credenciales no han vencido
- Compruebe que su clave API tiene los permisos necesarios
Errores de ejecución de herramientas
- Revise el esquema de entrada de la herramienta que está usando
- Asegúrese de proporcionar todos los parámetros obligatorios
- Compruebe que los tipos de los parámetros coinciden con el esquema
- Revise la respuesta de la API para ver los mensajes de error concretos
Saturación de tokens con babel_get_logs
La herramienta babel_get_logs puede devolver cantidades de datos muy grandes, sobre todo si se incluyen los campos exception y properties. Esto puede saturar los tokens de IA disponibles en la conversación.
Pautas para la selección de campos:
exceptionyproperties: pueden contener cantidades de datos muy grandes; evÃtelos cuando solicite muchas entradasmessageTemplate: no es estrictamente necesario, porque solo contiene la plantilla de formato; el contenido informativo está enmessage- Campos recomendados:
id,message,level,timeStamp
Prácticas recomendadas:
-
Limite los campos de
select: evite incluirexception,propertiesymessageTemplatesalvo que los necesite expresamente# 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 } } -
Use la paginación con criterio: cuando incluya
exceptionoproperties, use valores detakepequeños (de 10 a 20 entradas como máximo) -
Filtre antes de obtener los datos: use el parámetro
filterpara reducir el número de entradas antes de recuperarlas
Documentación de la API
Para obtener información detallada sobre los puntos de acceso, los parámetros y las respuestas de la API de Babel Licensing, consulte el archivo de especificación OpenAPI babel-licensing-api.json incluido en el paquete del servidor MCP.
Soporte
Si tiene problemas o preguntas, escriba a: support@babelfor.net
Recursos
- Documentación de Model Context ProtocolÂ
- Claude DesktopÂ
- Documentación de Babel Licensing
- Referencia de la API de Babel Licensing
Historial de versiones
- 0.1.0 (versión inicial)
- Implementación completa de todos los puntos de acceso de la API de Babel Licensing
- Compatibilidad con la autenticación, las operaciones con licencias y las funciones de gestión
- Conjunto de pruebas completo
- Documentación completa