Strapi MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它使 AI 助手能够通过标准化的接口与 Strapi CMS 实例进行交互,支持内容类型和 REST API 操作。
Tools
strapi_list_servers
List all available Strapi servers from the configuration.
strapi_get_content_types
Get all content types from Strapi. Returns the complete schema of all content types.
strapi_get_components
Get all components from Strapi with pagination support. Returns both component data and pagination metadata (page, pageSize, total, pageCount).
strapi_rest
Execute REST API requests against Strapi endpoints. IMPORTANT: All write operations (POST, PUT, DELETE) require explicit user authorization via the userAuthorized parameter. 1. Reading components: params: { populate: ['SEO'] } // Populate a component params: { populate: { SEO: { fields: ['Title', 'seoDescription'] } } } // With field selection 2. Updating components (REQUIRES USER AUTHORIZATION): body: { data: { // For single components: componentName: { Title: 'value', seoDescription: 'value' }, // For repeatable components: componentName: [ { field: 'value' } ] } } userAuthorized: true // Must set this to true for POST/PUT/DELETE after getting user permission 3. Other parameters: - fields: Select specific fields - filters: Filter results - sort: Sort results - pagination: Page through results
strapi_upload_media
Upload media to Strapi's media library from a URL with format conversion, quality control, and metadata options. IMPORTANT: This is a write operation that REQUIRES explicit user authorization via the userAuthorized parameter.
README
Strapi MCP 服务器
一个用于与 Strapi CMS 交互的模型上下文协议服务器。该服务器使 AI 助手能够通过标准化的接口与您的 Strapi 实例进行交互,支持内容类型和 REST API 操作。
<a href="https://glama.ai/mcp/servers/qfdkybxvkp"> <img width="380" height="200" src="https://glama.ai/mcp/servers/qfdkybxvkp/badge" alt="Strapi Server MCP server" /> </a>
⚠️ 重要声明:本软件是在 AI 技术的辅助下开发的。它按原样提供,未经彻底测试和验证,不应在生产环境中使用。代码可能包含错误、安全漏洞或意外行为。使用风险自负,仅用于研究、学习或开发目的。
更新日志
2.3.0 版本 - 文档和配置增强
- 📚 在 CLAUDE.md 中添加了全面的项目文档
- ⚙️ 扩展了配置选项,具有更好的版本检测
- 🛠️ 增强了常见问题的故障排除指南
- 🔄 详细的 REST API 文档,包含实际示例
- 📝 内容管理的最佳实践指南
- 🐛 修复了从不同格式模式解析版本的问题
- 🔍 改进了错误消息,提供了版本特定的指导
2.2.0 版本 - 安全性和版本处理更新
- 🔒 添加了严格的写入保护策略
- 🔄 增强了版本格式支持(5.* , 4.1.5, v4 等)
- 📚 将文档集成到服务器功能中
- 🚫 删除了连接提示(现在在功能中)
- ⚡ 改进了错误处理和验证
- 🔍 添加了版本特定差异指南
- 📋 增强了服务器功能文档
2.1.0 版本
- 改进了与 Strapi v4 和 v5 的兼容性
- 删除了自动验证,以支持不同版本之间的数据结构差异
- 增强了错误消息,提供了版本特定的提示
- 简化了请求处理,以便客户端拥有更多控制权
- 更新了文档,提供了适用于两个版本的清晰示例
功能特性
- 🔍 模式内省
- 🔄 支持 REST API,并进行验证
- 📸 媒体上传处理
- 🔐 JWT 身份验证
- 📝 内容类型管理
- 🖼️ 图像处理,支持格式转换
- 🌐 支持多个服务器
- ✅ 自动模式验证
- 🔒 写入保护策略
- 📚 集成文档
- 🔄 版本兼容性管理
安装
您可以直接在 Claude Desktop 配置中使用 npx 来运行此服务器:
{
"mcpServers": {
"strapi": {
"command": "npx",
"args": ["-y", "@bschauer/strapi-mcp-server@2.4.0"]
}
}
}
配置
在 ~/.mcp/strapi-mcp-server.config.json
创建一个配置文件:
{
"myserver": {
"api_url": "http://localhost:1337",
"api_key": "your-jwt-token-from-strapi-admin",
"version": "5.*" // 可选:指定 Strapi 版本(例如,“5.*”,“4.1.5”,“v4”)
}
}
您可以通过将多个 Strapi 实例添加到此文件来配置它们。
版本配置
服务器现在支持各种版本格式:
- 通配符: "5.", "4."
- 特定版本: "4.1.5", "5.0.0"
- 简写版本: "v4", "v5"
这有助于服务器提供版本特定的指导,并适当地处理 API 差异。
获取 JWT Token
- 登录到您的 Strapi 管理面板
- 创建一个具有适当权限的 API 令牌
- 将令牌添加到您的配置文件中,放在相应的服务器名称下
用法
列出可用服务器
strapi_list_servers();
// 现在包括版本信息以及 v4 和 v5 之间的差异
内容类型
// 从特定服务器获取所有内容类型
strapi_get_content_types({
server: "myserver",
});
// 获取带有分页的组件
strapi_get_components({
server: "myserver",
page: 1,
pageSize: 25,
});
REST API
REST API 提供全面的 CRUD 操作,具有内置的验证和版本特定的处理:
// 使用过滤器查询内容
strapi_rest({
server: "myserver",
endpoint: "api/articles",
method: "GET",
params: {
filters: {
title: {
$contains: "search term",
},
},
},
});
// 创建新内容
strapi_rest({
server: "myserver",
endpoint: "api/articles",
method: "POST",
body: {
data: {
title: "New Article",
content: "Article content",
category: "news",
},
},
});
// 更新内容
strapi_rest({
server: "myserver",
endpoint: "api/articles/123",
method: "PUT",
body: {
data: {
title: "Updated Title",
content: "Updated content",
},
},
});
// 删除内容
strapi_rest({
server: "myserver",
endpoint: "api/articles/123",
method: "DELETE",
});
媒体上传
// 上传图像,自动优化
strapi_upload_media({
server: "myserver",
url: "https://example.com/image.jpg",
format: "webp",
quality: 80,
metadata: {
name: "My Image",
caption: "Image Caption",
alternativeText: "Alt Text",
},
});
版本差异 (v4 vs v5)
服务器自动处理的 Strapi 版本之间的主要差异:
v4
- 使用数字 ID
- 嵌套属性结构
- 响应中的数据包装器
- 传统的 REST 模式
- 外部 i18n 插件
v5
- 基于文档的 ID
- 平面数据结构
- 直接属性访问
- 增强的 JWT 安全性
- 集成的 i18n 支持
- 新的文档服务 API
安全特性
写入保护策略
服务器实施严格的写入保护策略:
- 所有写入操作都需要显式授权
- 受保护的操作包括:
- POST (创建)
- PUT (更新)
- DELETE (删除)
- 媒体上传
- 每个操作都会被记录和验证
最佳实践
- 始终首先使用
strapi_get_content_types
检查模式 - 对端点使用正确的复数/单数形式
- 在您的查询中包含错误处理
- 上传前验证 URL
- 从最小的查询开始,仅在需要时添加 population
- 更新时始终包含完整的数据对象
- 使用过滤器来优化查询性能
- 利用内置的模式验证
- 检查您的操作的版本兼容性
- 遵循写入保护策略指南
REST API 提示
过滤
// 按字段值过滤
params: {
filters: {
title: "Exact Match";
}
}
// 包含过滤器
params: {
filters: {
title: {
$contains: "partial";
}
}
}
// 多个条件
params: {
filters: {
$and: [{ category: "news" }, { published: true }];
}
}
排序
params: {
sort: ["createdAt:desc"];
}
分页
params: {
pagination: {
page: 1,
pageSize: 25
}
}
Population
// 没有 population 的基本请求
params: {
}
// 在需要时进行选择性 population
params: {
populate: ["category"];
}
// 带有字段选择的详细 population
params: {
populate: {
category: {
fields: ["name", "slug"];
}
}
}
故障排除
常见问题和解决方案:
-
404 错误
- 检查端点的复数/单数形式
- 验证内容类型是否存在
- 确保正确的 API URL
- 检查是否使用正确的 ID 格式(数字 vs 基于文档)
-
身份验证问题
- 验证 JWT 令牌是否有效
- 检查令牌权限
- 确保令牌未过期
-
版本相关问题
- 验证配置中的版本规范
- 检查数据结构是否与版本匹配
- 查看版本差异文档
-
写入保护错误
- 确保操作已授权
- 检查操作是否受保护
- 验证请求是否符合安全策略
贡献
欢迎贡献!请随时提交 Pull Request。
许可证
MIT
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

Supabase MCP Server
一个模型上下文协议(MCP)服务器,它提供对 Supabase 管理 API 的编程访问。该服务器允许 AI 模型和其他客户端通过标准化的接口来管理 Supabase 项目和组织。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。
@kazuph/mcp-gmail-gas
用于 Gmail 集成的模型上下文协议 (Model Context Protocol, MCP) 服务器。它允许 Claude Desktop(或任何 MCP 客户端)通过 Google Apps Script 与您的 Gmail 帐户进行交互。
MCP DuckDB Knowledge Graph Memory Server
一个为 Claude 设计的记忆服务器,它使用 DuckDB 存储和检索知识图谱数据,从而增强了对话的性能和查询能力,并能持久保存用户信息。