✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

Sanity MCP Server

This MCP server provides tools for interacting with Sanity.io content from Claude Desktop.

Installation

  1. Clone this repository
  2. Install dependencies:
npm install
  1. 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

  1. In Claude Desktop, go to Settings > MCP Servers
  2. 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 type
  • content: 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 ID
  • content: Updated content

List Documents

Lists documents of a specific type

Parameters:

  • type: Document type
  • limit: 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

  1. 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!"
            }
          ]
        }
      ]
    }
  }
}
  1. Edit an existing post:
{
  "tool": "edit-document",
  "arguments": {
    "id": "post-id-123",
    "content": {
      "title": "Updated Title"
    }
  }
}
  1. List recent posts:
{
  "tool": "list-documents",
  "arguments": {
    "type": "post",
    "limit": 5
  }
}
  1. Get schema for posts:
{
  "tool": "get-schema",
  "arguments": {
    "type": "post"
  }
}

Featured Templates

View More
Verified Icon
AI Agents
AI Chatbot Starter Kit
1342 9273
Customer service
Multi-language AI Translator
139 1246
AI Assistants
Talk with Claude 3
160 2067
AI Assistants
Image to text with Claude 3
155 1657
Data Analysis
Pharmacy Admin Panel
254 2271
AI Assistants
AI Chatbot Starter Kit v0.1
141 1201

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.