Skip to main content
Glama

Sanity MCP サーバー

SanityのAI搭載ツールでコンテンツ運用を変革しましょう。お気に入りのAI対応エディターで自然言語による会話を通してコンテンツを作成、管理、探索できます。

Sanity MCP Serverは、モデルコンテキストプロトコルを実装し、SanityプロジェクトをClaude、Cursor、VS CodeなどのAIツールに接続します。これにより、AIモデルはコンテンツ構造を理解し、自然言語による指示に基づいて操作を実行できるようになります。

✨ 主な特徴

  • 🤖コンテンツインテリジェンス: AIがコンテンツライブラリを探索して理解します

  • 🔄コンテンツ操作:自然言語指示によるタスクの自動化

  • 📊スキーマ認識: AIはコンテンツの構造と検証ルールを尊重します

  • 🚀リリース管理: コンテンツのリリースを簡単に計画、整理

  • 🔍セマンティック検索:キーワードだけでなく意味に基づいてコンテンツを検索します

Related MCP server: Sanity MCP Server

目次

🔌 クイックスタート

前提条件

MCP サーバーを使用する前に、次のことを行う必要があります。

  1. スキーママニフェストを使用して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 deploy

    Sanity ログインなしで CI 環境で実行する場合は、認証トークンを提供する必要があります。

    SANITY_AUTH_TOKEN=<token> sanity schema deploy

    NOTE

    スキーマのデプロイには、Sanity CLI バージョン 3.88.1 以降が必要です。

  2. API認証情報を取得する

    • プロジェクトID

    • データセット名

    • 適切な権限を持つAPIトークン

この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_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トークンと権限が必要です。必要な情報は以下のとおりです。

  1. ロボットトークンを生成する:

    • プロジェクトの管理コンソールに移動します: 設定 > API > トークン

    • 「新しいトークンを追加」をクリックします

    • MCPサーバーの使用専用のトークンを作成する

    • トークンは安全に保管してください。表示されるのは 1 回だけです。

  2. 必要な権限:

    • トークンには使用状況に応じた適切な権限が必要です

    • 基本的な読み取り操作の場合: viewerロールで十分です

    • コンテンツ管理の場合: editorまたはdeveloper役割を推奨

    • 高度な操作(データセットの管理など)にはadministratorロールが必要になる場合があります

  3. データセットアクセス:

    • 公開データセット: 認証されていないユーザーでもコンテンツを読み取ることができます

    • プライベートデータセット: 適切なトークン認証が必要

    • 下書きおよびバージョン管理されたコンテンツ: 適切な権限を持つ認証済みユーザーのみがアクセスできます

  4. セキュリティのベストプラクティス:

    • 異なる環境(開発、ステージング、本番)ごとに別々のトークンを使用する

    • トークンをバージョン管理にコミットしない

    • トークン管理には環境変数の使用を検討する

    • セキュリティのためにトークンを定期的にローテーションする

👥 ユーザーロール

サーバーは 2 つのユーザー ロールをサポートします。

  • 開発者: すべてのツールへのアクセス

  • エディター: プロジェクト管理のないコンテンツ重視のツール

📦 Node.js 環境のセットアップ

Node Version Manager ユーザーの皆様へnvmmisefnmnvm-windowsなどのツールをご利用の場合は、MCP サーバーが Node.js にアクセスできるようにするために、以下の設定手順に従う必要があります。これは一度だけ行う設定で、後々のトラブルシューティングにかかる時間を節約できます。これは MCP サーバーで現在発生している問題です。

🛠 Node バージョン マネージャー ユーザー向けのクイック セットアップ

  1. まず、希望する Node.js バージョンをアクティブ化します。

    # Using nvm
    nvm use 20   # or your preferred version
    
    # Using mise
    mise use node@20
    
    # Using fnm
    fnm use 20
  2. 次に、必要なシンボリックリンクを作成します(OS を選択してください)。

    macOS/Linuxの場合:

    sudo ln -sf "$(which node)" /usr/local/bin/node && sudo ln -sf "$(which npx)" /usr/local/bin/npx

    NOTE

    一般的に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
  3. セットアップを確認します。

    # 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 インターフェイスが提供されます。

Install Server
A
license - permissive license
-
quality - not tested
C
maintenance

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