Sanity MCP: what works in Claude, ChatGPT, Cursor, and Grok Bot

Official Sanity remote MCP server: query and edit Content Lake documents with GROQ, manage schemas, datasets, releases and assets, and search the Sanity docs.

Registry name: (v) | GitHub 71 stars

Set it up

URL https://mcp.sanity.io. We tested it with an access token sent as an Authorization: Bearer header. The vendor also offers OAuth sign-in, which we did not test. Copy-paste setup: Claude | Claude Code | Cursor | VS Code | ChatGPT

Status grid

AppStatusDate tested
ClaudeUntestedNot yet tested
ChatGPTUntestedNot yet tested
CursorUntestedNot yet tested
Grok BotUntestedNot yet tested
MCP Inspector (reference client)UntestedNot yet tested
MCP TypeScript SDK (reference client)WorksSat Oct 17 2026

Hands-on test results

AppTaskResultTimeDetailDate tested
MCP TypeScript SDK (reference client)connect (token)Works779 msConnected with a bearer token in 779 ms.Oct 17, 2026, 2:45 PM CT
MCP TypeScript SDK (reference client)list toolsWorks374 ms54 tools: dataset_assets_upload_from_web_chatgpt, dataset_assets_upload_from_url, media_library_upload_from_url, media_assets_upload_from_url, assets_upload_status, media_library_upload_from_file, dataset_assets_upload_from_file, get_schema, list_workspace_schemas, deploy_schema, deploy_studio, create_documen.Oct 17, 2026, 2:45 PM CT
MCP TypeScript SDK (reference client)whoamiWorks165 mswhoami: 683 characters returned. "Authenticated Sanity account. When answering account or access questions, report the returned name, email, provider, and MCP authentication "Oct 17, 2026, 2:45 PM CT
MCP TypeScript SDK (reference client)list projectsWorks214 mslist_projects: 236 characters returned. "Found 1 project in 1 organization: <projects> <o4umo0jk> <name>cr-test</name> <organizationId>oxoqdlxsn</organizationId> <createdAt>2026-10-"Oct 17, 2026, 2:45 PM CT
MCP TypeScript SDK (reference client)list datasetsWorks234 mslist_datasets: 161 characters returned. "Here are the datasets: <datasets> <production> <aclMode>public</aclMode> <createdAt>2026-10-17T19:42:23.533Z</createdAt> </production> </dat"Oct 17, 2026, 2:45 PM CT
MCP TypeScript SDK (reference client)list workspace schemasWorks265 mslist_workspace_schemas: 687 characters returned. "- Coding agents must inspect the current working directory for Studio files before choosing `deploy_schema`; a missing deployed schema is no"Oct 17, 2026, 2:45 PM CT
MCP TypeScript SDK (reference client)GROQ query (first 3 documents)Works204 msquery_documents: 346 characters returned. "Query executed successfully. Found 3 documents: <documents>{"_id":"_.groups.access-manager","_type":"system.group"}</documents> <documents>{"Oct 17, 2026, 2:45 PM CT
MCP TypeScript SDK (reference client)create a draft document (cr-test)Works1547 mscreate_documents: 549 characters returned. "Processed 1 documents: 1 successful, 0 failed The created documents are drafts. Use publish_documents to make them live.: <results> <success"Oct 17, 2026, 2:45 PM CT
MCP TypeScript SDK (reference client)patch the draftWorks1432 mspatch_documents: 292 characters returned. "Processed 1 document edits: 1 successful, 0 failed Changes were saved to drafts. Use publish_documents to make them live.: <results> <docume"Oct 17, 2026, 2:45 PM CT
MCP TypeScript SDK (reference client)publish itWorks1266 mspublish_documents: 168 characters returned. "Published 1 document: <publishedDocuments> <draftId>drafts.cr-test-1792266338469</draftId> <publishedId>cr-test-1792266338469</publishedId> "Oct 17, 2026, 2:45 PM CT
MCP TypeScript SDK (reference client)query it back (GROQ by id)Works180 msquery_documents: 210 characters returned. "Query executed successfully. Found 1 document: <documents>{"_id":"cr-test-1792266338469","title":"ConnectorReport MCP test document (patched"Oct 17, 2026, 2:45 PM CT
MCP TypeScript SDK (reference client)read the documentWorks205 msget_document: 325 characters returned. "Found document "cr-test-1792266338469": <document> <_createdAt>2026-10-17T19:45:38Z</_createdAt> <_id>cr-test-1792266338469</_id> <_rev>fe0U"Oct 17, 2026, 2:45 PM CT
MCP TypeScript SDK (reference client)unpublish itWorks1254 msunpublish_documents: 244 characters returned. "Unpublished 1 document (moved to drafts). To delete the drafts, use the discard_drafts tool.: <unpublishedDocuments> <publishedId>cr-test-17"Oct 17, 2026, 2:45 PM CT
MCP TypeScript SDK (reference client)discard the draft (removes the document)Works1227 msdiscard_drafts: 118 characters returned. "Discarded 1 draft: <discardedDocuments> <versionId>drafts.cr-test-1792266338469</versionId> </discardedDocuments> "Oct 17, 2026, 2:45 PM CT
MCP TypeScript SDK (reference client)docs search ("GROQ projections")Works276 mssearch_docs: 550 characters returned. "Found 2 results: Use the read_docs tool with the returned result URLs to view article contents. Use the read_docs tool with a docs path to f"Oct 17, 2026, 2:45 PM CT
MCP TypeScript SDK (reference client)read a docs pageWorks309 msread_docs: about 7 KB returned. "> For AI agents: the complete Sanity documentation index is available at [https://www.sanity.io/docs/llms.txt](https://www.sanity.io/docs/ll"Oct 17, 2026, 2:45 PM CT
MCP TypeScript SDK (reference client)error handling (document that does not exist)Works249 msget_document: tool error, 124 characters returned. "Error fetching document: Document "cr-test-does-not-exist-938" was not found. Check the document ID and dataset, then retry."Oct 17, 2026, 2:45 PM CT
MCP TypeScript SDK (reference client)error handling (invalid GROQ)Works216 msquery_documents: tool error, 192 characters returned. "Error executing GROQ query: GROQ query parse error: > 1 | *[_type == | ^ unexpected end-of-file, expected expression Tag: sanity.mcp (traceI"Oct 17, 2026, 2:45 PM CT

Oct 17, 2026, 2:45 PM CT, MCP TypeScript SDK (reference client): Scripted client using the official MCP TypeScript SDK against https://mcp.sanity.io (Streamable HTTP, protocol 2025-11-25). Signed in with a test-account robot API token (Editor, Bearer token) sent as an Authorization: Bearer header (token auth; we did not test OAuth). Server Sanity v2.41.0. Tasks ran only against a throwaway test account or project: test project and dataset only: whoami, list projects and datasets, workspace schemas, a GROQ query, create a cr-test draft document, patch it, publish it, query and read it back, then unpublish and discard it (the server has no delete tool, so this removes it), docs search and read, plus bad-input checks. 18 of 18 tasks passed.

Automated handshake

No public remote endpoint to check (local or package-only server).

Gotchas

None recorded yet. Gotchas come only from hands-on tests.

FAQ

Does the Sanity MCP server work?

In our hands-on test on Oct 17, 2026, 18 of 18 tasks passed.

What is the Sanity MCP server URL?

https://mcp.sanity.io (Streamable HTTP).

Does the Sanity MCP server need sign-in?

We tested it with an access token sent as an Authorization: Bearer header. The vendor also offers OAuth sign-in, which we did not test.

How do I add the Sanity MCP server to Claude, Cursor, VS Code or ChatGPT?

Follow our copy-paste setup guides: https://connectorreport.com/c/sanity/setup/claude https://connectorreport.com/c/sanity/setup/claude-code https://connectorreport.com/c/sanity/setup/cursor https://connectorreport.com/c/sanity/setup/vscode https://connectorreport.com/c/sanity/setup/chatgpt

Compare with other tested connectors | Connector Weather

Request a hands-on test of Sanity

Get the badge

Maintain Sanity or write about it? Show its live ConnectorReport status in your README or docs.

Sanity MCP status badge

Markdown (README, docs)

[![Sanity MCP status on ConnectorReport](https://connectorreport.com/badge/sanity.svg)](https://connectorreport.com/c/sanity?utm_source=badge&utm_medium=embed&utm_campaign=sanity)

HTML

<a href="https://connectorreport.com/c/sanity?utm_source=badge&utm_medium=embed&utm_campaign=sanity"><img src="https://connectorreport.com/badge/sanity.svg" alt="Sanity MCP status on ConnectorReport"/></a>

The badge updates on its own after every retest. How badges work

Know when connectors break

Connector Weather is one short email a week: which MCP connectors broke, which got fixed, and what we tested hands-on, Sanity included.