Kontent.ai - MCP Server Seguro por ALMC Security 2025

Kontent.ai

Ver en GitHub

Servidor MCP de Kontent.ai

NPM VersionContributorsForksStargazersIssuesMIT LicenseDiscord

Transforme sus operaciones de contenido con herramientas potenciadas por IA para Kontent.ai. Cree, gestione y explore su contenido estructurado a través de conversaciones en lenguaje natural en su editor favorito habilitado para IA.

El servidor MCP de Kontent.ai implementa el protocolo de contexto de modelo para conectar sus proyectos de Kontent.ai con herramientas de IA como Claude, Cursor y VS Code. Permite que los modelos de IA entiendan la estructura de tu contenido y realicen operaciones a través de instrucciones en lenguaje natural.

✨ Características principales

  • 🚀 Creación rápida de prototipos: Transforma tus diagramas en modelos de contenido en vivo en cuestión de segundos
  • 📈 Visualización de datos: Visualiza tu modelo de contenidos en el formato que quieras

Tabla de contenidos

🔌 Inicio rápido

🔑 Requisitos previos

Antes de poder utilizar el servidor MCP, necesitas:

  1. Una cuenta de Kontent.ai - Regístrate si no tienes una cuenta.
  2. Un proyecto - Crea un proyecto con el que trabajar.
  3. ClaveAPI de gestión - Crea una clave API de gestión con los permisos adecuados.
  4. IDdeentorno - Obtén tu ID de entorno.

🛠 Opciones de configuración

Puedes ejecutar el Servidor MCP de Kontent.ai con npx:

Transporte STDIO

npx @kontent-ai/mcp-server@latest stdio

Transporte HTTP Streamable

npx @kontent-ai/mcp-server@latest shttp

🛠️ Herramientas disponibles

Contexto y configuración

  • get-initial-context - 🚨 PRIMER PASO OBLIGATORIO: Esta herramienta DEBE ser llamada antes de usar CUALQUIER otra herramienta. Proporciona directrices esenciales de contexto, configuración y funcionamiento para Kontent.ai

Gestión de tipos de contenido

  • get-type-mapi - Obtener el tipo de contenido de Kontent.ai por ID interno desde la API de gestión
  • list-content-types-mapi - Obtiene todos los tipos de contenido de Kontent.ai de la API de gestión
  • add-content-type-mapi - Añade un nuevo tipo de contenido Kontent.ai a través de la API de gestión
  • patch-content-type-mapi - Actualiza un tipo de contenido Kontent.ai existente por nombre en clave utilizando operaciones de parcheado (mover, addInto, eliminar, reemplazar)
  • delete-content-type-mapi - Elimina un tipo de contenido Kontent.ai por nombre en clave

Gestión de fragmentos de tipos de contenido

  • get-type-snippet-mapi - Obtener un fragmento de tipo de contenido de Kontent.ai por ID interno desde la API de gestión
  • list-content-type-snippets-mapi - Obtiene todos los fragmentos de tipo de contenido de Kontent.ai de la API de gestión
  • add-content-type-snippet-mapi - Añadir un nuevo fragmento de tipo de contenido de Kontent.ai a través de la API de gestión

Gestión de taxonomías

  • get-taxonomy-group-mapi - Obtener grupo de taxonomía Kontent.ai por ID interno desde la API de Gestión
  • list-taxonomy-groups-mapi - Obtiene todos los grupos taxonómicos de Kontent.ai desde la API de gestión
  • add-taxonomy-group-mapi - Añade un nuevo grupo taxonómico Kontent.ai a través de la API de Gestión

