Skip to main content
Glama

optimizely-test-data-mcp

MCP-сервер, который превращает контент-план в импортируемый пакет .episerverdata для Optimizely CMS 12.

Генератор никогда не обращается к CMS. Он читает экспорт типов контента и записывает файл; человек экспортирует схему, и человек импортирует результат в разделе Администрирование → Импорт данных.

Использование

{
  "mcpServers": {
    "optimizely-testdata": {
      "command": "bunx",
      "args": ["optimizely-test-data-mcp@0.1.0"]
    }
  }
}

Зафиксируйте версию. Незакреплённая спецификация переразрешается при каждом запуске сеанса, а не берётся из кэша — на Windows это измерялось как ~11 секунд на запуск против ~0,7 секунд при закреплении.

npx работает так же, если вы предпочитаете не использовать Bun.

Related MCP server: PBIP Builder MCP Server

Инструменты

Инструмент

Назначение

load_schema

Загружает типы контента сайта из экспорта Администрирование → Экспорт данных (только типы контента). Все остальные инструменты не работают, пока это не выполнено.

list_content_types

Находит типы, которые есть на сайте, с фильтрацией по виду или имени.

describe_content_type

Свойства одного типа, какие из них обязательны, и готовый к редактированию каркас плана.

validate_plan

Проверяет план без записи. Ошибки указывают ожидаемую структуру.

build_package

Записывает файл .episerverdata.

inspect_package

Суммирует дерево контента внутри существующего пакета.

Ограничения

Медиа, встроенные свойства блоков, неопубликованный контент, более одного языка, Category и нетипизированный Json не генерируются. Любой тип свойства без проверенной сериализации оставляется пустым с предупреждением, а не угадывается — неверное предположение даёт контент, который выглядит правильно, но содержит скрытые ошибки.

Работает: страницы, блоки, вложенные деревья страниц, текст, HTML, ContentArea, ссылки на контент и токены {{date:±Nd}} / {{date:±Nh}} / {{date:±Nm}}.

Релиз

  1. Увеличьте version в package.json.

  2. Сделайте коммит, затем создайте тег и отправьте:

git tag v0.2.0
git push origin v0.2.0

Рабочий процесс проверяет тег на соответствие package.json, запускает тесты, собирает dist/ и публикует через доверенную публикацию OIDC — не нужно хранить токен.

Релиз — это задача CI. Нет хука prepublishOnly, поэтому npm publish сам по себе не собирает проект: dist/ игнорируется git, и публикация без него отправляет пакет, у которого files: ["dist"] не соответствует ничему. npm принимает это и завершается с кодом 0, так что ничто не сообщает об ошибке — сломанная версия просто доходит до потребителей. Если вам всё же нужно опубликовать вручную, сначала выполните bun run build.

Такая ручная публикация требуется ровно один раз: npm может доверять только пакету, который он уже знает. Опубликуйте 0.1.0 вручную (bun run build, затем npm publish после npm login), затем добавьте доверенного издателя в разделе Settings → Trusted Publisher на npmjs.com, указав этот репозиторий и publish.yml. Каждый последующий релиз происходит из тега.

Потребители закрепляют используемую версию — см. конфигурацию выше. Изменение версии здесь не влияет на них, пока они не обновят эту закреплённую версию.

Related MCP Connectors

Related MCP Servers