Headlesshost内容管理服务器

一个基于模型上下文协议(MCP)的服务器,提供与Headlesshost平台API的完整通信,使AI助手能够管理内容站点、临时站点、页面、部分、受众、用户和文件上传。

  • by Headlesshost
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Headlesshost/mcp-server

使用说明

无头主机MCP服务器

模型上下文协议(MCP)服务器,提供与Headleshost平台API的完整通信。该服务器使AI助手能够通过Headlesshost平台管理内容站点、暂存站点、页面、部分、受众、用户和文件上传。

建于 @modelcontextprotocol/sdk v1.26,包括工具注释、结构化日志记录和Zod输入验证。

演示

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

安装

  1. 克隆此存储库

  2. 安装依赖项:

    npm install
    
  3. 构建服务器:

    npm run build
    

配置

服务器需要通过 HEADLESSHOST_API_KEY 环境变量。

用法

使用克劳德桌面

将此配置添加到您的Claude Desktop配置文件中:

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

本地开发

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

通过npx

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

使用克劳德代码

添加到您的 .claude/settings.json:

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

与其他MCP客户端

此服务器与任何MCP客户端兼容,包括VS Code、Zed Editor、Continue.dev和自定义MCP实现。

配置您的客户端以使用:

  • 命令: node
  • 参数: ["/path/to/kapiti.mcp/build/index.js"]
  • 环境:设置 HEADLESSHOST_API_KEY

工具(53)

所有工具均包含MCP注释(readOnlyHint, destructiveHint, idempotentHint, openWorldHint)以帮助客户呈现适当的UI和确认提示。

一般(3)

工具 说明
ping 测试身份验证和连接
health 检查API运行状况
get_ref_data 获取系统参考数据和查找

用户管理(4)

工具 说明
create_user 在当前帐户中创建新用户
get_user 按ID获取用户详细信息
update_user 更新用户信息和索赔
delete_user 从系统中删除用户

账户管理(3)

工具 说明
create_account 创建新用户帐户
get_account 获取当前帐户信息
update_account 更新帐户信息

文件上传(3)

工具 说明
upload_user_profile_image 上传用户的个人资料图片
upload_staging_site_file 将文件上传到临时站点
upload_staging_site_image 将图像上传到暂存站点

内容网站(5)

工具 说明
create_content_site 创建新的内容网站
get_content_sites 获取帐户中的所有内容网站
get_content_site 按ID获取内容网站详细信息
update_content_site 更新内容站点信息
delete_content_site 删除内容网站

中转站(9)

工具 说明
update_staging_site 更新暂存站点信息
delete_staging_site 删除临时站点
publish_staging_site 发布一个临时网站以使其上线
get_staging_site 获取临时站点详细信息
get_staging_site_pages 获取临时网站页面
get_staging_site_configuration 获取包括节类型在内的临时站点配置
get_staging_site_logs 获取自上次发布以来的更改日志
get_published_sites 获取内容网站的已发布网站
revert_staging_site 将暂存站点还原到以前的状态
clone_staging_site 克隆临时站点

第(6)页

工具 说明
create_staging_site_page 创建新页面
get_staging_site_page 获取页面详细信息(含可选部分)
update_staging_site_page 更新页面
delete_staging_site_page 删除页面
revert_staging_site_page 将页面还原到以前的状态
get_staging_site_page_logs 获取自上次发布以来的页面更改日志

第(7)节

工具 说明
create_staging_site_section 在页面中创建新部分
get_staging_site_section 获取部分详细信息
update_staging_site_section 更新一个部分
delete_staging_site_section 删除一个部分
publish_staging_site_section 发布单个部分
revert_staging_site_section 将部分还原为以前的状态
get_staging_site_section_logs 获取自上次发布以来的节更改日志

现场观众(4)

工具 说明
create_staging_site_audience 为网站创建受众(区域设置/细分组合)
get_staging_site_audience 获取受众详细信息
update_staging_site_audience 更新受众
delete_staging_site_audience 删除受众(无法删除基本受众)

观众专区(4)

工具 说明
create_staging_site_section_audience 为某个部分创建受众覆盖
get_staging_site_section_audience 获取部分受众详细信息
update_staging_site_section_audience 更新部分受众覆盖
delete_staging_site_section_audience 删除部分受众覆盖

分析(4)

工具 说明
get_content_site_logs 获取最近15个活动日志
get_content_site_hits 获取每日点击量分析
get_content_site_accounts 获取关联帐户
get_content_site_claims 获取当前用户声明

资源

服务器提供2种资源用于配置和监控:

  • API配置 (config://api)--可用端点和当前设置
  • API运行状况 (health://api)--实时连接和响应时间

发展

构建服务器:

npm run build

在开发模式下运行:

npm run dev

注意变化:

npm run watch

运行MCP检查器进行调试:

npm run inspector

错误处理

服务器包括结构化错误处理:

  • API身份验证
  • 网络连接检查
  • 通过MCP日志记录功能进行结构化日志记录(错误将发送到客户端)
  • API超时的优雅回退

安全

  • 所有操作都需要API密钥验证
  • 安全的环境变量处理
  • 通过Zod模式对所有工具输入进行输入验证
  • 工具注释向客户端发出破坏性操作的信号