Skip to main content
Glama

Sanity MCP Server

Official
by sanity-io

Сервер 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 schema deploy # Option B: Update your Studio cd /path/to/studio npm update sanity npx sanity schema deploy
    При работе в средах CI без входа в систему Sanity вам потребуется предоставить токен аутентификации:
    SANITY_AUTH_TOKEN=<token> sanity schema deploy

    [!ПРИМЕЧАНИЕ] Для развертывания схемы требуется Sanity CLI версии 3.88.1 или более поздней.

  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", "MCP_USER_ROLE": "developer" } } } }

Полный список всех обязательных и необязательных переменных среды см. в разделе «Конфигурация» .

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

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

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

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

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

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

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

  • create_document – создать новый документ с содержимым, сгенерированным ИИ на основе инструкций
  • update_document – обновить существующий документ с помощью контента, созданного ИИ на основе инструкций
  • patch_document — применение прямых операций исправления для изменения определенных частей документа без использования генерации ИИ.
  • transform_document – Преобразование содержимого документа с сохранением форматирования и структуры, идеально подходит для замены текста и исправления стиля.
  • translate_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_workspace_schemas – Получить список всех доступных имен схем рабочих пространств

Поддержка 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Набор данных для использования
MCP_USER_ROLEОпределяет уровень доступа к инструменту (разработчик или редактор)
SANITY_API_HOSTХост API (по умолчанию https://api.sanity.io )

[!WARNING] > Использование ИИ с производственными наборами данных При настройке сервера 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

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

Install Server
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

      • -
        security
        F
        license
        -
        quality
        A 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 -
        5
        TypeScript
        • Apple
      • -
        security
        F
        license
        -
        quality
        An 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
      • -
        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
        A
        license
        -
        quality
        A Model Context Protocol server that enables Claude to interact directly with Contentful CMS, allowing the AI to fetch content types and entries from a Contentful space.
        Last updated -
        1
        TypeScript
        MIT License

      View all related MCP servers

      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