mcpField
E
Elmapicms Mcp Server

Elmapicms Mcp Server

本地服务
github.com/elmapicms开发工具712 周前更新

关于 Elmapicms Mcp Server

ElmapiCMS MCP Server 将 ElmapiCMS 项目连接到 Cursor、Claude Code 等 AI Agent,可通过自然语言管理内容结构、条目、资源和 Webhook。它还提供字段类型、集合和查询参考资源。

主要功能

  1. 01管理项目与语言设置
  2. 02创建和调整集合及字段
  3. 03筛选、编辑、发布内容条目
  4. 04批量处理条目和资源文件
  5. 05管理 Webhook 与投递日志
  6. 06提供字段、集合和查询参考

适用场景

  1. 01在 CMS 中新增集合和字段
  2. 02查找、更新并发布内容
  3. 03批量上传或整理资源文件
  4. 04配置 Webhook 并检查投递记录

MCP 相关

MCP 服务向 AI Agent 暴露 ElmapiCMS 的项目、集合、字段、内容、资源和 Webhook 操作工具,并提供三项参考资源。每个 MCP 配置连接一个 ElmapiCMS 项目。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"elmapicms": {
"command": "npx",
"args": [
"-y",
"@elmapicms/mcp-server"
],
"env": {
"ELMAPI_API_URL": "<ELMAPI_API_URL>",
"ELMAPI_API_KEY": "<ELMAPI_API_KEY>",
"ELMAPI_PROJECT_ID": "<ELMAPI_PROJECT_ID>"
}
}
}
}
启动命令npx -y @elmapicms/mcp-server
需要配置的环境变量
ELMAPI_API_URL
ELMAPI_API_KEY密钥
ELMAPI_PROJECT_ID

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@elmapicms/mcp-server

工具

40

收录的工具列表 · 更新于 3 周前

此工具无需参数。

详细介绍

ElmapiCMS MCP 服务

这是一个 MCP(Model Context Protocol)服务,可将 Cursor 和 Claude Code 等 AI Agent 连接到你的 ElmapiCMS 实例。通过自然语言以编程方式管理集合、字段、内容条目、资源和 Webhook。

配置

