使用说明
Strapi MCP服务器
通过模型上下文协议为Strapi CMS提供AI驱动的内容管理。
特性
将任何兼容MCP的AI助手(Claude、Cursor等)连接到您的Strapi CMS。通过自然语言管理内容、媒体、区域设置等。
8个类别的20个工具
| 类别 | 工具 | 描述 |
|---|---|---|
| 模式 (3) | list_content_types, get_content_type_schema, get_components |
发现和检查内容模型 |
| 内容 (5) | list_entries, get_entry, create_entry, update_entry, delete_entry |
任何内容类型的完整CRUD |
| 媒体 (3) | upload_media, list_media, delete_media |
上传、浏览和管理媒体库 |
| 发布 (3) | publish_entry, unpublish_entry, discard_draft |
控制发布生命周期 |
| 国际化 (2) | list_locales, get_localized_entry |
国际化支持 |
| 搜索 (2) | search_entries, count_entries |
全文搜索和计数 |
| 批量 (1) | bulk_action |
批量创建、更新或删除 |
| 系统 (1) | get_strapi_info |
服务器信息和版本检测 |
附加MCP功能
- 3提示:
manage_content,content_migration,setup_guide--常见任务的指导工作流程 - 1资源:
strapi://help--带示例的综合使用指南
快速开始
-
安装 服务器:
pip install strapi-mcp -
配置 您的Strapi连接:
export STRAPI_BASE_URL="http://localhost:1337" export STRAPI_API_TOKEN="your-strapi-api-token" -
连接 从您的MCP客户端(请参阅 客户端配置 在......下面
安装
使用pip
pip install strapi-mcp
使用uvx(无需安装)
uvx strapi-mcp
来源
git clone https://github.com/alexzimmermann/strapi-mcp.git
cd strapi-mcp
pip install -e .
配置
所有设置都是通过环境变量配置的 STRAPI_ 前缀:
| 变量 | 默认值 | 描述 |
|---|---|---|
STRAPI_BASE_URL |
http://localhost:1337 |
Strapi实例的URL |
STRAPI_API_TOKEN |
(空) | 用于身份验证的API令牌。在Strapi管理>设置>API令牌中创建。 |
STRAPI_API_VERSION |
auto |
Strapi版本: auto, v4,或 v5 |
STRAPI_TIMEOUT |
30 |
HTTP请求超时(秒) |
STRAPI_MAX_PAGE_SIZE |
100 |
每页最多输入(1-100) |
你也可以把这些放在 .env 文件在您的工作目录中。
创建Strapi API代币
- 打开Strapi管理面板(例如。,
http://localhost:1337/admin) - 引导到 设置>API令牌
- 点击 创建新的API令牌
- 集 令牌类型 到 完全访问 (或自定义权限)
- 复制生成的令牌并将其设置为
STRAPI_API_TOKEN
客户端配置
克劳德桌面版
添加到您的Claude Desktop配置文件(claude_desktop_config.json):
{
"mcpServers": {
"strapi": {
"command": "uvx",
"args": ["strapi-mcp"],
"env": {
"STRAPI_BASE_URL": "http://localhost:1337",
"STRAPI_API_TOKEN": "your-strapi-api-token"
}
}
}
}
光标
添加到光标MCP配置中:
{
"mcpServers": {
"strapi": {
"command": "uvx",
"args": ["strapi-mcp"],
"env": {
"STRAPI_BASE_URL": "http://localhost:1337",
"STRAPI_API_TOKEN": "your-strapi-api-token"
}
}
}
}
史密瑟里
此服务器可在 史密瑟里。直接从Smithery注册表安装或使用手动配置 smithery.yaml 包含在此存储库中。
可用工具
| 工具 | 说明 |
|---|---|
list_content_types |
列出Strapi实例中的所有可用内容类型 |
get_content_type_schema |
获取特定内容类型的完整字段架构 |
get_components |
列出所有可重用组件及其模式 |
list_entries |
列出具有过滤、排序、分页和填充功能的条目 |
get_entry |
按ID(或v5中的documentId)获取单个条目 |
create_entry |
使用字段数据创建新的内容条目 |
update_entry |
按ID更新现有条目 |
delete_entry |
按ID删除条目 |
upload_media |
将文件上传到媒体库(URL或base64) |
list_media |
浏览带分页的媒体库 |
delete_media |
从媒体库中删除文件 |
publish_entry |
发布条目草稿以供公众使用 |
unpublish_entry |
将已发布的条目恢复为草稿状态 |
discard_draft |
放弃未保存的草稿更改(仅限Strapi v5) |
list_locales |
列出i18n的所有已配置区域设置 |
get_localized_entry |
获取特定地区的条目 |
search_entries |
在内容类型的条目中进行全文搜索 |
count_entries |
统计符合可选筛选条件的条目 |
bulk_action |
执行批量创建、更新或删除操作 |
get_strapi_info |
获取Strapi服务器信息、版本和连接状态 |
Strapi版本支持
此服务器同时支持 Strapi v4 和 Strapi v5 具有自动版本检测功能。
自动检测
当 STRAPI_API_VERSION 设置为 auto (默认),服务器在启动时通过以下方式检测您的Strapi版本:
- 获取内容类型条目并检查其响应格式
- 正在检查管理员信息端点中的版本字符串
- 如果检测不确定,则默认为v5
自动处理关键差异
| 功能 | Strapi v4 | Strapi v5 |
|---|---|---|
| 条目格式 | 嵌套 data.attributes |
平与 documentId |
| 条目标识符 | 数字 id |
字符串 documentId |
| 发布状态 | publicationState=live|preview |
status=published|draft |
| 草稿丢弃 | 不可用 | discard_draft 工具 |
您可以通过设置强制特定版本 STRAPI_API_VERSION=v4 或 STRAPI_API_VERSION=v5.
发展
设置
git clone https://github.com/alexzimmermann/strapi-mcp.git
cd strapi-mcp
python -m venv .venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install -e ".[dev]"
运行测试
pytest
跑步覆盖
pytest --cov=strapi_mcp --cov-report=term-missing
代码风格
ruff check .
ruff format .
许可证
MIT许可证。看 许可证 了解详情。