斯特拉皮MCP内容管理工具

@l33tdawg/strapi-mcp
0 Stars 327 次浏览 l33tdawg 更新于 2026-08-23

通过MCP协议提供对Strapi CMS内容的访问,允许用户通过Claude创建、读取、更新和删除内容条目。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

strapi-mcp MCP 服务器

一个用于您的 Strapi CMS 的 MCP 服务器

这是一个基于 TypeScript 的 MCP 服务器,与 Strapi CMS 集成。它通过 MCP 协议提供对 Strapi 内容类型和条目的访问,允许您:

  • 将 Strapi 内容类型作为资源访问
  • 创建、读取、更新和删除内容条目
  • 通过 MCP 工具管理您的 Strapi 内容

功能

资源

  • 通过 strapi://content-type/ URI 列出和访问内容类型
  • 每个内容类型将其条目以 JSON 格式暴露
  • 使用 Application/JSON MIME 类型进行结构化内容访问

工具

  • list_content_types - 列出 Strapi 中所有可用的内容类型
  • get_entries - 获取特定内容类型的条目,并支持可选的过滤、分页、排序和关系填充
  • get_entry - 通过 ID 获取特定条目
  • create_entry - 为内容类型创建新条目
  • update_entry - 更新现有条目
  • delete_entry - 删除条目
  • upload_media - 向 Strapi 上传媒体文件

高级功能

过滤、分页和排序

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 - 获取 ID 为 1 的文章
  • strapi://content-type/api::article.article?filters={"title":{"$contains":"hello"}} - 获取筛选后的文章

开发

安装依赖项:

npm install

构建服务器:

npm run build

开发时启用自动重建:

npm run watch

安装

有关如何部署和测试此 MCP 服务器的详细步骤,请参阅 DEPLOYMENT.md 文件。

快速设置:

  1. 构建服务器:npm run build
  2. 配置您的 Strapi 实例并获取 API 令牌
  3. 在 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(可选):您的 Strapi 实例的 URL(默认为 http://localhost:1337)
  • STRAPI_API_TOKEN(必需):用于身份验证的 Strapi API 令牌
  • STRAPI_DEV_MODE(可选):设置为 "true" 以启用开发模式功能(默认为 false)

获取 Strapi API 令牌

  1. 登录到您的 Strapi 管理面板
  2. 转到设置 > API 令牌
  3. 点击“创建新的 API 令牌”
  4. 设置名称、描述和令牌类型(建议选择“完全访问”)
  5. 复制生成的令牌并在您的 MCP 服务器配置中使用

调试

由于 MCP 服务器通过 stdio 通信,调试可能会比较困难。我们推荐使用 MCP Inspector,它作为一个包脚本可用:

npm run inspector

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"
  }
)

访问资源

access_mcp_resource(
  server_name: "strapi-mcp",
  uri: "strapi://content-type/api::article.article"
)

相关 MCP 服务