Gestión de elementos de contenido

  • get-item-mapi - Obtener un elemento Kontent.ai por ID interno desde la API de Gestión
  • get-item-dapi - Obtener un elemento Kontent.ai por nombre en clave desde la API de entrega
  • get-variant-mapi - Obtiene la variante de idioma de Kontent.ai del elemento de contenido desde la API de Gestión
  • add-content-item-mapi - Añade un nuevo elemento de contenido Kontent.ai a través de la API de gestión. Esto crea la estructura del elemento de contenido pero no añade contenido a las variantes de idioma. Utilice upsert-language-variant-mapi para añadir contenido al elemento
  • update-content-item-mapi - Actualiza un elemento de contenido Kontent.ai existente por ID interno a través de la API de gestión. El elemento de contenido debe existir ya - esta herramienta no creará nuevos elementos
  • delete-content-item-mapi - Elimina un elemento de contenido Kontent.ai por ID interno desde la API de gestión
  • upsert-language-variant-mapi - Crea o actualiza la variante de idioma Kontent.ai de un elemento de contenido a través de la API de gestión. Esto añade contenido real a los elementos del elemento de contenido. Al actualizar una variante existente, sólo se modificarán los elementos proporcionados
  • create-variant-version-mapi - Crear una nueva versión de una variante lingüística de Kontent.ai a través de la API de gestión. Esta operación crea una nueva versión de una variante lingüística existente, útil para el versionado de contenidos y la creación de nuevos borradores a partir de contenidos publicados
  • delete-language-variant-mapi - Elimina una variante de idioma de Kontent.ai desde la API de gestión
  • filter-variants-mapi - Buscar y filtrar variantes lingüísticas de Kontent.ai de elementos de contenido mediante la API de gestión

Gestión de activos

  • get-asset-mapi - Obtener un activo específico de Kontent.ai por ID interno desde la API de Gestión
  • list-assets-mapi - Obtener todos los activos de Kontent.ai desde la API de gestión

Gestión de idiomas

  • list-languages-mapi - Obtiene todos los idiomas de Kontent.ai de la API de Gestión

Gestión de flujos de trabajo

  • list-workflows-mapi - Obtiene todos los flujos de trabajo de Kontent.ai de la API de gestión. Los flujos de trabajo definen las etapas del ciclo de vida del contenido y las transiciones entre ellas
  • change-variant-workflow-step-mapi - Cambia el paso del flujo de trabajo de una variante lingüística en Kontent.ai. Esta operación mueve una variante lingüística a un paso diferente en el flujo de trabajo, lo que permite la gestión del ciclo de vida del contenido, como mover el contenido de borrador a revisión, de revisión a publicado, etc.
  • publish-variant-mapi - Publica o programa una variante lingüística de un elemento de contenido en Kontent.ai. Esta operación puede publicar inmediatamente la variante o programarla para su publicación en una fecha y hora futuras específicas con especificación opcional de la zona horaria
  • unpublish-variant-mapi - Anular o programar la anulación de la publicación de una variante lingüística de un elemento de contenido en Kontent.ai. Esta operación puede anular inmediatamente la publicación de la variante (haciendo que no esté disponible a través de la API de entrega) o programar su anulación en una fecha y hora futuras específicas con especificación opcional de zona horaria

⚙️ Configuración

El servidor admite dos modos de configuración:

Modo de inquilino único (predeterminado)

Para el modo de inquilino único, configure las variables de entorno:

VariableDescripciónRequerida
KONTENT_API_KEYTu clave de la API de gestión de Kontent.ai
KONTENT_ENVIRONMENT_IDEl identificador de tu entorno
PUERTOPuerto para el transporte HTTP (por defecto es 3001)

Modo multi-inquilino

Para el modo multiinquilino (sólo Streamable HTTP), el servidor acepta:

  • Environment ID como parámetro de ruta URL: /{environmentId}/mcp
  • API Key a través de Bearer token en la cabecera Authorization: Authorization: Bearer <api-key>

Este modo permite que una única instancia de servidor gestione las solicitudes de varios entornos de Kontent.ai de forma segura sin necesidad de variables de entorno.

🚀 Opciones de transporte

📟 Transporte STDIO

Para ejecutar el servidor con transporte STDIO, configura tu cliente MCP con:

