AI内容管理服务器

Strapi MCP Server是一个通过模型上下文协议为Strapi CMS提供AI支持的内容管理工具,支持自然语言操作内容、媒体、国际化等。

  • by alex2zimmermann-ux
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 alex2zimmermann-ux/strapi-mcp

使用说明

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 --带示例的综合使用指南

快速开始

  1. 安装 服务器:

    pip install strapi-mcp
    
  2. 配置 您的Strapi连接:

    export STRAPI_BASE_URL="http://localhost:1337"
    export STRAPI_API_TOKEN="your-strapi-api-token"
    
  3. 连接 从您的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代币

  1. 打开Strapi管理面板(例如。, http://localhost:1337/admin)
  2. 引导到 设置>API令牌
  3. 点击 创建新的API令牌
  4. 集 令牌类型 到 完全访问 (或自定义权限)
  5. 复制生成的令牌并将其设置为 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版本:

  1. 获取内容类型条目并检查其响应格式
  2. 正在检查管理员信息端点中的版本字符串
  3. 如果检测不确定,则默认为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许可证。看 许可证 了解详情。