项目简介

microCMS MCP Server 是一个实现了 Model Context Protocol (MCP) 协议的服务器,专门用于桥接 microCMS 内容管理系统和 LLM(大型语言模型)客户端。通过此服务器,LLM 可以利用 MCP 协议的标准接口,便捷地访问存储在 microCMS 中的内容资源,实现内容搜索和特定内容的获取,从而增强 LLM 应用的上下文感知能力。

主要功能点

  • 内容搜索工具 (SearchMicroCMS): 允许 LLM 客户端根据关键词在指定的 microCMS 端点中搜索内容,并支持分页、字段筛选、排序和过滤等高级搜索选项。
  • 内容获取工具 (GetMicroCMSContent): 允许 LLM 客户端通过内容 ID 从指定的 microCMS 端点获取特定内容,并支持指定返回字段和扩展引用的深度。
  • MCP 协议兼容: 完全遵循 Model Context Protocol 协议,确保与任何兼容 MCP 协议的 LLM 客户端无缝对接。
  • 基于 Stdio 传输: 使用标准输入输出 (stdio) 作为 MCP 服务器的传输协议,简化部署和集成。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/SpringMT/microcms-mcp-server.git
    cd microcms-mcp-server
  2. 安装依赖:

    npm install
  3. 构建项目:

    npm run build

    构建完成后,会在 'build' 目录下生成服务器的可执行文件 'index.js'。

服务器配置

为了让 MCP 客户端能够连接到 microCMS MCP Server,您需要在客户端的 MCP 服务器配置中添加以下信息。请根据您的实际环境填写 'command', 'args', 和 'env' 字段。

{
  "mcpServers": {
    "microcms": {
      "command": "node",
      "args": [
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/build/index.js"
      ],
      "env": {
        "MICROCMS_API_KEY": "",  // 您的 microCMS API 密钥 (必需)
        "MICROCMS_SERVICE_DOMAIN": "", // 您的 microCMS 服务域名 (必需)
        "MICROCMS_ENDPOINT": "" // 您要访问的 microCMS 端点名称,例如 "blogs" (必需)
      }
    }
  }
}

配置参数说明:

  • 'server name': 'microcms' (服务器名称,客户端用此名称引用)
  • 'command': 'node' (运行服务器的命令,这里使用 Node.js)
  • 'args': '["/ABSOLUTE/PATH/TO/PARENT/FOLDER/build/index.js"]' (启动服务器的参数,指向构建后的 'index.js' 文件绝对路径。请替换为实际的路径)
  • 'env': 环境变量配置,包含连接 microCMS 所需的认证信息和端点信息。
    • 'MICROCMS_API_KEY': 您的 microCMS API 密钥。
    • 'MICROCMS_SERVICE_DOMAIN': 您的 microCMS 服务域名。
    • 'MICROCMS_ENDPOINT': 您要访问的 microCMS 端点名称,例如 'blogs' 或 'news'。

注意: 请务必将 '/ABSOLUTE/PATH/TO/PARENT/FOLDER/build/index.js' 替换为 'build/index.js' 文件在您系统中的绝对路径。环境变量 'MICROCMS_API_KEY', 'MICROCMS_SERVICE_DOMAIN', 和 'MICROCMS_ENDPOINT' 需要在 MCP 客户端启动服务器时正确设置。

基本使用方法

配置完成后,MCP 客户端可以通过调用 'microcms' 服务器提供的工具来访问 microCMS 内容。

例如,在 LLM 应用中,您可以使用 'SearchMicroCMS' 工具来搜索 microCMS 中的文章:

{
  "action": "call-tool",
  "tool_call_id": "search-tool-call-1",
  "tool_name": "microcms/SearchMicroCMS",
  "parameters": {
    "q": "LLM",
    "endpoint": "blogs" // 假设您想在名为 "blogs" 的端点中搜索
  }
}

或者使用 'GetMicroCMSContent' 工具来获取特定 ID 的内容:

{
  "action": "call-tool",
  "tool_call_id": "get-content-call-1",
  "tool_name": "microcms/GetMicroCMSContent",
  "parameters": {
    "endpoint": "blogs", // 假设内容在 "blogs" 端点
    "contentId": "unique-content-id"
  }
}

LLM 客户端会向 microCMS MCP Server 发送 MCP 请求,服务器执行相应的工具并返回结果,LLM 客户端可以利用这些结果进行后续处理,例如生成更相关的回复或执行更复杂的操作。

信息

分类

AI与计算