インストール不要。2分以内に動きます。
cloud.anythingmcp.com で無料トライアルを開始し、Sanity をワンクリックで追加して、AI クライアント(Claude、ChatGPT、Copilot、Cursor)を生成された MCP エンドポイントに向けるだけ。Docker も git clone も、開発経験も不要です。
概要
AI で Sanity のコンテンツを扱えます。GROQ クエリを実行し、ドキュメントとそのリビジョン、変更履歴を読み、ドキュメントタイプ、データセット、プロジェクトを一覧し、あなたの確認後に下書きを作成、変更、公開できます。Viewer または Editor 権限の API トークンを使います。
こう聞いてみよう
Sanity のサンプルプロンプト
プロンプトをクリックでコピー。Claude / ChatGPT / Cursor / Gemini / Copilot / OpenClaw に貼り付けて、このコネクターで実行できます。
Claude は AI のため誤ることがあります。回答をご確認ください。
💡 インストール不要? cloud.anythingmcp.com を直接利用してください。 サインインし、Connectors → Sanity をクリック、認証情報を貼り付け、MCP API キーを発行すれば完了です。Docker も
git cloneもローカルサーバーも不要。
Sanity
AI で Sanity のコンテンツを扱えます。GROQ クエリを実行し、ドキュメントとそのリビジョン、変更履歴を読み、ドキュメントタイプ、データセット、プロジェクトを一覧し、あなたの確認後に下書きを作成、変更、公開できます。Viewer または Editor 権限の API トークンを使います。
セットアップ
-
https://www.sanity.io/manageを開いてプロジェクトを選び、Project ID(8 文字、例:abc12xyz)をSANITY_PROJECT_IDにコピーします。 -
Datasets で作業対象のデータセット(通常は
production)を確認し、SANITY_DATASETに入れます。 -
API → Tokens で Add API token をクリックし、名前を付けて権限を選びます。
- Viewer: 公開済みのドキュメントと下書きを履歴も含めて読めます。読み取り用のツールにはこれで十分で、書き込みは拒否されます。
- Editor: 書き込みもできます。下書きの作成、変更、公開に必要です。
Developer と Administrator のトークンは避けてください。プロジェクト設定やデータセットも変更できてしまいます。
-
トークンを
SANITY_API_TOKENにコピーし(Sanity は一度しか表示しません)、コネクタをインストールします。sanity_list_document_typesで設定を確認します。
GROQ クエリ: sanity_query はデータセットに対して GROQ を実行します。そのため AI は「SEO 用の説明がない記事はどれか」「在庫切れの商品はいくつあるか」といった質問に 1 回の呼び出しで答えられます。必要な項目だけを取得し、約 60 KB を超える応答は切り詰められるため件数を制限し、値はパラメーターとして渡します。スキーマがまだわからないときは、先にドキュメントタイプを一覧し、いくつかのドキュメントを確認します。drafts パースペクティブを使うと、すべての下書きが公開されたものとしてコンテンツを読みます。
まず下書き、公開はあなたの承認後にのみ: sanity_create_draft と sanity_patch_draft が書き込むのは常に下書き、つまり編集者が Sanity Studio で見るバージョンだけです。sanity_publish_draft が公開中のドキュメントを置き換えるまで、サイトには何も反映されません。それぞれの前に AI はドキュメント、変更内容、公開されるかどうかを示し、はっきりした承認を待ちます。ドライランを使えば、保存せずに操作を確認できます。sanity_delete_document はインストール時にオフになっています。
履歴: sanity_list_document_transactions はドキュメントを誰がいつ変更したかを示し、sanity_get_document_revision は特定のリビジョンや時点でのドキュメントを返します。2 つのバージョンを比べたり、上書きされた文章を取り戻したりするのに使えます。
リッチテキスト: Portable Text の項目はブロックの配列で、各ブロックには一意の _key が必要です。シンプルな段落の書き方はコネクタが AI に伝えています。
よくあるエラー: 401 Session not found: トークンが間違っているか削除されています。403 Insufficient permissions: Viewer トークンで書き込もうとしたか、トークンが別のプロジェクトのものです。404 Dataset not found: SANITY_DATASET を確認してください。400 queryParseError: GROQ クエリに構文エラーがあり、メッセージに場所が示されます。
対象外: 画像とファイルのアップロード、コンテンツリリースと予約公開、公開の取り消し、データセットとプロジェクトの管理、Webhook、CORS、メンバー、リアルタイムの変更監視。
前提条件: SANITY_PROJECT_ID, SANITY_DATASET, SANITY_API_TOKEN
ローカルでコネクタをインストール
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
http://localhost:3000/connectors/store を開き、 Sanity を選択し、前提条件に記載された環境変数を入力します。
利用可能なツール
| Tool | What it does |
|---|---|
sanity_query | Run a GROQ query against the dataset and return its result |
sanity_list_document_types | List the document types that exist in the dataset (from _type), drafts included, e.g. post, author, sanity.imageAsset |
sanity_get_document | Read documents by id, published (post-123) or draft (drafts.post-123), with all their fields; several ids separated by commas |
sanity_get_document_revision | Read a document as it was in the past: at a revision id (_rev, from sanity_list_document_transactions), at a point in time, or its last… |
sanity_list_document_transactions | List the changes (transactions) of a document: transaction id, time, author id and the kind of change (create, patch, publish, delete)… |
sanity_create_draft | Create a new document as a draft (not published). document must contain _type and _id = "drafts." + document_id, plus its fields |
sanity_patch_draft | Change fields of a document's draft with a patch, e.g. {"set": {"title": "New"}}, {"unset": ["subtitle"]}, {"setIfMissing": {"tags": []}}… |
sanity_publish_draft | Publish a document's draft: the draft replaces the published version and goes live on every site that reads this dataset, and the draft is… |
sanity_delete_document | Delete a published document and the drafts you list |
sanity_list_datasets | List the datasets of the project: name and whether each is public or private |
sanity_list_projects | List the Sanity projects the token can see: id, name, studio host and creation date |
プロンプトの例
- 「過去 30 日間に公開されたブログ記事はどれですか?タイトル、著者、スラッグを見せてください。」
- 「説明が空、または 50 文字未満の商品をすべて探してください。」
- 「料金ページを最後に変更したのは誰ですか?その変更の前は何と書かれていましたか?」
- 「春のローンチに関する記事のタイトルにある誤字『ローンンチ』を直してください。下書きとして保存し、保存する前に変更内容を見せてください。」
- 「記事『10 月のリリースノート』の下書きを公開してください。先に、何が公開されるのかを正確に教えてください。」
次のステップ
このガイドは役に立ちましたか?