← /connect/

Connect Claude to Sanity

Let Claude edit your Sanity content. It rewrites published documents as local files, you review every change as a diff, and Portable Text stays structured while assets and schema stay locked. No MCP. Try it now free → or book a demo with Curtis

You want to point Claude at your Sanity dataset and say tighten every excerpt to two sentences and fill the empty SEO descriptions. What stops you is that every mutation lands straight in the Content Lake your front end serves. The Sanity MCP gives Claude that live write path, a mutation script does too, and neither puts a review between the idea and the published site.

Scratch changes where the edit happens. Claude does 99% of the work, reading and rewriting your published documents as files on your laptop. The last 1%, deciding what actually publishes, stays with you. Nothing reaches Sanity until you have seen the change as a diff and approved it.

How it works

  1. Scratch pulls your dataset into files. Every published document becomes a local JSON file, organized by document type, with your deployed Studio schema keeping your authored field order and titles.
  2. Claude edits the documents. Open the folder in the Claude desktop app. Try a prompt on a few documents in Chat, then let Cowork or Code run it across the whole dataset. Tighten every excerpt to two sentences and fill the empty SEO descriptions. Claude edits the files, never the live Content Lake.
  3. You review every diff and publish. Scratch shows each changed field next to the original, word by word. Approve what ships, and Scratch publishes only those changes as sparse patches through Sanity's transactional Mutation API.

What people use it for

Most people arrive with a dataset that has drifted: the Studio is great for one document at a time, and nothing is good for a thousand at a time.

Pull 50 documents to feel the loop, then point Claude at the whole dataset.

Why not the Sanity MCP server?

The Sanity MCP, or a mutation script with a robot token, hands Claude a live write path to the Content Lake. Every mutation publishes immediately to the same content your site serves, with no diff and no review queue in between.

Scratch gives Claude the same full read and write access, but against a local copy. The publish step is pulled out and handed to you. Claude can change anything editable; only you can commit it. On the content your site renders to visitors, that is the difference that matters.

What Claude edits in Sanity

Scratch edits field values, never your schema: document types, validation rules, and the Studio stay defined exactly as you wrote them. System fields are read-only, image and file assets are out of scope, and drafts are untouched. For the full picture, see Scratch for Sanity.

Questions people ask

Is this the Sanity MCP server?

No. The MCP gives Claude a live mutation path to your Content Lake. Scratch does not. Claude gets the same access, but publishing is a separate step you approve, one document at a time.

Will Claude mangle my Portable Text?

No. Portable Text stays the structured blocks Sanity stores, so marks, links, and nested lists survive the round trip. Images and custom blocks inside rich text stay as they are: Claude edits the prose around them.

Can I undo a change after it publishes?

Yes. Every published change is reversible from Scratch, per document. The original sits next to the rewrite until you decide which one stays.

Why not just write a GROQ query and a mutation script?

A script does exactly what you spelled out and nothing smarter, and it publishes straight to the Content Lake with no document-by-document review. Scratch puts an agent on the edit, so it handles the documents a single script cannot, and holds every change as a word-level diff you approve before it commits.

Can it handle a big dataset at once?

Yes, that is the use case. Pull 50 documents to feel the flow, then pull the whole dataset. Cowork and Code are built for jobs at that scale.

Do I need to be technical?

Connecting Sanity takes a robot token from sanity.io/manage, a copy-paste step. Scratch finds the project and dataset itself. After that, the loop is the same as any Scratch source: point Claude at the folder and approve the diffs.

See it on your own dataset

The fastest way to trust it is to watch it run on your data. Book a 30-minute demo on your Sanity dataset →, or try Scratch free and run the first pass yourself.

See it run on your own content.

Curtis runs these calls himself. Thirty minutes, no pitch, no slides. He connects your platforms live and shows you your content as an editable, reviewable diff. Bring anything sticky: a refresh, a migration, or a rebrand.

Book a 30-minute demo call → or try it free

cookies

strictly necessary
required for the site to work. always on.

analytics
google analytics & posthog — anonymous usage, so we can improve the site.