{ "kontent-ai-stdio": { "command": "npx", "args": ["@kontent-ai/mcp-server@latest", "stdio"], "env": {"KONTENT_API_KEY": "<management-api-key>", "KONTENT_ENVIRONMENT_ID": "<environment-id>" } }

🌊 Transporte HTTP Streamable

Para el transporte HTTP Streamable, primero inicie el servidor:

npx @kontent-ai/mcp-server@latest shttp

Modo de un solo inquilino

Con variables de entorno en un archivo .env, o accesibles de otro modo al proceso:

KONTENT_API_KEY=<clave-api-gestión> KONTENT_ENVIRONMENT_ID=<id-entorno> PORT=3001 # opcional, por defecto 3001

A continuación, configure su cliente MCP:

{ "kontent-ai-http": { "url": "http://localhost:3001/mcp" } }

Modo Multi-Tenant

No se requieren variables de entorno. El servidor acepta peticiones para múltiples entornos utilizando parámetros de ruta URL y autenticación Bearer.

Configuración de VS Code

Cree un archivo .vscode/mcp.json en su espacio de trabajo:

{ "servers": { "kontent-ai-multi": { "uri": "http://localhost:3001/<environment-id>/mcp", "headers": {"Authorization": "Bearer <management-api-key>" } } }

Para una configuración segura con solicitudes de entrada:

{ "inputs": [ { "id": "apiKey", "type": "password", "description": "Kontent.ai API Key" }, { "id": "environmentId", "type": "text", "description": "Environment ID" } ], "servers": { "kontent-ai-multi": { "uri": "http://localhost:3001/${inputs.environmentId}/mcp", "headers": {"Authorization": "Bearer ${inputs.apiKey}" } } }
Configuración de Claude Desktop

Actualice el 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

Utilice mcp-remote como proxy para añadir cabeceras de autenticación:

{ "mcpServers": { "kontent-ai-multi": { "command": "npx", "args": [ "mcp-remote", "http://localhost:3001/<environment-id>/mcp", "--header", "Authorization: Bearer <management-api-key>" ] } }
Configuración de Claude Code

Para Claude Code (claude.ai/code), añada la configuración del servidor:

# Add the multi-tenant server claude mcp add \ --url "http://localhost:3001/<environment-id>/mcp" \ --header "Authorization: Bearer <management-api-key>" \ kontent-ai-multi

O configurar directamente en la configuración:

{ "kontent-ai-multi": { "url": "http://localhost:3001/<environment-id>/mcp", "headers": { "Authorization": "Bearer <management-api-key>" } }

Importante: Sustituye <environment-id> por el ID real de tu entorno Kontent.ai (formato GUID) y <management-api-key> por tu clave de la API de gestión.

💻 Desarrollo

🛠 Instalación local

# Clonar el repositorio git clone https://github.com/kontent-ai/mcp-server.git cd mcp-server # Instalar dependencias npm ci # Construir el proyecto npm run build # Arrancar el servidor npm run start:stdio # Para transporte STDIO npm run start:shttp # Para transporte Streamable HTTP # Arrancar el servidor con recarga automática (no hace falta construir primero) npm run dev:stdio # Para transporte STDIO npm run dev:shttp # Para transporte Streamable HTTP

📂 Estructura del proyecto

  • src/ - Código fuente
    • tools/ - Implementación de herramientas MCP
    • clients/ - Configuración del cliente de la API de Kontent.ai
    • schemas/ - Esquemas de validación de datos
    • utils/ - Funciones de utilidad
      • errorHandler.ts - Gestión de errores estandarizada para herramientas MCP
      • throwError.ts - Utilidad genérica para lanzar errores
    • server.ts - Configuración principal del servidor y registro de herramientas
    • bin.ts - Punto de entrada único que gestiona ambos tipos de transporte

🔍 Depuración

Para la depuración, puede utilizar el inspector MCP:

npx @modelcontextprotocol/inspector -e KONTENT_API_KEY=<key> -e KONTENT_ENVIRONMENT_ID=<env-id> node path/to/build/bin.js

O utilice el inspector MCP en un servidor HTTP fluido en ejecución:

npx @modelcontextprotocol/inspector

Esto proporciona una interfaz web para inspeccionar y probar las herramientas disponibles.

Licencia

MIT

Relacionados en Oficial 🌟 - MCP Servers Seguros

ServidorResumenAcciones
AivenUn servidor de Protocolo de Contexto de Modelo (MCP) para Aiven.Ver
HostingerServidor del Protocolo de Contexto de Modelos (MCP) para la API Hostinger.Ver
AgenteRPCVer
DataWorksVer
ChargebeeVer
GraphlitVer