Sanity MCP Server
使用说明
项目简介
Sanity MCP Server 是一个基于 Model Context Protocol (MCP) 标准构建的后端服务,专为 LLM (大型语言模型) 应用设计。它充当 LLM 客户端与 Sanity.io 内容管理系统之间的桥梁,使得 LLM 能够以标准化的方式获取 Sanity.io 平台上的上下文信息和利用其功能。该服务器采用 stdio 传输协议,易于集成到任何支持 MCP 协议的 LLM 客户端中。
主要功能点
- 内容检索与查询: 通过 GROQ 查询语言,LLM 可以灵活检索 Sanity.io 中存储的各种内容,并支持实时订阅内容更新。
- 文档操作: LLM 可以借助服务器提供的工具,在 Sanity.io 中执行文档的创建、更新、删除和发布等操作,实现对内容的全生命周期管理。
- 内容发布版本管理: 支持内容发布版本的创建、添加文档到版本、从版本移除文档等功能,便于 LLM 应用处理多版本内容。
- Schema 信息获取: LLM 可以查询 Sanity.io 的 Schema 信息,了解内容模型结构,从而更好地构建查询和操作指令。
- 语义搜索: 利用 Sanity.io 的 embeddings 功能,LLM 可以执行基于语义的文档搜索,提升信息检索的准确性和效率。
- 项目和工作室管理: 提供列出 Sanity.io 项目和工作室的功能,方便 LLM 应用进行项目环境的感知和管理。
安装步骤
- 确保已安装 Node.js 和 npm。
- 克隆仓库到本地:
git clone https://github.com/sanity-io/sanity-mcp-server.git cd sanity-mcp-server - 安装项目依赖:
npm install
服务器配置
MCP 服务器主要通过环境变量进行配置。以下是一个用于 MCP 客户端(例如 Claude AI)的 JSON 配置示例。客户端需要配置 MCP 服务器的启动命令 (command) 及其参数 (args) 才能与 MCP 服务器建立连接。
{ "tools": [ { "name": "sanity-mcp", // 服务名称,在客户端配置中用于引用此服务 "type": "mcp", // 工具类型,必须设置为 "mcp" "path": "/path/to/sanity-mcp-server/dist/index.js", // MCP 服务器可执行文件路径,请替换为实际路径,例如:/path/to/sanity-mcp-server/dist/index.js "env": { "SANITY_TOKEN": "your_sanity_api_token", // 您的 Sanity API Token,用于服务器身份验证 "SANITY_PROJECT_ID": "your_sanity_project_id", // 您的 Sanity Project ID "SANITY_DATASET": "your_sanity_dataset", // 您的 Sanity Dataset 名称 "SANITY_API_VERSION": "2025-03-15" // Sanity API 版本,建议使用最新稳定版本,例如:2025-03-15 } } ] }
基本使用方法
- 构建项目:
npm run build - 启动服务器:
或者直接运行编译后的 JavaScript 文件:npm startnode dist/index.js - 在 MCP 客户端中配置: 根据 MCP 客户端(如 Claude AI)的要求,配置上述 JSON,并确保 'path' 指向正确的 'dist/index.js' 文件。同时,配置正确的环境变量,例如 'SANITY_TOKEN'、'SANITY_PROJECT_ID' 和 'SANITY_DATASET'。
- 使用工具: 在 LLM 客户端中,即可调用 Sanity MCP Server 提供的工具,与 Sanity.io 内容平台进行交互。具体工具列表和使用方法,请参考仓库 README 或通过 'listTools' MCP 方法查询。