变量描述
ELMAPI_BASE_URL实例 API 根地址(例如,https://your-domain.com/api)。也接受 ELMAPI_API_URL 作为别名。
ELMAPI_API_KEY来自 Project settings → API Tokens 的 Project Sanctum 令牌
ELMAPI_PROJECT_ID项目 UUID,可在项目主页或 Project settings → API Access 中找到

在 Cursor 中使用

将以下内容添加到 Cursor MCP 设置(~/.cursor/mcp.json):

{
  "mcpServers": {
    "elmapicms": {
      "command": "npx",
      "args": ["-y", "@elmapicms/mcp-server"],
      "env": {
        "ELMAPI_BASE_URL": "https://your-domain.com/api",
        "ELMAPI_API_KEY": "your-project-api-token",
        "ELMAPI_PROJECT_ID": "your-project-uuid"
      }
    }
  }
}

在 Claude Code 中使用

claude mcp add elmapicms \
  -e ELMAPI_BASE_URL=https://your-domain.com/api \
  -e ELMAPI_API_KEY=your-project-api-token \
  -e ELMAPI_PROJECT_ID=your-project-uuid \
  -- npx -y @elmapicms/mcp-server

本地开发(Laravel Herd / .test 域名)

如果你的实例使用自签名证书(例如,Laravel Herd),你可能需要:

"env": {
  "ELMAPI_BASE_URL": "https://myproject.test/api",
  "ELMAPI_API_KEY": "your-project-api-token",
  "ELMAPI_PROJECT_ID": "your-project-uuid",
  "NODE_TLS_REJECT_UNAUTHORIZED": "0"
}

建议修复本地 CA 信任问题(例如,使用 node --use-system-ca),而不是在生产配置中禁用 TLS 验证。

可用工具(40)

项目
  • get_project — 获取项目信息(default_locale、locales 等)
  • add_project_locale — 向项目添加区域设置代码(需要 admin 权限)
  • set_default_project_locale — 设置默认区域设置(需要 admin 权限)

这里有意不提供移除区域设置的功能(请在仪表板中使用 Project settings → Localization,或使用 REST/SDK API)。

集合
  • list_collections — 列出所有集合
  • get_collection — 获取集合及其完整字段架构
  • create_collection — 创建集合(可选:批量创建字段)
  • update_collection — 更新集合名称和 slug
  • reorder_collections — 重新排列集合
字段
  • create_field — 向集合添加字段
  • update_field — 更新字段
  • reorder_fields — 在集合中重新排列字段
内容条目
  • list_entries — 使用高级筛选条件(where 支持 13 种运算符、OR 组、关系筛选)、排序、分页、数量统计和首条结果列出条目
  • get_entry — 获取单个内容条目
  • create_entry — 创建内容条目
  • update_entry — 更新内容条目
  • patch_entry — 部分更新条目(HTTP PATCH;仅合并发送的字段)
  • publish_entry — 将草稿发布为新的不可变版本(update)
  • unpublish_entry — 清除当前已发布版本的指针;保留版本(update)
  • discard_entry_draft — 丢弃未发布的草稿更改(update)
  • delete_entry — 软删除内容条目(移至回收站)
  • bulk_create_entries — 原子性地创建多个条目
  • bulk_update_entries — 按 UUID 原子性地更新多个条目
  • bulk_delete_entries — 按 UUID 原子性地删除多个条目
  • link_entry_translation — 将两个条目(不同语言区域)关联到同一翻译组(POST …/link-translation;需要 update)
  • list_entry_versions — 列出条目的版本历史
  • get_entry_version — 按版本号获取一个版本(包含快照内容)
  • revert_entry_version — 从先前的快照恢复草稿并发布(update)
  • update_entry_version_label — 编辑版本的标签/说明;快照保持不变(update)

内容 API 结构: 每个条目都有 uuid、locale、published_at 和 fields(自定义字段值)。字段名称采用 kebab-case。富文本写入格式遵循 editor.mode:对于 lexical,使用 HTML 字符串或 { html, json };当 mode 为 markdown 时,使用 markdown 字符串。MCP create_field / create_collection(以及富文本 update_field)会将未指定的 editor.mode 默认为 markdown。使用 Lexical 时传入 mode: 'lexical'。绝不要将 markdown 写入 lexical 字段。读取格式遵循 editor.outputFormat。读取关系字段时会返回嵌套条目对象(一对多关系则返回数组);写入时只发送相关条目的 UUID 或数字 id(绝不要发送先前 get_entry 返回的完整嵌套对象)。get_entry 支持 translation_locale、exclude、timestamps 和 state 查询参数。

保存 ≠ 发布: create_entry / update_entry / patch_entry 只保存草稿。state=published 的列表/获取操作会继续返回最近一次快照,直到调用 publish_entry。

资源 URL: API 会将 url、thumbnail_url 和 original_url 作为稳定链接返回(可选 ?variant=thumbnail 或 ?variant=original)。

资源文件
  • list_assets — 分页列出资源文件
  • get_asset — 按 UUID 或文件名获取资源文件
  • upload_asset — 将文件上传为资源文件
  • bulk_upload_assets — 原子性地上传多个文件
  • bulk_update_asset_metadata — 原子性地更新多个资源文件的元数据
  • delete_asset — 删除资源文件
Webhook
  • list_webhooks — 列出项目的所有 webhook
  • get_webhook — 按 UUID 获取 webhook
  • create_webhook — 为内容和身份验证事件创建 webhook(name、url、events、sources;可选 description、secret、payload、status、collection_ids)
  • update_webhook — 按 UUID 更新 webhook(字段与创建时相同)
  • delete_webhook — 按 UUID 删除 webhook
  • list_webhook_logs — 列出 webhook 的投递日志(uuid;可选 paginate、page)

资源

服务会公开三个参考资源,供 AI Agent 阅读并了解相关信息:

  • 字段类型参考(elmapicms://field-types)— 完整介绍全部 16 种字段类型、其选项、验证规则和常见用法。
  • 集合指南(elmapicms://collections-guide)— 介绍如何使用集合、单例、保留 slug 及最佳实践。
  • 查询参考(elmapicms://query-reference)— 内容查询的完整文档:包含 13 种运算符的 where 筛选条件、OR 组、关系筛选、排序、分页和示例。

API 令牌权限

你的项目 API 令牌需要具备相应权限,才能使用所需的工具:

权限工具
read列出/获取集合、条目、资源、webhook;查看 webhook 日志
create创建条目、上传资源、创建 webhook
update更新条目、发布/取消发布/丢弃草稿、link_entry_translation、版本、更新资源元数据、更新 webhook
delete删除条目、删除资源、删除 webhook
admin创建/更新/重新排序集合和字段;添加/设置默认项目语言区域(MCP 不提供移除语言区域的功能)

在 ElmapiCMS 控制面板中,通过项目设置 → API 令牌创建令牌。配置此服务时,可从项目主页或项目设置 → API 访问复制项目 ID。

使用多个项目

每个 MCP 条目都连接到一个 ElmapiCMS 项目。要使用多个项目,请在 MCP 配置中添加单独的条目,并设置不同的环境变量值。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。