Skip to main content
Glama

Страпи MCP

MCP-сервер для Strapi CMS, обеспечивающий доступ к типам контента и записям через протокол контекста модели.

Обзор

Этот сервер MCP интегрируется с любым экземпляром Strapi CMS и обеспечивает:

  • Доступ к типам контента Strapi как к ресурсам

  • Инструменты для создания и обновления типов контента в Strapi

  • Инструменты для управления записями контента (создание, чтение, обновление, удаление)

  • Поддержка Strapi в режиме разработки

Related MCP server: Ledger MCP Server

Настраивать

Переменные среды

Для хранения учетных данных рекомендуется использовать файл .env в корне проекта.

  • STRAPI_URL : URL-адрес вашего экземпляра Strapi (по умолчанию: http://localhost:1337 )

  • STRAPI_ADMIN_EMAIL : адрес электронной почты администратора Strapi (рекомендуется для полной функциональности, особенно доступа к схеме).

  • STRAPI_ADMIN_PASSWORD : пароль для администратора Strapi (рекомендуется).

  • STRAPI_API_TOKEN : (Необязательный резерв) API-токен. Может использоваться, если не предоставлены учетные данные администратора, но может иметь ограниченные разрешения.

  • STRAPI_DEV_MODE : установите значение "true" , чтобы включить функции режима разработки (по умолчанию — false ).

Пример файла

STRAPI_URL=http://localhost:1337 STRAPI_ADMIN_EMAIL=your_admin_email@example.com STRAPI_ADMIN_PASSWORD=your_admin_password # STRAPI_API_TOKEN=your_api_token_here # Optional

Важно: добавьте .env в файл .gitignore , чтобы избежать передачи учетных данных.

Установка

npm install strapi-mcp

Бег

Рекомендуемый метод (с использованием конфигурации Cursor MCP):

Для пользователей Cursor настройте сервер strapi-mcp в файле ~/.cursor/mcp.json :

"strapi-mcp": { "command": "node", "args": ["/path/to/strapi-mcp/build/index.js"], "env": { "STRAPI_URL": "http://localhost:1337", "STRAPI_ADMIN_EMAIL": "your_admin_email@example.com", "STRAPI_ADMIN_PASSWORD": "your_admin_password" } }

Курсор будет автоматически управлять жизненным циклом сервера при использовании инструментов strapi-mcp.

Альтернативный метод (с использованием файла

Убедитесь, что вы собрали проект ( npm run build ). Затем запустите сервер с помощью Node.js v20.6.0+ с флагом --env-file :

node --env-file=.env build/index.js

Альтернатива (использование переменных окружения напрямую):

export STRAPI_URL=http://localhost:1337 export STRAPI_ADMIN_EMAIL=your_admin_email@example.com export STRAPI_ADMIN_PASSWORD=your_admin_password # export STRAPI_API_TOKEN=your-api-token # Optional fallback export STRAPI_DEV_MODE=true # optional # Run the globally installed package (if installed via npm install -g) strapi-mcp # Or run the local build directly node build/index.js

Функции

  • Перечислите и прочитайте типы контента

  • Получать, создавать, обновлять и удалять записи

  • Загрузить медиа-файлы

  • Подключать и отключать отношения

  • Получить схемы типов контента

Журнал изменений

0.1.6

  • Добавлен инструмент позволяет создавать новые типы контента с помощью API Content-Type Builder (требуются учетные данные администратора).

  • Приоритетные учетные данные администратора: обновленная логика для предпочтения адреса электронной почты и пароля администратора для получения типов контента и схем, что повышает надежность.

  • Обновленная документация: уточнены методы аутентификации и рекомендуемые процедуры выполнения.

0.1.5

  • Улучшенное обнаружение типа контента с помощью нескольких резервных методов

  • Добавлена более надежная обработка ошибок и ведение журнала.

  • Улучшенный вывод схемы для типов контента

0.1.4

  • Улучшенная обработка ошибок с более конкретными кодами ошибок

  • Добавлены коды ошибок ResourceNotFound и AccessDenied .

  • Улучшенные сообщения об ошибках для распространенных ошибок API

0.1.3

  • Первоначальный публичный релиз

Лицензия

Массачусетский технологический институт

Strapi-mcp MCP-сервер

MCP-сервер для вашей Strapi CMS

Это MCP-сервер на основе TypeScript, который интегрируется с Strapi CMS. Он обеспечивает доступ к типам контента и записям Strapi через протокол MCP, позволяя вам:

  • Доступ к типам контента Strapi как к ресурсам

  • Создание, чтение, обновление и удаление записей контента

  • Управляйте контентом Strapi с помощью инструментов MCP

Функции

Ресурсы

  • Список и доступ к типам контента через strapi://content-type/

  • Каждый тип контента представляет свои записи в формате JSON.

  • Тип MIME приложения/JSON для доступа к структурированному контенту

Инструменты

  • list_content_types — список всех доступных типов контента в Strapi

  • get_entries — получение записей для определенного типа контента с дополнительной фильтрацией, разбиением на страницы, сортировкой и заполнением связей

  • get_entry — Получить конкретную запись по идентификатору

  • create_entry — создать новую запись для типа контента

  • update_entry — обновить существующую запись

  • delete_entry - Удалить запись

  • upload_media — загрузить медиа-файл на Strapi

  • get_content_type_schema — получить схему (поля, типы, отношения) для определенного типа контента.

  • connect_relation — подключение связанных записей к полю связи записи.

  • disconnect_relation — Отключить связанные записи от поля связи записи.

  • create_content_type — создание нового типа контента с помощью API Content-Type Builder (требуются права администратора).

  • publish_entry — Опубликовать определенную запись.

  • unpublish_entry — Отменить публикацию определенной записи.

  • list_components — список всех доступных компонентов в Strapi.

  • get_component_schema — Получить схему для определенного компонента.

  • create_component — Создать новый компонент.

  • update_component — обновить существующий компонент.

Расширенные функции

Фильтрация, разбиение на страницы и сортировка

Инструмент get_entries поддерживает расширенные параметры запроса:

{ "contentType": "api::article.article", "filters": { "title": { "$contains": "hello" } }, "pagination": { "page": 1, "pageSize": 10 }, "sort": ["title:asc", "createdAt:desc"], "populate": ["author", "categories"] }

URI ресурсов

Доступ к ресурсам можно получить с помощью различных форматов URI:

  • strapi://content-type/api::article.article — Получить все статьи

  • strapi://content-type/api::article.article/1 — Получить статью с идентификатором 1

  • strapi://content-type/api::article.article?filters={"title":{"$contains":"hello"}} - Получить отфильтрованные статьи

Публикация и отмена публикации контента

Инструменты publish_entry и unpublish_entry обеспечивают контроль над жизненным циклом контента:

{ "contentType": "api::article.article", "id": "1" }

Эти инструменты используют пути API администратора для действий публикации/отмены публикации, а также возможность прямого обновления поля publishedAt если разрешения администратора недоступны.

Управление компонентами

Компонентами Strapi можно управлять с помощью следующих инструментов:

  • list_components : Получить все доступные компоненты

  • get_component_schema : Просмотр структуры определенного компонента

  • create_component : Создать новый компонент с указанными полями

  • update_component : Изменить существующий компонент

Пример создания компонента:

{ "componentData": { "displayName": "Security Settings", "category": "security", "icon": "shield", "attributes": { "enableTwoFactor": { "type": "boolean", "default": false }, "passwordExpiration": { "type": "integer", "min": 0 } } } }

Разработка

Установите зависимости:

npm install

Сборка сервера:

npm run build

Для разработки с автоматической пересборкой:

npm run watch

Установка

Подробные пошаговые инструкции по развертыванию и тестированию этого сервера MCP см. в файле DEPLOYMENT.md .

Быстрая настройка:

  1. Соберите сервер: npm run build

  2. Настройте свой экземпляр Strapi и получите токен API

  3. Добавьте конфигурацию сервера в Claude Desktop:

В MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json В Windows: %APPDATA%/Claude/claude_desktop_config.json

{ "mcpServers": { "strapi-mcp": { "command": "/path/to/strapi-mcp/build/index.js", "env": { "STRAPI_URL": "http://localhost:1337", "STRAPI_API_TOKEN": "your-api-token-here", "STRAPI_DEV_MODE": "false" } } } }

Переменные среды

  • STRAPI_URL (необязательно): URL-адрес вашего экземпляра Strapi (по умолчанию http://localhost:1337 )

  • STRAPI_ADMIN_EMAIL & STRAPI_ADMIN_PASSWORD (рекомендуется): Учетные данные для пользователя-администратора Strapi. Требуется для полной функциональности, например, для извлечения схем типов контента.

  • STRAPI_API_TOKEN (необязательный резерв): Ваш токен API Strapi. Может использоваться, если не предоставлены учетные данные администратора, но функциональность может быть ограничена в зависимости от разрешений токена.

  • STRAPI_DEV_MODE (необязательно): установите значение «true», чтобы включить функции режима разработки (по умолчанию — false)

Приоритет аутентификации

Сервер устанавливает приоритеты методов аутентификации в следующем порядке:

  1. Адрес электронной почты и пароль администратора ( STRAPI_ADMIN_EMAIL , STRAPI_ADMIN_PASSWORD )

  2. Токен API ( STRAPI_API_TOKEN )

Для достижения наилучших результатов настоятельно рекомендуется использовать учетные данные администратора.

Получение учетных данных Strapi

  • Учетные данные администратора: используйте адрес электронной почты и пароль существующего суперадминистратора или создайте специального пользователя-администратора в панели администратора Strapi (Настройки > Панель администрирования > Пользователи).

  • API-токен: (необязательный резервный вариант)

  1. Войдите в свою панель администратора Strapi.

  2. Перейдите в Настройки > API-токены.

  3. Нажмите «Создать новый API-токен».

  4. Задайте имя, описание и тип токена (предпочтительно «Полный доступ»).

  5. Скопируйте сгенерированный токен и используйте его в конфигурации вашего сервера MCP.

Отладка

Поскольку серверы MCP взаимодействуют через stdio, отладка может быть сложной. Мы рекомендуем использовать MCP Inspector , который доступен как пакетный скрипт:

npm run inspector

Инспектор предоставит URL-адрес для доступа к инструментам отладки в вашем браузере.

Примеры использования

После настройки и запуска сервера MCP вы можете использовать его с Claude для взаимодействия с вашей Strapi CMS. Вот несколько примеров:

Типы контента листинга

use_mcp_tool( server_name: "strapi-mcp", tool_name: "list_content_types", arguments: {} )

Получение записей

use_mcp_tool( server_name: "strapi-mcp", tool_name: "get_entries", arguments: { "contentType": "api::article.article", "filters": { "title": { "$contains": "hello" } }, "pagination": { "page": 1, "pageSize": 10 }, "sort": ["title:asc"] } )

Создание записи

use_mcp_tool( server_name: "strapi-mcp", tool_name: "create_entry", arguments: { "contentType": "api::article.article", "data": { "title": "My New Article", "content": "This is the content of my article.", "publishedAt": "2023-01-01T00:00:00.000Z" } } )

Загрузка медиа

use_mcp_tool( server_name: "strapi-mcp", tool_name: "upload_media", arguments: { "fileData": "base64-encoded-data-here", "fileName": "image.jpg", "fileType": "image/jpeg" } )

Связующие отношения

use_mcp_tool( server_name: "strapi-mcp", tool_name: "connect_relation", arguments: { "contentType": "api::article.article", "id": "1", "relationField": "authors", "relatedIds": [2, 3] } )

Разрыв отношений

use_mcp_tool( server_name: "strapi-mcp", tool_name: "disconnect_relation", arguments: { "contentType": "api::article.article", "id": "1", "relationField": "authors", "relatedIds": [3] } )

Создание типа контента

use_mcp_tool( server_name: "strapi-mcp-local", tool_name: "create_content_type", arguments: { "displayName": "My New Product", "singularName": "product", "pluralName": "products", "kind": "collectionType", "description": "Represents products in the store", "draftAndPublish": true, "attributes": { "name": { "type": "string", "required": true }, "description": { "type": "text" }, "price": { "type": "decimal", "required": true }, "stock": { "type": "integer" } } } )

Обновление типа контента

use_mcp_tool( server_name: "strapi-mcp-local", tool_name: "update_content_type", arguments: { "contentType": "api::speaker.speaker", "attributes": { "isHighlightSpeaker": { "type": "boolean", "default": false }, "newTextField": { "type": "string" } } } )

Доступ к ресурсам

-
security - not tested
A
license - permissive license
-
quality - not tested

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/l33tdawg/strapi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server