Strapi MCP Server
Страпи 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— список всех доступных типов контента в Strapiget_entries— получение записей для определенного типа контента с дополнительной фильтрацией, разбиением на страницы, сортировкой и заполнением связейget_entry— Получить конкретную запись по идентификаторуcreate_entry— создать новую запись для типа контентаupdate_entry— обновить существующую записьdelete_entry- Удалить записьupload_media— загрузить медиа-файл на Strapiget_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— Получить статью с идентификатором 1strapi://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 .
Быстрая настройка:
Соберите сервер:
npm run buildНастройте свой экземпляр Strapi и получите токен API
Добавьте конфигурацию сервера в 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)
Приоритет аутентификации
Сервер устанавливает приоритеты методов аутентификации в следующем порядке:
Адрес электронной почты и пароль администратора (
STRAPI_ADMIN_EMAIL,STRAPI_ADMIN_PASSWORD)Токен API (
STRAPI_API_TOKEN)
Для достижения наилучших результатов настоятельно рекомендуется использовать учетные данные администратора.
Получение учетных данных Strapi
Учетные данные администратора: используйте адрес электронной почты и пароль существующего суперадминистратора или создайте специального пользователя-администратора в панели администратора Strapi (Настройки > Панель администрирования > Пользователи).
API-токен: (необязательный резервный вариант)
Войдите в свою панель администратора Strapi.
Перейдите в Настройки > API-токены.
Нажмите «Создать новый API-токен».
Задайте имя, описание и тип токена (предпочтительно «Полный доступ»).
Скопируйте сгенерированный токен и используйте его в конфигурации вашего сервера 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"
}
}
}
)Доступ к ресурсам
This server cannot be installed
Maintenance
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
- Alicense-qualityDmaintenanceEnables AI assistants to interact with Strapi CMS instances through REST API operations. Supports content management, media uploads, schema introspection, and multiple server configurations with JWT authentication.14MIT
- Alicense-qualityDmaintenanceEnables AI assistants to interact directly with Strapi v5 CMS content through full CRUD operations, media uploads, and content type exploration using Strapi's Document Service API.1201MIT
- Flicense-qualityDmaintenanceEnables CRUD operations, content management, and media handling for any Strapi content type through standardized tools. Supports internationalization, schema management, and works with Strapi v5's API.
- Flicense-quality-maintenanceProvides AI agents with full access to Strapi 5.x CMS for managing content types, entries, media, and schemas. It supports full CRUD operations, relation management, and secure authentication for comprehensive content administration.
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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