Headlesshost MCP

CMS sin cabeza, primero agentivo

Documentación

Servidor Headlesshost MCP

Un servidor de Model Context Protocol (MCP) que proporciona comunicación completa con la API de la plataforma Headlesshost. Este servidor permite a los asistentes de IA gestionar sitios de contenido, sitios de staging, páginas, secciones, audiencias, usuarios y cargas de archivos a través de la plataforma Headlesshost.

Construido con @modelcontextprotocol/sdk v1.26 e incluye anotaciones de herramientas, registro estructurado y validación de entrada con Zod.

Demo

https://www.youtube.com/watch?v=xGGwcrI7gSo&feature=youtu.be

Instalación

  1. Clona este repositorio

  2. Instala las dependencias:

    npm install
    
  3. Compila el servidor:

    npm run build
    

Configuración

El servidor requiere una clave de API de Headlesshost configurada mediante la variable de entorno HEADLESSHOST_API_KEY.

Uso

Con Claude Desktop

Añade esta configuración a tu archivo de configuración de Claude Desktop:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

Desarrollo local

{
  "mcpServers": {
    "headlesshost-cms": {
      "command": "node",
      "args": ["/path/to/kapiti.mcp/build/index.js"],
      "env": {
        "HEADLESSHOST_API_KEY": "your-auth-token"
      }
    }
  }
}

Mediante npx

{
  "mcpServers": {
    "headlesshost-cms": {
      "command": "npx",
      "args": ["headlesshost-mcp-server@latest"],
      "env": {
        "HEADLESSHOST_API_KEY": "your-auth-token"
      }
    }
  }
}

Con Claude Code

Añade a tu .claude/settings.json:

{
  "mcpServers": {
    "headlesshost-cms": {
      "command": "node",
      "args": ["/path/to/kapiti.mcp/build/index.js"],
      "env": {
        "HEADLESSHOST_API_KEY": "your-auth-token"
      }
    }
  }
}

Con Otros Clientes MCP

Este servidor es compatible con cualquier cliente MCP, incluidos VS Code, Zed Editor, Continue.dev e implementaciones MCP personalizadas.

Configura tu cliente para usar:

  • Comando: node
  • Argumentos: ["/path/to/kapiti.mcp/build/index.js"]
  • Entorno: Establece HEADLESSHOST_API_KEY

Herramientas (53)

Todas las herramientas incluyen anotaciones MCP (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) para ayudar a los clientes a presentar la interfaz de usuario y los avisos de confirmación adecuados.

General (3)

HerramientaDescripción
pingPrueba la autenticación y la conexión
healthComprueba el estado de salud de la API
get_ref_dataObtén datos de referencia del sistema y búsquedas

Gestión de Usuarios (4)

HerramientaDescripción
create_userCrea un nuevo usuario en la cuenta actual
get_userObtén los detalles del usuario por ID
update_userActualiza la información y los claims del usuario
delete_userElimina un usuario del sistema

Gestión de Cuentas (3)

HerramientaDescripción
create_accountCrea una nueva cuenta de usuario
get_accountObtén la información de la cuenta actual
update_accountActualiza la información de la cuenta

Cargas de Archivos (3)

HerramientaDescripción
upload_user_profile_imageSube una imagen de perfil para un usuario
upload_staging_site_fileSube un archivo a un sitio de staging
upload_staging_site_imageSube una imagen a un sitio de staging

Sitios de Contenido (5)

HerramientaDescripción
create_content_siteCrea un nuevo sitio de contenido
get_content_sitesObtén todos los sitios de contenido de la cuenta
get_content_siteObtén los detalles del sitio de contenido por ID
update_content_siteActualiza la información del sitio de contenido
delete_content_siteElimina un sitio de contenido

Sitios de Staging (9)

HerramientaDescripción
update_staging_siteActualiza la información del sitio de staging
delete_staging_siteElimina un sitio de staging
publish_staging_sitePublica un sitio de staging para ponerlo en producción
get_staging_siteObtén los detalles del sitio de staging
get_staging_site_pagesObtén las páginas del sitio de staging
get_staging_site_configurationObtén la configuración del sitio de staging, incluidos los tipos de sección
get_staging_site_logsObtén los registros de cambios desde la última publicación
get_published_sitesObtén los sitios publicados de un sitio de contenido
revert_staging_siteRevierte un sitio de staging a un estado anterior
clone_staging_siteClona un sitio de staging

Páginas (6)

HerramientaDescripción
create_staging_site_pageCrea una nueva página
get_staging_site_pageObtén los detalles de la página (con secciones opcionales)
update_staging_site_pageActualiza una página
delete_staging_site_pageElimina una página
revert_staging_site_pageRevierte una página a un estado anterior
get_staging_site_page_logsObtén los registros de cambios de la página desde la última publicación

Secciones (7)

HerramientaDescripción
create_staging_site_sectionCrea una nueva sección en una página
get_staging_site_sectionObtén los detalles de la sección
update_staging_site_sectionActualiza una sección
delete_staging_site_sectionElimina una sección
publish_staging_site_sectionPublica una sola sección
revert_staging_site_sectionRevierte una sección a un estado anterior
get_staging_site_section_logsObtén los registros de cambios de la sección desde la última publicación

Audiencias de Sitio (4)

HerramientaDescripción
create_staging_site_audienceCrea una audiencia (combinación de idioma/segmento) para un sitio
get_staging_site_audienceObtén los detalles de la audiencia
update_staging_site_audienceActualiza una audiencia
delete_staging_site_audienceElimina una audiencia (la audiencia base no se puede eliminar)

Audiencias de Sección (4)

HerramientaDescripción
create_staging_site_section_audienceCrea una anulación de audiencia para una sección
get_staging_site_section_audienceObtén los detalles de la audiencia de la sección
update_staging_site_section_audienceActualiza una anulación de audiencia de sección
delete_staging_site_section_audienceElimina una anulación de audiencia de sección

Analíticas (4)

HerramientaDescripción
get_content_site_logsObtén los últimos 15 registros de actividad
get_content_site_hitsObtén las analíticas de visitas diarias
get_content_site_accountsObtén las cuentas asociadas
get_content_site_claimsObtén los claims del usuario actual

Recursos

El servidor proporciona 2 recursos para configuración y monitoreo:

  • Configuración de la API (config://api) — Endpoints disponibles y configuración actual
  • Estado de salud de la API (health://api) — Conectividad en tiempo real y tiempo de respuesta

Desarrollo

Compila el servidor:

npm run build

Ejecuta en modo de desarrollo:

npm run dev

Observa los cambios:

npm run watch

Ejecuta el inspector MCP para depuración:

npm run inspector

Manejo de Errores

El servidor incluye manejo estructurado de errores:

  • Validación de autenticación de la API
  • Comprobaciones de conectividad de red
  • Registro estructurado mediante la capacidad de registro de MCP (los errores se envían al cliente)
  • Alternativas elegantes para tiempos de espera de la API

Seguridad

  • Autenticación con clave de API requerida para todas las operaciones
  • Manejo seguro de variables de entorno
  • Validación de entrada mediante esquemas Zod en todas las entradas de herramientas
  • Las anotaciones de herramientas señalan operaciones destructivas a los clientes