MCP Server
Sanity MCP Server
An MCP server that enables Claude Desktop to interact with Sanity.io content, providing tools to create, edit, list documents and get schema templates.
1
GitHub Stars
8/23/2025
Last Updated
MCP Server Configuration
1{
2 "command": "node",
3 "args": [
4 "src/sanity-mcp-server.ts"
5 ],
6 "env": {
7 "SANITY_PROJECT_ID": "your_project_id",
8 "SANITY_DATASET": "your_dataset",
9 "SANITY_TOKEN": "your_token"
10 }
11}
JSON11 lines
README Documentation
Sanity MCP Server
This MCP server provides tools for interacting with Sanity.io content from Claude Desktop.
Installation
- Clone this repository
- Install dependencies:
npm install
- Create a
.env
file with your Sanity credentials:
SANITY_PROJECT_ID=your_project_id
SANITY_DATASET=your_dataset
SANITY_TOKEN=your_token
Usage with Claude Desktop
- In Claude Desktop, go to Settings > MCP Servers
- Add a new server with these settings:
{
"command": "node",
"args": ["src/sanity-mcp-server.ts"],
"env": {
"SANITY_PROJECT_ID": "your_project_id",
"SANITY_DATASET": "your_dataset",
"SANITY_TOKEN": "your_token"
}
}
Available Tools
Create Document
Creates a new document in Sanity
Parameters:
type
: Document typecontent
: Document content
Example:
{
"type": "post",
"content": {
"title": "My Post",
"body": [
{
"_type": "block",
"children": [
{
"_type": "span",
"text": "Hello world!"
}
]
}
]
}
}
Edit Document
Edits an existing document
Parameters:
id
: Document IDcontent
: Updated content
List Documents
Lists documents of a specific type
Parameters:
type
: Document typelimit
: Maximum number of documents to return (default: 10)
Get Schema
Gets a schema template based on an existing document
Note: For best results, manually create at least one document of each type before using this tool.
Parameters:
type
: Document type
Example Usage
- Create a new blog post:
{
"tool": "create-document",
"arguments": {
"type": "post",
"content": {
"title": "My First Post",
"slug": "my-first-post",
"body": [
{
"_type": "block",
"children": [
{
"_type": "span",
"text": "This is my first post!"
}
]
}
]
}
}
}
- Edit an existing post:
{
"tool": "edit-document",
"arguments": {
"id": "post-id-123",
"content": {
"title": "Updated Title"
}
}
}
- List recent posts:
{
"tool": "list-documents",
"arguments": {
"type": "post",
"limit": 5
}
}
- Get schema for posts:
{
"tool": "get-schema",
"arguments": {
"type": "post"
}
}
Quick Install
Quick Actions
Key Features
Model Context Protocol
Secure Communication
Real-time Updates
Open Source