Skip to main content
Glama

Strapi MCP 服务器

用于与 Strapi CMS 交互的模型上下文协议服务器。该服务器使 AI 助手能够通过标准化接口与您的 Strapi 实例进行交互,支持内容类型和 REST API 操作。

⚠️重要免责声明:本软件是在人工智能技术的帮助下开发的。它按原样提供,未经彻底测试和验证,请勿在生产环境中使用。代码可能包含错误、安全漏洞或意外行为。仅供研究、学习或开发用途使用,风险自负。

变更日志

版本 2.3.0 - 文档和配置增强

  • 📚 在 CLAUDE.md 中添加了全面的项目文档

  • ⚙️ 扩展配置选项,提供更好的版本检测

  • 🛠️ 增强常见问题的故障排除指南

  • 🔄 详细的 REST API 文档和实际示例

  • 📝 内容管理最佳实践指南

  • 🐛 修复了不同格式模式的版本解析

  • 🔍 使用特定于版本的指导改进错误消息

版本 2.2.0 - 安全和版本处理更新

  • 🔒 添加了严格的写保护策略

  • 🔄 增强版本格式支持(5.*、4.1.5、v4 等)

  • 📚 将文档集成到服务器功能中

  • 🚫 删除了连接提示(现在在功能中)

  • ⚡ 改进的错误处理和验证

  • 🔍 添加了特定版本差异指南

  • 📋 增强服务器功能文档

版本 2.1.0

  • 改进了与 Strapi v4 和 v5 的兼容性

  • 删除自动验证以支持版本之间的不同数据结构

  • 使用特定于版本的提示增强错误消息

  • 简化请求处理,为客户提供更多控制权

  • 更新了两个版本的文档,其中包含清晰的示例

Related MCP server: Omi MCP Server

特征

  • 🔍 Schema 自省

  • 🔄 REST API 支持验证

  • 📸 媒体上传处理

  • 🔐 JWT 身份验证

  • 📝 内容类型管理

  • 🖼️ 图像处理与格式转换

  • 🌐 多服务器支持

  • ✅ 自动模式验证

  • 🔒 写保护策略

  • 📚 集成文档

  • 🔄 版本兼容性管理

安装

您可以在 Claude Desktop 配置中直接将此服务器与 npx 一起使用:

{ "mcpServers": { "strapi": { "command": "npx", "args": ["-y", "@bschauer/strapi-mcp-server@2.5.0"] } } }

配置

~/.mcp/strapi-mcp-server.config.json创建配置文件:

{ "myserver": { "api_url": "http://localhost:1337", "api_key": "your-jwt-token-from-strapi-admin", "version": "5.*" // Optional: Specify Strapi version (e.g., "5.*", "4.1.5", "v4") } }

您可以通过将多个 Strapi 实例添加到此文件来配置它们。

版本配置

服务器现在支持多种版本格式:

  • 通配符:“5. ”、“4.

  • 具体:“4.1.5”,“5.0.0”

  • 简单:“v4”,“v5”

这有助于服务器提供特定版本的指导并适当地处理 API 差异。

获取 JWT 令牌

  1. 登录您的 Strapi 管理面板

  2. 创建具有适当权限的 API 令牌

  3. 将令牌添加到配置文件中相应的服务器名称下

用法

列出可用服务器

strapi_list_servers(); // Now includes version information and differences between v4 and v5

内容类型

// Get all content types from a specific server strapi_get_content_types({ server: "myserver", }); // Get components with pagination strapi_get_components({ server: "myserver", page: 1, pageSize: 25, });

REST API

REST API 提供了全面的 CRUD 操作,具有内置验证和特定于版本的处理:

// Query content with filters strapi_rest({ server: "myserver", endpoint: "api/articles", method: "GET", params: { filters: { title: { $contains: "search term", }, }, }, }); // Create new content strapi_rest({ server: "myserver", endpoint: "api/articles", method: "POST", body: { data: { title: "New Article", content: "Article content", category: "news", }, }, }); // Update content strapi_rest({ server: "myserver", endpoint: "api/articles/123", method: "PUT", body: { data: { title: "Updated Title", content: "Updated content", }, }, }); // Delete content strapi_rest({ server: "myserver", endpoint: "api/articles/123", method: "DELETE", });

媒体上传

// Upload image with automatic optimization 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 与 v5)

服务器自动处理的 Strapi 版本之间的主要区别:

v4

  • 使用数字 ID

  • 嵌套属性结构

  • 响应中的数据包装器

  • 传统的 REST 模式

  • 外部 i18n 插件

v5

  • 基于文档的身份证件

  • 扁平数据结构

  • 直接属性访问

  • 增强的 JWT 安全性

  • 集成 i18n 支持

  • 新的文档服务 API

安全功能

写保护策略

服务器实施严格的写保护策略:

  • 所有写入操作都需要明确授权

  • 受保护的操作包括:

    • POST(创建)

    • PUT(更新)

    • 删除

    • 媒体上传

  • 每个操作都经过记录和验证

最佳实践

  1. 始终先使用strapi_get_content_types检查架构

  2. 对端点使用适当的复数/单数形式

  3. 在查询中包含错误处理

  4. 上传前验证 URL

  5. 从最少的查询开始,仅在需要时添加人口

  6. 更新时始终包含完整的数据对象

  7. 使用过滤器优化查询性能

  8. 利用内置架构验证

  9. 检查操作的版本兼容性

  10. 遵循写保护策略指南

REST API 技巧

过滤

// Filter by field value params: { filters: { title: "Exact Match"; } } // Contains filter params: { filters: { title: { $contains: "partial"; } } } // Multiple conditions params: { filters: { $and: [{ category: "news" }, { published: true }]; } }

排序

params: { sort: ["createdAt:desc"]; }

分页

params: { pagination: { page: 1, pageSize: 25 } }

人口

// Basic request without population params: { } // Selective population when needed params: { populate: ["category"]; } // Detailed population with field selection params: { populate: { category: { fields: ["name", "slug"]; } } }

故障排除

常见问题及解决方案:

  1. 404 错误

    • 检查端点复数/单数形式

    • 验证内容类型是否存在

    • 确保 API URL 正确

    • 检查是否使用正确的 ID 格式(数字或基于文档)

  2. 身份验证问题

    • 验证 JWT 令牌是否有效

    • 检查令牌权限

    • 确保令牌未过期

  3. 版本相关问题

    • 验证配置中的版本规范

    • 检查数据结构是否匹配版本

    • 查看版本差异文档

  4. 写保护错误

    • 确保操作已获得授权

    • 检查操作是否受到保护

    • 验证请求是否符合安全策略

贡献

欢迎贡献代码!欢迎提交 Pull 请求。

执照

麻省理工学院

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

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