Headlesshost MCP

CMS headless com foco em agentic first

Documentação

Headlesshost MCP Server

Um servidor Model Context Protocol (MCP) que fornece comunicação completa com a API da plataforma Headlesshost. Este servidor permite que assistentes de IA gerenciem sites de conteúdo, sites de staging, páginas, seções, públicos, usuários e uploads de arquivos por meio da plataforma Headlesshost.

Construído com @modelcontextprotocol/sdk v1.26 e inclui anotações de ferramentas, registro estruturado e validação de entrada via Zod.

Demonstração

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

Instalação

  1. Clone este repositório

  2. Instale as dependências:

    npm install
    
  3. Compile o servidor:

    npm run build
    

Configuração

O servidor requer uma chave de API do Headlesshost definida por meio da variável de ambiente HEADLESSHOST_API_KEY.

Uso

Com Claude Desktop

Adicione esta configuração ao arquivo de configuração do Claude Desktop:

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

Desenvolvimento local

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

Via npx

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

Com Claude Code

Adicione ao seu .claude/settings.json:

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

Com Outros Clientes MCP

Este servidor é compatível com qualquer cliente MCP, incluindo VS Code, Zed Editor, Continue.dev e implementações MCP personalizadas.

Configure seu cliente para usar:

  • Comando: node
  • Args: ["/path/to/kapiti.mcp/build/index.js"]
  • Ambiente: Defina HEADLESSHOST_API_KEY

Ferramentas (53)

Todas as ferramentas incluem anotações MCP (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) para ajudar os clientes a apresentar UI e prompts de confirmação apropriados.

Gerais (3)

FerramentaDescrição
pingTesta autenticação e conexão
healthVerifica o status de saúde da API
get_ref_dataObtém dados de referência do sistema e consultas

Gerenciamento de Usuários (4)

FerramentaDescrição
create_userCria um novo usuário na conta atual
get_userObtém detalhes do usuário por ID
update_userAtualiza informações e claims do usuário
delete_userExclui um usuário do sistema

Gerenciamento de Conta (3)

FerramentaDescrição
create_accountCria uma nova conta de usuário
get_accountObtém informações da conta atual
update_accountAtualiza informações da conta

Uploads de Arquivos (3)

FerramentaDescrição
upload_user_profile_imageEnvia uma imagem de perfil para um usuário
upload_staging_site_fileEnvia um arquivo para um site de staging
upload_staging_site_imageEnvia uma imagem para um site de staging

Sites de Conteúdo (5)

FerramentaDescrição
create_content_siteCria um novo site de conteúdo
get_content_sitesObtém todos os sites de conteúdo da conta
get_content_siteObtém detalhes do site de conteúdo por ID
update_content_siteAtualiza informações do site de conteúdo
delete_content_siteExclui um site de conteúdo

Sites de Staging (9)

FerramentaDescrição
update_staging_siteAtualiza informações do site de staging
delete_staging_siteExclui um site de staging
publish_staging_sitePublica um site de staging para colocá-lo no ar
get_staging_siteObtém detalhes do site de staging
get_staging_site_pagesObtém páginas do site de staging
get_staging_site_configurationObtém a configuração do site de staging, incluindo tipos de seção
get_staging_site_logsObtém logs de alterações desde a última publicação
get_published_sitesObtém sites publicados para um site de conteúdo
revert_staging_siteReverte um site de staging para um estado anterior
clone_staging_siteClona um site de staging

Páginas (6)

FerramentaDescrição
create_staging_site_pageCria uma nova página
get_staging_site_pageObtém detalhes da página (com seções opcionais)
update_staging_site_pageAtualiza uma página
delete_staging_site_pageExclui uma página
revert_staging_site_pageReverte uma página para um estado anterior
get_staging_site_page_logsObtém logs de alterações da página desde a última publicação

Seções (7)

FerramentaDescrição
create_staging_site_sectionCria uma nova seção em uma página
get_staging_site_sectionObtém detalhes da seção
update_staging_site_sectionAtualiza uma seção
delete_staging_site_sectionExclui uma seção
publish_staging_site_sectionPublica uma única seção
revert_staging_site_sectionReverte uma seção para um estado anterior
get_staging_site_section_logsObtém logs de alterações da seção desde a última publicação

Públicos do Site (4)

FerramentaDescrição
create_staging_site_audienceCria um público (combinação de localidade/segmento) para um site
get_staging_site_audienceObtém detalhes do público
update_staging_site_audienceAtualiza um público
delete_staging_site_audienceExclui um público (o público base não pode ser excluído)

Públicos de Seção (4)

FerramentaDescrição
create_staging_site_section_audienceCria uma substituição de público para uma seção
get_staging_site_section_audienceObtém detalhes do público da seção
update_staging_site_section_audienceAtualiza uma substituição de público da seção
delete_staging_site_section_audienceExclui uma substituição de público da seção

Analytics (4)

FerramentaDescrição
get_content_site_logsObtém os últimos 15 logs de atividade
get_content_site_hitsObtém análises diárias de acessos
get_content_site_accountsObtém contas associadas
get_content_site_claimsObtém claims do usuário atual

Recursos

O servidor fornece 2 recursos para configuração e monitoramento:

  • Configuração da API (config://api) — Endpoints disponíveis e configurações atuais
  • Status de Saúde da API (health://api) — Conectividade em tempo real e tempo de resposta

Desenvolvimento

Compile o servidor:

npm run build

Execute em modo de desenvolvimento:

npm run dev

Monitore alterações:

npm run watch

Execute o inspetor MCP para depuração:

npm run inspector

Tratamento de Erros

O servidor inclui tratamento estruturado de erros:

  • Validação de autenticação da API
  • Verificações de conectividade de rede
  • Registro estruturado via capacidade de logging do MCP (erros são enviados ao cliente)
  • Fallbacks suaves para timeouts da API

Segurança

  • Autenticação por chave de API exigida para todas as operações
  • Tratamento seguro de variáveis de ambiente
  • Validação de entrada via schemas Zod em todas as entradas das ferramentas
  • Anotações de ferramentas sinalizam operações destrutivas aos clientes