项目简介
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 服务器的传输协议,简化部署和集成。
安装步骤
-
克隆仓库:
git clone https://github.com/SpringMT/microcms-mcp-server.git cd microcms-mcp-server -
安装依赖:
npm install -
构建项目:
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与计算