Sanity MCP サーバー
SanityのAI搭載ツールでコンテンツ運用を変革しましょう。お気に入りのAI対応エディターで自然言語による会話を通してコンテンツを作成、管理、探索できます。
Sanity MCP Serverは、モデルコンテキストプロトコルを実装し、SanityプロジェクトをClaude、Cursor、VS CodeなどのAIツールに接続します。これにより、AIモデルはコンテンツ構造を理解し、自然言語による指示に基づいて操作を実行できるようになります。
✨ 主な特徴
- 🤖コンテンツインテリジェンス: AIがコンテンツライブラリを探索して理解します
- 🔄コンテンツ操作:自然言語指示によるタスクの自動化
- 📊スキーマ認識: AIはコンテンツの構造と検証ルールを尊重します
- 🚀リリース管理: コンテンツのリリースを簡単に計画、整理
- 🔍セマンティック検索:キーワードだけでなく意味に基づいてコンテンツを検索します
目次
🔌 クイックスタート
前提条件
MCP サーバーを使用する前に、次のことを行う必要があります。
- スキーママニフェストを使用してSanity StudioをデプロイするMCPサーバーが効果的に機能するには、コンテンツ構造にアクセスする必要があります。スキーママニフェストは、次のいずれかの方法でデプロイしてください。Sanity ログインなしで CI 環境で実行する場合は、認証トークンを提供する必要があります。
[!NOTE] スキーマのデプロイには、Sanity CLI バージョン 3.88.1 以降が必要です。
- API認証情報を取得する
- プロジェクトID
- データセット名
- 適切な権限を持つAPIトークン
このMCPサーバーは、モデルコンテキストプロトコルをサポートするあらゆるアプリケーションで使用できます。以下に、よく使われる例をいくつか示します。
- クロードデスクトップ
- カーソルIDE
- ビジュアルスタジオコード
- カスタムMCP互換アプリケーション
Sanity MCPサーバーの設定を追加する
Sanity MCP サーバーを使用するには、アプリケーションの MCP 設定に次の構成を追加します。
必須およびオプションの環境変数の完全なリストについては、 「構成」セクションを参照してください。
この構成の正確な場所はアプリケーションによって異なります。
応用 | 構成場所 |
---|---|
クロードデスクトップ | 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_TOKEN | Sanity APIトークン | ✅ |
SANITY_PROJECT_ID | SanityプロジェクトID | ✅ |
SANITY_DATASET | 使用するデータセット | ✅ |
MCP_USER_ROLE | ツールのアクセス レベル (開発者または編集者) を決定します | ✅ |
SANITY_API_HOST | API ホスト (デフォルトはhttps://api.sanity.io ) | ❌ |
[!WARNING] >本番環境データセットでの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 バージョンをアクティブ化します。
- 次に、必要なシンボリックリンクを作成します(OS を選択してください)。macOS/Linuxの場合:
Windows の場合 (管理者として PowerShell を実行):[!NOTE] 一般的に
sudo
の使用には注意が必要ですが、このコンテキストでは次の理由から安全です。- 既存のNode.jsバイナリへのシンボリックリンクのみを作成します
- ターゲットディレクトリ(
/usr/local/bin
)は、ユーザーがインストールしたプログラムの標準的なシステムの場所です。 - シンボリックリンクは、すでにインストールされていて信頼できるバイナリのみを指します。
- これらのシンボリックリンクは、後で
sudo rm
で簡単に削除できます。
- セットアップを確認します。
🤔 なぜこれが必要なのでしょうか?
MCPサーバーは、 node
およびnpx
バイナリを直接呼び出すことで起動されます。Nodeバージョンマネージャーを使用する場合、これらのバイナリはシステムアプリケーションから自動的にアクセスできない隔離された環境で管理されます。上記のシンボリックリンクは、バージョンマネージャーとMCPサーバーが使用するシステムパスの間にブリッジを作成します。
🔍 トラブルシューティング
Node バージョンを頻繁に切り替える場合:
- Nodeのバージョンを変更するときは、シンボリックリンクを更新することを忘れないでください
- これを自動化するには、シェル エイリアスまたはスクリプトを作成します。
後でシンボリックリンクを削除するには:
💻 開発
依存関係をインストールします:
開発モードでビルドして実行します。
サーバーを構築します。
構築したサーバーを実行します。
デバッグ
デバッグには、MCP インスペクタを使用できます。
これにより、利用可能なツールを検査およびテストするための Web インターフェイスが提供されます。
SanityコンテンツをAIエージェントに接続します。Claude、Cursor、VS Codeをモデルコンテキストプロトコル経由で使用し、構造化されたコンテンツを作成、更新、探索できます。コンテンツ操作を複雑なクエリからシンプルな会話へと変換することで、構造を損なうことなくチームに大きな力を与えます。
Related MCP Servers
- -securityFlicense-qualityA comprehensive suite of Model Context Protocol servers designed to extend AI agent Claude's capabilities with integrations for knowledge management, reasoning, advanced search, news access, and workspace tools.Last updated -5TypeScript
- -securityAlicense-qualityFacilitates integration with Claude Desktop to run AI agents and execute purchased actions without code, leveraging the Model Context Protocol framework.Last updated -1TypeScriptGPL 3.0
- -securityFlicense-qualityAn MCP server that enables Claude Desktop to interact with Sanity.io content, providing tools to create, edit, list documents and get schema templates.Last updated -TypeScript
- -securityAlicense-qualityEnables AI agents and assistants like Goose or Claude to interact with VS Code through the Model Context Protocol.Last updated -14TypeScriptApache 2.0