Skip to main content
Glama
l33tdawg

Strapi MCP Server

by l33tdawg

Страпи MCP

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

Обзор

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

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

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

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

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

Related MCP server: Strapi Content MCP

Настраивать

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

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

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

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Manage SRG+ hubs, channels, content, assets, users, and workspaces from any MCP-aware AI agent.

  • Create and manage Lindo AI websites, pages, blogs, clients, and credits from any MCP client.

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

View all MCP Connectors

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