Sanity MCP Server

Official
by sanity-io

Integrations

  • Runs as a Node.js application, requiring proper Node.js environment setup to function correctly with MCP-compatible applications.

  • Provides special configuration instructions for users of Node Version Manager to ensure the MCP server can access Node.js properly.

  • Enables AI-powered tools for content operations in Sanity CMS, allowing users to create, update, and manage documents, handle release management, perform semantic searches, and access schema information through natural language instructions.

Сервер MCP Sanity

Трансформируйте свои операции с контентом с помощью инструментов на базе ИИ для Sanity. Создавайте, управляйте и исследуйте свой контент с помощью разговоров на естественном языке в вашем любимом редакторе с поддержкой ИИ.

Sanity MCP Server реализует протокол контекста модели для соединения ваших проектов Sanity с инструментами ИИ, такими как Claude, Cursor и VS Code. Он позволяет моделям ИИ понимать структуру вашего контента и выполнять операции с помощью инструкций на естественном языке.

✨ Основные характеристики

  • 🤖 Анализ контента : позвольте ИИ исследовать и понимать вашу библиотеку контента
  • 🔄 Операции с контентом : автоматизация задач с помощью инструкций на естественном языке
  • 📊 Поддержка схем : ИИ учитывает структуру вашего контента и правила проверки
  • 🚀 Управление релизами : легко планируйте и организуйте выпуски контента
  • 🔍 Семантический поиск : находите контент на основе смысла, а не только ключевых слов.

Оглавление

🔌 Быстрый старт

Предпосылки

Прежде чем вы сможете использовать сервер MCP, вам необходимо:

  1. Разверните Sanity Studio с помощью манифеста схемыСерверу MCP необходим доступ к вашей структуре контента для эффективной работы. Разверните манифест схемы, используя один из этих подходов:
    # Option A: If you have the CLI installed globally npm install -g sanity cd /path/to/studio SANITY_CLI_SCHEMA_STORE_ENABLED=true sanity schema deploy # Option B: Update your Studio cd /path/to/studio npm update sanity SANITY_CLI_SCHEMA_STORE_ENABLED=true npx sanity schema deploy

    [!NOTE] Для развертывания схемы требуется как последняя версия CLI, так и флаг SANITY_CLI_SCHEMA_STORE_ENABLED. Эта функция будет включена по умолчанию в будущем выпуске.

  2. Получите ваши учетные данные API
    • Идентификатор проекта
    • Имя набора данных
    • API-токен с соответствующими разрешениями

Этот сервер MCP может использоваться с любым приложением, которое поддерживает Model Context Protocol. Вот несколько популярных примеров:

Добавить конфигурацию для сервера 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" } } } }

Точное расположение этой конфигурации будет зависеть от вашего приложения:

ПриложениеРасположение конфигурации
Клод ДесктопФайл конфигурации рабочего стола Клода
КурсорРабочее пространство или глобальные настройки
Код VSРабочее пространство или настройки пользователя (зависит от расширения)
Пользовательские приложенияОзнакомьтесь с документацией по интеграции MCP вашего приложения.

У вас не работает? Смотрите раздел о конфигурации Node.js.

🛠️ Доступные инструменты

Контекст и настройка

  • get_initial_context – ВАЖНО: необходимо вызвать перед использованием любых других инструментов для инициализации контекста и получения инструкций по использованию.
  • get_sanity_config – извлекает текущую конфигурацию Sanity (projectId, dataset, apiVersion и т. д.)

Операции с документами

  • create_document – создать новый документ с содержимым, сгенерированным ИИ на основе инструкций
  • update_document – обновить существующий документ с помощью контента, созданного ИИ на основе инструкций
  • patch_document — применение прямых операций исправления для изменения определенных частей документа без использования генерации ИИ.
  • query_documents – Выполнение запросов GROQ для поиска и извлечения контента
  • document_action – выполнение действий с документами, таких как публикация, отмена публикации или удаление документов.

Управление релизами

  • list_releases – список релизов контента, опционально отфильтрованных по состоянию
  • create_release – Создать новый выпуск контента
  • edit_release – Обновить метаданные для существующего релиза
  • schedule_release – Запланировать публикацию релиза на определенное время
  • release_action – Выполнение действий с релизами (публикация, архивация, разархивация, отмена планирования, удаление)

Управление версиями

  • create_version – Создать версию документа для определенного выпуска
  • discard_version – Удалить определенную версию документа из релиза
  • mark_for_unpublish – Отметить документ как не публикуемый при публикации определенного релиза

Управление наборами данных

  • get_datasets – Список всех наборов данных в проекте
  • create_dataset – Создать новый набор данных
  • update_dataset – Изменить настройки набора данных

Информация о схеме

  • get_schema – Получить сведения о схеме, как полной, так и для определенного типа
  • list_schema_ids – Список всех доступных идентификаторов схем

Поддержка GROQ

  • get_groq_specification – Получить сводку спецификаций языка GROQ

Встраивание и семантический поиск

  • list_embeddings_indices – Список всех доступных индексов встраиваний
  • semantic_search – Выполнение семантического поиска по индексу внедрений

Информация о проекте

  • list_projects – список всех проектов Sanity, связанных с вашей учетной записью.
  • get_project_studios – Получить приложения студии, связанные с определенным проектом

⚙️ Конфигурация

Сервер принимает следующие переменные среды:

