Sanity MCP Server
OfficialSanity MCP サーバー
SanityのAI搭載ツールでコンテンツ運用を変革しましょう。お気に入りのAI対応エディターで自然言語による会話を通してコンテンツを作成、管理、探索できます。
Sanity MCP Serverは、モデルコンテキストプロトコルを実装し、SanityプロジェクトをClaude、Cursor、VS CodeなどのAIツールに接続します。これにより、AIモデルはコンテンツ構造を理解し、自然言語による指示に基づいて操作を実行できるようになります。
✨ 主な特徴
🤖コンテンツインテリジェンス: AIがコンテンツライブラリを探索して理解します
🔄コンテンツ操作:自然言語指示によるタスクの自動化
📊スキーマ認識: AIはコンテンツの構造と検証ルールを尊重します
🚀リリース管理: コンテンツのリリースを簡単に計画、整理
🔍セマンティック検索:キーワードだけでなく意味に基づいてコンテンツを検索します
Related MCP server: Sanity MCP Server
目次
🔌 クイックスタート
前提条件
MCP サーバーを使用する前に、次のことを行う必要があります。
スキーママニフェストを使用してSanity Studioをデプロイする
MCPサーバーが効果的に機能するには、コンテンツ構造にアクセスする必要があります。スキーママニフェストは、次のいずれかの方法でデプロイしてください。
# Option A: If you have the CLI installed globally npm install -g sanity cd /path/to/studio sanity schema deploy # Option B: Update your Studio cd /path/to/studio npm update sanity npx sanity schema deploySanity ログインなしで CI 環境で実行する場合は、認証トークンを提供する必要があります。
SANITY_AUTH_TOKEN=<token> sanity schema deployNOTEスキーマのデプロイには、Sanity CLI バージョン 3.88.1 以降が必要です。
API認証情報を取得する
プロジェクトID
データセット名
適切な権限を持つAPIトークン
このMCPサーバーは、モデルコンテキストプロトコルをサポートするあらゆるアプリケーションで使用できます。以下に、よく使われる例をいくつか示します。
カスタムMCP互換アプリケーション
Sanity MCPサーバーの設定を追加する
Sanity MCP サーバーを使用するには、アプリケーションの MCP 設定に次の構成を追加します。
{
"mcpServers": {
"sanity": {
"command": "npx",
"args": ["-y", "@sanity/mcp-server@latest"],
"env": {
"SANITY_PROJECT_ID": "your-project-id",
"SANITY_DATASET": "production",
"SANITY_API_TOKEN": "your-sanity-api-token",
"MCP_USER_ROLE": "developer"
}
}
}
}必須およびオプションの環境変数の完全なリストについては、 「構成」セクションを参照してください。
この構成の正確な場所はアプリケーションによって異なります。
応用 | 構成場所 |
クロードデスクトップ | Claude Desktop 構成ファイル |
カーソル | ワークスペースまたはグローバル設定 |
VSコード | ワークスペースまたはユーザー設定(拡張機能によって異なります) |
カスタムアプリ | アプリのMCP統合ドキュメントを参照してください |
動作しませんか? Node.js の設定に関するセクションを参照してください。
🛠️ 利用可能なツール
コンテキストとセットアップ
get_initial_context – 重要: コンテキストを初期化し、使用方法の手順を取得するには、他のツールを使用する前に呼び出す必要があります。
get_sanity_config – 現在の Sanity 構成 (projectId、dataset、apiVersion など) を取得します。
ドキュメント操作
create_document – 指示に基づいてAIが生成したコンテンツで新しいドキュメントを作成する
update_document – 指示に基づいてAIが生成したコンテンツで既存のドキュメントを更新する
patch_document - AI生成を使用せずにドキュメントの特定の部分を変更するために直接パッチ操作を適用します
transform_document – 書式と構造を維持しながらドキュメントの内容を変換します。テキストの置換やスタイルの修正に最適です。
translate_document – 書式と構造を維持しながら文書の内容を別の言語に翻訳する
query_documents – GROQクエリを実行してコンテンツを検索および取得する
document_action – ドキュメントの公開、非公開、削除などのドキュメントアクションを実行します。
リリース管理
list_releases – コンテンツリリースを一覧表示します。オプションで状態別にフィルタリングできます。
create_release – 新しいコンテンツリリースを作成する
edit_release – 既存のリリースのメタデータを更新する
Schedule_release – 特定の時間にリリースを公開するスケジュールを設定します
release_action – リリースに対するアクションを実行する(公開、アーカイブ、アーカイブ解除、スケジュール解除、削除)
バージョン管理
create_version – 特定のリリースのドキュメントのバージョンを作成する
破棄バージョン– リリースから特定のバージョンのドキュメントを削除する
mark_for_unpublish – 特定のリリースが公開されたときに、ドキュメントを非公開としてマークします
データセット管理
get_datasets – プロジェクト内のすべてのデータセットを一覧表示する
create_dataset – 新しいデータセットを作成する
update_dataset – データセット設定を変更する
スキーマ情報
get_schema – 完全なスキーマまたは特定のタイプのスキーマの詳細を取得します。
list_workspace_schemas – 利用可能なすべてのワークスペーススキーマ名のリストを取得します
GROQサポート
get_groq_specification – GROQ言語仕様の概要を取得する
埋め込みとセマンティック検索
list_embeddings_indices – 利用可能な埋め込みインデックスをすべて一覧表示する
semantic_search – 埋め込みインデックスでセマンティック検索を実行する
プロジェクト情報
list_projects – アカウントに関連付けられているすべてのSanityプロジェクトを一覧表示します
get_project_studios – 特定のプロジェクトにリンクされたスタジオアプリケーションを取得する
⚙️ 構成
サーバーは次の環境変数を受け取ります。
変数 | 説明 | 必須 |
| Sanity APIトークン | ✅ |
| SanityプロジェクトID | ✅ |
| 使用するデータセット | ✅ |
| ツールのアクセス レベル (開発者または編集者) を決定します | ✅ |
| API ホスト (デフォルトはhttps://api.sanity.io ) | ❌ |
>本番環境データセットでのAIの使用についてMCPサーバーに本番環境データセットへの書き込みアクセス権を持つトークンを設定する場合、AIがコンテンツの作成、更新、削除といった破壊的なアクションを実行できることにご注意ください。読み取り専用トークンを使用している場合は、この問題は発生しません。現在、ガードレールの開発を積極的に進めておりますが、書き込みアクセス権を必要とするAI操作のテストには、開発/ステージングデータセットの使用をご検討の上、慎重にご対応ください。
🔑 APIトークンと権限
MCPサーバーが正しく機能するには、適切なAPIトークンと権限が必要です。必要な情報は以下のとおりです。
ロボットトークンを生成する:
プロジェクトの管理コンソールに移動します: 設定 > API > トークン
「新しいトークンを追加」をクリックします
MCPサーバーの使用専用のトークンを作成する
トークンは安全に保管してください。表示されるのは 1 回だけです。
必要な権限:
トークンには使用状況に応じた適切な権限が必要です
基本的な読み取り操作の場合:
viewerロールで十分ですコンテンツ管理の場合:
editorまたはdeveloper役割を推奨高度な操作(データセットの管理など)には
administratorロールが必要になる場合があります
データセットアクセス:
公開データセット: 認証されていないユーザーでもコンテンツを読み取ることができます
プライベートデータセット: 適切なトークン認証が必要
下書きおよびバージョン管理されたコンテンツ: 適切な権限を持つ認証済みユーザーのみがアクセスできます
セキュリティのベストプラクティス:
異なる環境(開発、ステージング、本番)ごとに別々のトークンを使用する
トークンをバージョン管理にコミットしない
トークン管理には環境変数の使用を検討する
セキュリティのためにトークンを定期的にローテーションする
👥 ユーザーロール
サーバーは 2 つのユーザー ロールをサポートします。
開発者: すべてのツールへのアクセス
エディター: プロジェクト管理のないコンテンツ重視のツール
📦 Node.js 環境のセットアップ
Node Version Manager ユーザーの皆様へ:
nvm、mise、fnm、nvm-windowsなどのツールをご利用の場合は、MCP サーバーが Node.js にアクセスできるようにするために、以下の設定手順に従う必要があります。これは一度だけ行う設定で、後々のトラブルシューティングにかかる時間を節約できます。これは MCP サーバーで現在発生している問題です。
🛠 Node バージョン マネージャー ユーザー向けのクイック セットアップ
まず、希望する Node.js バージョンをアクティブ化します。
# Using nvm nvm use 20 # or your preferred version # Using mise mise use node@20 # Using fnm fnm use 20次に、必要なシンボリックリンクを作成します(OS を選択してください)。
macOS/Linuxの場合:
sudo ln -sf "$(which node)" /usr/local/bin/node && sudo ln -sf "$(which npx)" /usr/local/bin/npxNOTE一般的に
sudoの使用には注意が必要ですが、このコンテキストでは次の理由から安全です。既存のNode.jsバイナリへのシンボリックリンクのみを作成します
ターゲットディレクトリ(
/usr/local/bin)は、ユーザーがインストールしたプログラムの標準的なシステムの場所です。シンボリックリンクは、すでにインストールされていて信頼できるバイナリのみを指します。
これらのシンボリックリンクは、後で
sudo rmで簡単に削除できます。
Windows の場合 (管理者として PowerShell を実行):
New-Item -ItemType SymbolicLink -Path "C:\Program Files\nodejs\node.exe" -Target (Get-Command node).Source -Force New-Item -ItemType SymbolicLink -Path "C:\Program Files\nodejs\npx.cmd" -Target (Get-Command npx).Source -Forceセットアップを確認します。
# Should show your chosen Node version /usr/local/bin/node --version # macOS/Linux "C:\Program Files\nodejs\node.exe" --version # Windows
🤔 なぜこれが必要なのでしょうか?
MCPサーバーは、 nodeおよびnpxバイナリを直接呼び出すことで起動されます。Nodeバージョンマネージャーを使用する場合、これらのバイナリはシステムアプリケーションから自動的にアクセスできない隔離された環境で管理されます。上記のシンボリックリンクは、バージョンマネージャーとMCPサーバーが使用するシステムパスの間にブリッジを作成します。
🔍 トラブルシューティング
Node バージョンを頻繁に切り替える場合:
Nodeのバージョンを変更するときは、シンボリックリンクを更新することを忘れないでください
これを自動化するには、シェル エイリアスまたはスクリプトを作成します。
# Example alias for your .bashrc or .zshrc alias update-node-symlinks='sudo ln -sf "$(which node)" /usr/local/bin/node && sudo ln -sf "$(which npx)" /usr/local/bin/npx'
後でシンボリックリンクを削除するには:
# macOS/Linux
sudo rm /usr/local/bin/node /usr/local/bin/npx
# Windows (PowerShell as Admin)
Remove-Item "C:\Program Files\nodejs\node.exe", "C:\Program Files\nodejs\npx.cmd"💻 開発
依存関係をインストールします:
pnpm install開発モードでビルドして実行します。
pnpm run devサーバーを構築します。
pnpm run build構築したサーバーを実行します。
pnpm startデバッグ
デバッグには、MCP インスペクタを使用できます。
npx @modelcontextprotocol/inspector -e SANITY_API_TOKEN=<token> -e SANITY_PROJECT_ID=<project_id> -e SANITY_DATASET=<ds> -e MCP_USER_ROLE=developer node path/to/build/index.jsこれにより、利用可能なツールを検査およびテストするための Web インターフェイスが提供されます。
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sanity-io/sanity-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server