Collection of resources to help AI agents build better with Sanity. Supports Cursor, Claude Code, VS Code, Lovable, v0, and any other editor/agent compatible with MCP or Agent Skills.
- MCP server: Direct access to your Sanity projects (content, datasets, releases, schemas) and agent rules.
- Agent skills: Comprehensive best practices skills for Sanity development, content modeling, SEO/AEO, and experimentation. Includes 21 integration/topic guides and 26 focused best-practice rules.
- Claude Code plugin: MCP server, agent skills, and slash commands for Claude Code users.
- Cursor plugin: MCP server, agent skills, and commands for the Cursor Marketplace.
Choose your path based on how you want agents to work with Sanity:
- MCP server — Give your agent always up-to-date rules and full access to your Sanity projects. No local files to maintain. Works with Cursor, VS Code, Claude Code, Lovable, v0, and other MCP-compatible clients.
- Agent skills — Install best practices skills for Sanity, content modeling, SEO/AEO, and experimentation. Works with Cursor, Claude Code, and any Agent Skills-compatible agent.
- Plugin — Install the Sanity plugin for Cursor or Claude Code. Bundles MCP server, agent skills, and commands.
- Manual installation — Copy the skill references locally for offline use. You'll need to update them yourself.
Give agents direct access to Sanity projects and always up-to-date agent rules via the MCP server.
Run in terminal to detect and configure MCP for Cursor, Claude Code and VS Code automatically:
npx sanity@latest mcp configureUses your logged-in CLI user for authentication — no manual tokens or OAuth needed.
Cursor
Or manually: Open Command Palette (Cmd+Shift+P / Ctrl+Shift+P) → View: Open MCP Settings → + New MCP Server → add to mcp.json:
{ "mcpServers": { "Sanity": { "type": "http", "url": "https://mcp.sanity.io" } } }Claude Code
Run in terminal. Authenticate with OAuth on next launch:
claude mcp add Sanity -t http https://mcp.sanity.io --scope userVS Code
Open Command Palette (Cmd+Shift+P / Ctrl+Shift+P) → MCP: Open User Configuration → add:
{ "servers": { "Sanity": { "type": "http", "url": "https://mcp.sanity.io" } } }Lovable
Settings → Connectors → Personal connectors → New MCP server → Enter Sanity as name and https://mcp.sanity.io as Server URL → Add & authorize → Authenticate with OAuth.
v0
In the prompt input field, click Prompt Tools → MCPs → Add New → Select Sanity → Authorize → Authenticate with OAuth.
Replit
Go to Integrations Page → scroll to MCP Servers for Replit Agent → Add MCP server → Enter Sanity as name and https://mcp.sanity.io as Server URL → Test & Save → Authenticate with OAuth.
OpenCode
Add to your opencode.json:
{ "$schema": "https://opencode.ai/config.json", "mcp": { "sanity": { "type": "remote", "url": "https://mcp.sanity.io", "oauth": {} } } }Then run: opencode mcp auth sanity
Other clients
For any MCP-compatible client, add https://mcp.sanity.io as the server URL.
If your client doesn't support remote MCP servers, use a proxy like mcp-remote:
{ "mcpServers": { "Sanity": { "command": "npx", "args": ["mcp-remote", "https://mcp.sanity.io", "--transport", "http-only"] } } }See the Sanity MCP docs for authorization options and troubleshooting.
Install best practices skills that work with any Agent Skills-compatible agent.
npx skills add sanity-io/agent-toolkitSee Option 3 for plugin installation.
Install the Sanity plugin to get MCP server, agent skills, and commands.
- Add the Sanity marketplace:
/plugin marketplace add sanity-io/agent-toolkit - Install the plugin:
/plugin install sanity-plugin@sanity-agent-toolkit - Verify installation: Ask Claude Code: "which skills do you have access to?"
You should see the Sanity skills listed.
- Start using: Use natural language and skills activate automatically:
Help me create a blog post schema in Sanity
Review my GROQ query and Next.js Visual Editing setup
Or run /sanity to explore all capabilities.
In Cursor chat, run:
/add-plugin sanity Install the skill references locally to teach your editor Sanity best practices:
- Copy
skills/sanity-best-practices/to your project. - (Recommended) Copy
AGENTS.mdto your project root to act as a knowledge router.
With MCP connected, your AI can use tools like:
query_documents— run GROQ queries directlycreate_documents_from_json/create_documents_from_markdown— create draft documentspatch_document_from_json/patch_document_from_markdown— surgical edits to existing documentspublish_documents/unpublish_documents— manage document lifecycledeploy_schema/get_schema— deploy and inspect schemascreate_version— create version documents for releasesgenerate_image/transform_image— AI image generation and editingsearch_docs/read_docs— search and read Sanity documentationlist_sanity_rules/get_sanity_rules— load agent rules on demand
See the full list of available tools.
Best practices skills that agents like Claude Code, Cursor, GitHub Copilot, etc. can discover and use automatically. Skills follow the Agent Skills format. See Option 2 for installation.
| Skill | Description |
|---|---|
| sanity-best-practices | GROQ performance, schema design, Visual Editing, images, Portable Text, Studio, TypeGen, localization, migrations, and framework integration guides |
| content-modeling-best-practices | Structured content principles: separation of concerns, references vs embedding, content reuse |
| seo-aeo-best-practices | SEO/AEO with EEAT principles, structured data (JSON-LD), technical SEO patterns |
| content-experimentation-best-practices | A/B testing methodology, statistical foundations, experiment design |
The onboarding guide follows three phases:
- Studio & Schema — Set up Sanity Studio and define your content model
- Content — Import existing content or generate placeholder content via MCP
- Frontend — Integrate with your application (framework-specific)
Just say: "Get started with Sanity" to begin.
| Command | What it does |
|---|---|
/sanity | List available skills and help topics |
/review | Review code for Sanity best practices |
/typegen | Run TypeGen and troubleshoot issues |
/deploy-schema | Deploy schema with verification |
Note: The reference files in
skills/sanity-best-practices/references/are the canonical content for the Sanity MCP server'slist_sanity_rules/get_sanity_rulestools. Each file must have validnameanddescriptionfrontmatter — rule names are derived from filenames (e.g.,nextjs.md→nextjs).
sanity-io/agent-toolkit/ ├── AGENTS.md # Knowledge router & agent behavior ├── README.md # This file ├── .claude-plugin/ # Claude Code plugin configuration │ └── marketplace.json # Plugin metadata and marketplace config ├── .cursor-plugin/ # Cursor plugin configuration │ ├── marketplace.json # Cursor marketplace metadata │ └── plugin.json # Per-plugin manifest ├── .mcp.json # MCP server configuration ├── assets/ # Plugin branding │ └── logo.svg # Sanity logo for marketplace display ├── commands/ # Agent commands │ ├── sanity.md # /sanity help │ ├── review.md # /review │ ├── typegen.md # /typegen │ └── deploy-schema.md # /deploy-schema ├── scripts/ # Validation and CI scripts │ └── validate-cursor-plugin.mjs # Cursor plugin validator └── skills/ # Agent skills (agentskills.io format) ├── sanity-best-practices/ # Comprehensive Sanity skill │ ├── SKILL.md # Skill definition and quick reference │ └── references/ # Canonical content (22 guides) │ ├── get-started.md # Onboarding guide │ ├── nextjs.md # Next.js integration │ ├── groq.md # GROQ patterns & performance │ ├── schema.md # Schema design & validation │ └── ... # See SKILL.md for full index ├── content-modeling-best-practices/ # Modeling guidance + topic resources ├── seo-aeo-best-practices/ # SEO/AEO guidance + topic resources └── content-experimentation-best-practices/ # Experiment design + stats resources Focused topic skills keep their supporting docs in resources/. The main sanity-best-practices skill uses references/ because those files are also the canonical source for the MCP server's Sanity rules.
- Create Sanity account
- Sanity documentation
- GROQ language reference
- Visual Editing guide
- Sanity TypeGen
- MCP server docs
- Blueprints Infrastructure as Code
Found a better pattern? Missing a framework or best practice?
- Fork the repo.
- Install dependencies with
npm ci. - Update the relevant file in
skills/<skill-name>/SKILL.md,skills/<skill-name>/references/, orskills/<skill-name>/resources/. - Keep
SKILL.mdfrontmatter focused onnameanddescription, since those are the primary discovery fields for skills. - Run
npm run validate:allto check skill and plugin validity. - Submit a PR.
License: MIT