CONTENT MANAGEMENT / Sanity
Sanity Hosted MCP Server
Hosted Sanity endpoint where an assistant runs GROQ queries, patches documents, manages releases and explores schema with OAuth or token auth.
“The Sanity Model Context Protocol (MCP) server enables AI assistants like Claude Code and Cursor to interact directly with your Sanity projects.”
01 / THE REASONING
Why this made the selection.
- Publisher-hosted structured-content surface: schema-aware GROQ, document patching and release management in one endpoint.
- OAuth by default with token-based auth as an explicit alternative, and tool availability follows project permissions.
02 / THE REVIEW RECORD
What we actually inspected.
Source review has boundaries.
A clear record is more useful than a “safe” badge.
Material inspected
- Sanity MCP documentation at https://www.sanity.io/docs/ai/mcp-server, read 2026-10-13 (HTML and Markdown export): hosted endpoint, CLI quick install, per-client setup, OAuth and token authorization, the Available tools list, AI credit usage and troubleshooting.
- Archived local repository README at revision 64b95d18bb94eebdc62d26cd24abf53c04b8e955 (the default-branch head on 2026-10-13; GitHub reports the repository archived): deprecation notice pointing to the hosted server, which it describes as Streamable HTTP with OAuth.
Our findings
- The documented deployment is remote-only against Sanity infrastructure; the archived local package is not the selectable surface.
- Write-capable content operations follow the authenticated identity's project, dataset and token-role permissions; with an Authorization header set, the server uses the API token instead of OAuth.
- patch_documents saves edits to the draft or release version, never directly to published content; publish_documents then publishes drafts. create_release records releases but cannot schedule, publish, archive or delete them.
- run_sanity_cli runs a limited subset of Sanity CLI commands without a shell or filesystem access.
- OAuth sessions typically expire after 7 days; the CLI configure command instead writes a generated token for the logged-in CLI user into the editor's configuration.
- configExample is the docs' Cursor mcp.json block. Corrected 2026-10-13: the earlier example and upstream description were not verbatim from the docs.
Not established by this review
- Server connection, authentication and tool execution were not tested.
The review applies to the material and revision named here. A newer upstream release can change its behavior.
03 / PUT IT TO WORK
Connect a server deliberately.
- Configure the client against https://mcp.sanity.io, preferably with the Sanity CLI setup command (npx sanity@latest mcp configure), which detects Cursor, VS Code and Claude Code.
- Authenticate with OAuth or a least-privilege API token scoped to the intended project and dataset.
Before you start
- A Sanity account with access to the target project and dataset.
Documented configuration example
Use the client and authentication context described in the setup guidance. Configuration formats vary between hosts.
{
"mcpServers": {
"Sanity": {
"type": "http",
"url": "https://mcp.sanity.io"
}
}
} 04 / FOLLOW THE EVIDENCE
The source trail.
Our notes are separate from the original resource.
Check upstream before adopting a new version.
- Sanity MCP documentation ↗Checked
https://www.sanity.io/docs/ai/mcp-server
Supports: summary, upstreamDescription, install, compatibility, access, transports, configExample, whySelected, bestFor, limitations, review
https://github.com/sanity-io/sanity-mcp-server/blob/64b95d18bb94eebdc62d26cd24abf53c04b8e955/README.md
Supports: limitations, transports, review