ПеременнаяОписаниеНеобходимый
SANITY_API_TOKENВаш API-токен Sanity
SANITY_PROJECT_IDВаш идентификатор проекта Sanity
SANITY_DATASETНабор данных для использования
SANITY_API_HOSTХост API (по умолчанию https://api.sanity.io )
MCP_USER_ROLEОпределяет уровень доступа к инструменту (разработчик или редактор)

[!ПРЕДУПРЕЖДЕНИЕ]
Использование ИИ с производственными наборами данных
При настройке сервера MCP с токеном, имеющим доступ на запись в производственный набор данных, имейте в виду, что ИИ может выполнять деструктивные действия, такие как создание, обновление или удаление контента. Это не проблема, если вы используете токен только для чтения. Пока мы активно разрабатываем защитные ограждения, вам следует проявлять осторожность и рассмотреть возможность использования набора данных разработки/промежуточного тестирования для тестирования операций ИИ, требующих доступа на запись.

🔑 API-токены и разрешения

Для корректной работы сервера MCP требуются соответствующие токены API и разрешения. Вот что вам нужно знать:

  1. Сгенерировать токен робота :
    • Перейдите в консоль управления вашим проектом: Настройки > API > Токены.
    • Нажмите «Добавить новый токен».
    • Создайте специальный токен для использования вашего сервера MCP
    • Храните токен в надежном месте — он отображается только один раз!
  2. Требуемые разрешения :
    • Токену необходимы соответствующие разрешения в зависимости от вашего использования.
    • Для основных операций чтения: достаточно роли viewer
    • Для управления контентом: рекомендуется роль editor или developer
    • Для расширенных операций (например, управления наборами данных): может потребоваться роль administrator .
  3. Доступ к набору данных :
    • Публичные наборы данных: контент доступен для чтения неавторизованным пользователям
    • Частные наборы данных: требуют надлежащей аутентификации токенов
    • Черновой и версионный контент: доступен только аутентифицированным пользователям с соответствующими разрешениями.
  4. Лучшие практики безопасности :
    • Используйте отдельные токены для разных сред (разработка, подготовка, производство)
    • Никогда не передавайте токены в систему контроля версий
    • Рассмотрите возможность использования переменных среды для управления токенами
    • Регулярно меняйте токены в целях безопасности

👥 Роли пользователей

Сервер поддерживает две роли пользователей:

  • разработчик : Доступ ко всем инструментам
  • редактор : Контент-ориентированные инструменты без администрирования проекта

📦 Настройка среды Node.js

Важно для пользователей Node Version Manager : если вы используете nvm , mise , fnm , nvm-windows или аналогичные инструменты, вам нужно будет выполнить следующие шаги настройки, чтобы гарантировать, что серверы MCP могут получить доступ к Node.js. Это одноразовая настройка, которая сэкономит вам время на устранение неполадок в дальнейшем. Это постоянная проблема с серверами MCP.

🛠 Быстрая настройка для пользователей Node Version Manager

  1. Сначала активируйте предпочитаемую вами версию Node.js:
    # Using nvm nvm use 20 # or your preferred version # Using mise mise use node@20 # Using fnm fnm use 20
  2. Затем создайте необходимые символические ссылки (выберите свою ОС):На macOS/Linux:
    sudo ln -sf "$(which node)" /usr/local/bin/node && sudo ln -sf "$(which npx)" /usr/local/bin/npx

    [!ПРИМЕЧАНИЕ] Хотя использование 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

Это обеспечит веб-интерфейс для проверки и тестирования доступных инструментов.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Подключите свой контент Sanity к агентам ИИ. Создавайте, обновляйте и исследуйте структурированный контент с помощью Claude, Cursor и VS Code через Model Context Protocol. Преобразуйте операции с контентом из сложных запросов в простые разговоры, предоставив своей команде суперспособности, не жертвуя структурой.

  1. ✨ Основные характеристики
    1. Оглавление
      1. 🔌 Быстрый старт
        1. Предпосылки
        2. Добавить конфигурацию для сервера Sanity MCP
      2. 🛠️ Доступные инструменты
        1. Контекст и настройка
        2. Операции с документами
        3. Управление релизами
        4. Управление версиями
        5. Управление наборами данных
        6. Информация о схеме
        7. Поддержка GROQ
        8. Встраивание и семантический поиск
        9. Информация о проекте
      3. ⚙️ Конфигурация
        1. 🔑 API-токены и разрешения
        2. 👥 Роли пользователей
      4. 📦 Настройка среды Node.js
        1. 🛠 Быстрая настройка для пользователей Node Version Manager
        2. 🤔 Зачем это нужно?
        3. 🔍 Устранение неполадок
      5. 💻 Развитие
        1. Отладка

      Related MCP Servers

      • A
        security
        A
        license
        A
        quality
        Enables AI agents to manage issues, projects, and teams on the Linear platform programmatically.
        Last updated -
        7
        64
        49
        JavaScript
        MIT License
        • Apple
      • -
        security
        A
        license
        -
        quality
        Facilitates integration with Claude Desktop to run AI agents and execute purchased actions without code, leveraging the Model Context Protocol framework.
        Last updated -
        1
        TypeScript
        GPL 3.0
      • -
        security
        A
        license
        -
        quality
        Enables AI agents and assistants like Goose or Claude to interact with VS Code through the Model Context Protocol.
        Last updated -
        14
        TypeScript
        Apache 2.0
        • Apple
      • -
        security
        F
        license
        -
        quality
        Enables AI assistants to interact with Metabase, providing access to dashboards, questions, databases, and tools for executing queries and viewing data through natural language.
        Last updated -
        JavaScript
        • Apple

      View all related MCP servers

      ID: s8v5wceait