HTTP服务器工具

一个为Contentstack MCP提供HTTP传输封装的服务器,支持远程访问和水平扩展。

  • by 1237889321
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 1237889321/contentstack-mcp-streamable

使用说明

Contentstack MCP流式HTTP服务器

失望:Contentstack将很快构建一个可流式传输的http服务器

一个流式HTTP传输包装器 @内容堆栈/mcp 包裹。此服务器通过HTTP而不是stdio公开所有Contentstack MCP工具,实现远程访问、水平扩展以及与基于浏览器和网络的MCP客户端的集成。

运作原理

此服务器充当透明代理:

  1. 生成物 @contentstack/mcp 作为通过stdio进行通信的子进程
  2. 从子进程中发现所有可用工具
  3. 通过可流式HTTP传输在单个服务器上公开它们 /mcp 端点
  4. 将工具调用从HTTP客户端转发到底层Contentstack MCP服务器

所有工具来自 @contentstack/mcp 可用的工具包括CMA、CDA、Analytics、BrandKit、Launch、DeveloperHub、Lytics和Personalize。

先决条件

  • Node.js 18+
  • 具有适当凭据的Contentstack帐户
  • OAuth身份验证已完成(适用于CMA、Analytics、BrandKit、Launch、DeveloperHub、Personalize)

设置

1.安装依赖项

npm install

2.配置环境变量

复制示例env文件并填写您的凭据:

cp .env.example .env

编辑 .env 使用您的Contentstack凭据:

CONTENTSTACK_API_KEY=your_stack_api_key
GROUPS=cma

看 环境变量 查看完整列表。

3.使用OAuth进行身份验证

在使用CMA、Analytics、BrandKit、Launch、DeveloperHub或Personalize工具之前,请运行OAuth流:

npm run auth

这将在本地存储您的OAuth令牌,供子进程使用。

4.构建和运行

npm run build
npm start

对于自动重新加载的开发:

npm run dev

默认情况下,服务器在端口3000上启动。

连接客户端

配置您的MCP客户端以通过Streamable HTTP连接。示例 mcp-config.json:

{
  "mcpServers": {
    "contentstack": {
      "type": "streamable-http",
      "url": "http://localhost:3000/mcp"
    }
  }
}

Cursor IDE

添加到光标MCP设置(.cursor/mcp.json):

{
  "mcpServers": {
    "contentstack": {
      "type": "streamable-http",
      "url": "http://localhost:3000/mcp"
    }
  }
}

环境变量

变量 必填 描述
PORT 无 服务器端口(默认值: 3000)
CONTENTSTACK_API_KEY 是 您的堆栈API密钥
CONTENTSTACK_DELIVERY_TOKEN 仅限CDA 内容传递API的传递令牌
CONTENTSTACK_BRAND_KIT_ID 仅限BrandKit 品牌套件ID
CONTENTSTACK_LAUNCH_PROJECT_ID 仅启动 启动项目ID
CONTENTSTACK_PERSONALIZE_PROJECT_ID 仅个性化 个性化项目ID
LYTICS_ACCESS_TOKEN 仅限Lytics Lytics访问令牌
GROUPS 没有 要启用的逗号分隔API组(默认值: cma).选项: cma, cda, analytics, brandkit, launch, developerhub, lytics, personalize, all

API组

组 身份验证 所需配置
注册管理会计师 OAuth 堆栈API密钥
临床文档架构 基于令牌 堆栈API密钥+传递令牌
分析 OAuth 堆栈API密钥
BrandKit OAuth Stack API密钥+品牌工具包ID
发射 OAuth 堆栈API密钥+启动项目ID
开发者专区 OAuth 堆栈API密钥
Lytics 基于令牌 Lytics访问令牌
个性化 OAuth 堆栈API密钥+个性化项目ID

端点

方法 路径 描述
POST /mcp MCP JSON-RPC请求(初始化、工具调用)
GET /mcp 服务器到客户端通知的SSE流
DELETE /mcp 会话终止
GET /health 使用工具计数和活动会话进行健康检查

许可证

麻省理工学院