Skip to main content
Glama

Strapi MCP Server

Страпи MCP

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

Обзор

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

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

Настраивать

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

Для хранения учетных данных рекомендуется использовать файл .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 ).

Пример файла .env :

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.

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

Убедитесь, что вы собрали проект ( 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

  • Добавлен инструмент create_content_type : позволяет создавать новые типы контента с помощью 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

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Предоставляет доступ к контенту Strapi CMS через протокол MCP, позволяя пользователям создавать, читать, обновлять и удалять записи контента через Claude.

  1. Обзор
    1. Настраивать
      1. Переменные среды
      2. Установка
      3. Бег
    2. Функции
      1. Журнал изменений
        1. 0.1.6
        2. 0.1.5
        3. 0.1.4
        4. 0.1.3
      2. Лицензия
        1. Strapi-mcp MCP-сервер
          1. Функции
          2. Разработка
          3. Установка
          4. Примеры использования

        Related MCP Servers

        • A
          security
          A
          license
          A
          quality
          A Model Context Protocol server that enables AI assistants to interact with Strapi CMS instances through a standardized interface, supporting content types and REST API operations.
          Last updated -
          5
          65
          20
          JavaScript
          MIT License
          • Apple
        • -
          security
          A
          license
          -
          quality
          An MCP server that allows accessing and managing ledger files through Claude by providing account listing, balance checking, and transaction register viewing capabilities.
          Last updated -
          1
          Python
          GPL 3.0
          • Apple
        • A
          security
          A
          license
          A
          quality
          An MCP server that enables Claude to interact with Twitter, allowing for posting tweets and searching Twitter content.
          Last updated -
          2
          108
          195
          TypeScript
          MIT License
          • Apple
        • A
          security
          F
          license
          A
          quality
          An MCP server that integrates Claude with Anki flashcards, allowing users to review due cards and create new flashcards directly through conversation.
          Last updated -
          6
          8
          Python
          • Apple

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

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