Token导航 LogoToken导航TokenDH.com
Sanity MCP logo
运维云端stdio官方来源来源级核验

Sanity MCP

MCP Server

@purple-horizons/sanity-mcp

Sanity MCP自托管服务器提供完整的CRUD操作、原子事务、引用跟踪以及官方服务器不具备的工具,适用于需要离线使用和自我托管的环境。

工具数

18

提示词数

0

GitHub Stars

1

资源数

0
自托管TypeScriptClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Purple-Horizons

提供方

Purple-Horizons

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @purple-horizons/sanity-mcp

详细介绍

🔮 Sanity MCP服务器

Sanity弃用的自托管Sanity MCP。 完整的CRUD、原子事务、引用跟踪和官方服务器没有的工具。

](https://www.npmjs.com/package/@purple-horizons/sanity-mcp) ![License: MIT](https://opensource.org/licenses/MIT)

______________________________________________________________________

为什么存在

Sanity的官方MCP服务器(@sanity/mcp-server)是 归档。他们希望您在以下位置使用他们的托管解决方案 mcp.sanity.io 使用OAuth。

如果你愿意,那很好:

  • 每个AI工具的OAuth流程
  • 对Sanity基础设施的依赖
  • 无离线或气隙使用
  • 无论他们决定公开什么工具

此MCP为您提供:

  • 🔑 简单令牌认证——一个环境变量,完成
  • 🏠 自托管——可在任何地方运行,无外部依赖
  • 🛠️ 更多工具——参考跟踪、差异、历史、批量操作
  • ⚡ 离线工作——无需OAuth舞蹈,无需托管服务

______________________________________________________________________

快速开始

npx @purple-horizons/sanity-mcp

或全局安装:

npm install -g @purple-horizons/sanity-mcp

MCP配置

添加到您的Claude桌面、光标或VS代码配置中:

{
  "mcpServers": {
    "sanity": {
      "command": "npx",
      "args": ["@purple-horizons/sanity-mcp"],
      "env": {
        "SANITY_PROJECT_ID": "your-project-id",
        "SANITY_DATASET": "production",
        "SANITY_TOKEN": "sk-your-token"
      }
    }
  }
}

______________________________________________________________________

工具

📖 读取操作

工具说明
sanity_query执行任何GROQ查询
sanity_get_document按ID获取单个文档
sanity_list_documents按类型列出文档并分页
sanity_search跨内容的全文搜索
sanity_get_types发现所有文档类型
sanity_get_type_info获取类型的架构信息
sanity_count统计与筛选器匹配的文档

✏️ 写入操作

工具说明
sanity_create创建新文档
sanity_update替换整个文档
sanity_patch部分更新特定字段
sanity_delete删除文档
sanity_publish发布草稿
sanity_unpublish将已发布内容移至草稿

🚀 独特的工具(不在Sanity的官方MCP中)

工具说明
sanity_references查找引用给定文档的所有文档 --删除前必须
sanity_diff比较两个文档 --草稿与已发布的,或任意两份文档
sanity_history获取修订历史记录 --看看谁改变了什么
sanity_bulk原子批处理操作 --要么全部成功,要么全部失败
sanity_draft_status检查发布状态 --草稿、出版或两者兼有

______________________________________________________________________

是什么让这更好

1.参考跟踪

在删除该图像资源之前,您可能想知道它的用途:

sanity_references id="image-abc123"
→ Shows all 47 blog posts using that image

Sanity的官方MCP没有这个。你会发现困难的方式。

2.文件困难

内容编辑器进行了更改。发生了什么变化?

sanity_diff idA="drafts.post-xyz" idB="post-xyz"
→ Shows exactly which fields differ

发布前请查看差异。或者比较任何两份文件。

3.原子散装操作

更新50个文档,它们都需要一起成功吗?一笔交易:

sanity_bulk operations=[
  { "patch": { "id": "post-1", "set": { "featured": true }}},
  { "patch": { "id": "post-2", "set": { "featured": false }}},
  ...
]
→ All or nothing. No partial states.

随着 dryRun: true,执行前验证。

4.草案状态概览

有草稿吗?它出版了吗?两者都有?

sanity_draft_status id="post-abc123"
→ { status: "both", hasUnpublishedChanges: true }

不再手动检查 drafts.{id} 对比 {id}.

______________________________________________________________________

环境变量

变量必填默认描述
SANITY_PROJECT_ID您的Sanity项目ID
SANITY_DATASETproduction数据集名称
SANITY_TOKENAPI令牌(写入时需要)
SANITY_API_VERSION2024-01-20API版本

获取您的令牌

  1. 首选 卫生/管理
  2. 选择您的项目→ API → 代币
  3. 使用编辑器或更高权限添加新令牌
  4. 复制并设置为 SANITY_TOKEN

______________________________________________________________________

GROQ示例

// All posts, newest first
*[_type == "post"] | order(_createdAt desc)

// Specific post by slug
*[_type == "post" && slug.current == "hello-world"][0]

// Posts with expanded author
*[_type == "post"]{
  title,
  slug,
  "author": author->name,
  "category": category->title
}

// Count by category
{
  "total": count(*[_type == "post"]),
  "published": count(*[_type == "post" && !(_id in path("drafts.**"))])
}

// Full-text search
*[_type == "post" && title match "AI*"]

______________________________________________________________________

发展

# Clone
git clone https://github.com/Purple-Horizons/sanity-mcp.git
cd sanity-mcp

# Install
npm install

# Build
npm run build

# Test
npm test

# Run locally
npm run dev

______________________________________________________________________

比较

专题这位MCPSanity官员
自托管❌ (已存档)
简单令牌身份验证仅限OAuth
脱机工作
参考跟踪
文档差异
批量交易
草稿状态
修订历史
架构发现
完整CRUD
GROQ查询
发布管理
语义搜索

太长,读不下去了 我们更适合自托管、开发人员工具和内容运营。如果你需要发布和带有嵌入的语义搜索,它们会更好。

______________________________________________________________________

许可证

MIT© 紫色地平线

______________________________________________________________________

链接

目录标签

目录标签

自托管TypeScriptClaude本地部署CRUD操作原子事务引用跟踪离线使用

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@purple-horizons/sanity-mcp

工具数量(toolCount,工具数)

18

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP