mcpField
A
aem-mcp-server

aem-mcp-server

本地服务
github.com/easingthemes商业与营销420 周前更新

关于 aem-mcp-server

aem-mcp-server 将 AI Agent 连接到 Adobe Experience Manager,让用户通过自然语言管理内容、组件、资产和工作流。它支持 AEMaaCS 与自托管实例,也可连接多个实例。

主要功能

  1. 0157 个 AEM 操作工具
  2. 02内容片段与体验片段管理
  3. 03搜索、发布与工作流控制
  4. 04用于发现 AEM 目录的只读资源
  5. 05连接多个实例
  6. 06Basic auth 与 OAuth S2S

适用场景

  1. 01通过自然语言管理 AEM 内容
  2. 02搜索页面和内容片段
  3. 03发布内容并推进工作流
  4. 04跨多个 AEM 实例开展工作

MCP 相关

该服务提供 57 个 MCP 工具,以及用于查询 AEM 组件、站点、模板和工作流模型的只读资源。它支持 stdio 和 streamable HTTP 传输。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"easingthemes-aem": {
"command": "npx",
"args": [
"-y",
"aem-mcp-server"
]
}
}
}
启动命令npx -y aem-mcp-server

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

安装包
npmaem-mcp-server1.3.9

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

AEM MCP 服务(aem-mcp-server)

Version Release Status CodeQL Analysis semver: semantic-release AGPL-3.0

AEM MCP 服务是一款功能全面的 Adobe Experience Manager(AEM)模型上下文协议(MCP)服务。 它可与任何 AI Agent 轻松集成。 本项目专为希望通过自然语言管理 AEM 的非技术人员设计。


概览

  • 通过自然语言管理 AEM 实例 — 内容、组件、资源、工作流
  • 兼容任何支持 MCP 的客户端:
    • AI IDE — Cursor、VS Code + Copilot、Windsurf、Cline、JetBrains AI Assistant、Zed
    • 命令行 Agent — Claude Code、GitHub Copilot CLI、Gemini CLI、Amazon Q CLI
    • 聊天和桌面应用 — Claude Desktop、ChatGPT Desktop、Goose
  • 支持 AEMaaCS 和可自托管的 AEM 实例
  • 两种传输模式 — 通过 npx 使用 stdio(推荐,无需安装)和可流式传输的 HTTP

快速开始

前置条件
  • Node.js 20.19.0+ || 22.12.0+ || 23+
  • 可访问 AEM 实例(本地或远程)
Stdio 传输(推荐)

无需安装 — AI Agent 会通过 npx 自动下载并启动进程。

将以下内容添加到项目的 MCP 配置文件(.mcp.json、.vscode/mcp.json、.cursor/mcp.json 等):

{
  "mcpServers": {
    "AEM": {
      "command": "npx",
      "args": ["-y", "aem-mcp-server", "-t", "stdio", "-H", "http://localhost:4502", "-u", "admin", "-p", "admin"]
    }
  }
}

密钥: MCP 配置文件通常会提交到代码仓库,因此请避免将凭据硬编码在文件中。请改用客户端的环境变量语法:

客户端语法
Claude Code(.mcp.json)${AEM_PASSWORD} 或 ${AEM_PASSWORD:-admin}
VS Code / Copilot${input:aem-password}(会安全地提示输入)或 envFile
Cursor${env:AEM_PASSWORD}

使用环境变量引用的示例(Claude Code):

{
  "mcpServers": {
    "AEM": {
      "command": "npx",
      "args": ["-y", "aem-mcp-server", "-t", "stdio", "-H", "${AEM_HOST:-http://localhost:4502}", "-u", "${AEM_USER:-admin}", "-p", "${AEM_PASSWORD:-admin}"]
    }
  }
}
可流式传输的 HTTP 传输(替代方案)

如果需要常驻服务(例如供团队共享,或供多个客户端同时连接),请全局安装并手动启动服务:

npm install aem-mcp-server -g
aem-mcp -H=http://localhost:4502 -u=admin -p=admin

然后将 AI Agent 指向该 URL:

{
  "mcpServers": {
    "AEM": {
      "url": "http://127.0.0.1:8502/mcp"
    }
  }
}

安装 MCP 服务

配置
Options:
      --version    Show version number                                 [boolean]
  -H, --host                         [string] [default: "http://localhost:4502"]
  -u, --user                                         [string] [default: "admin"]
  -p, --pass                                         [string] [default: "admin"]
  -i, --id         clientId                               [string] [default: ""]
  -s, --secret     clientSecret                           [string] [default: ""]
  -m, --mcpPort                                         [number] [default: 8502]
  -t, --transport  Transport mode: http (default) or stdio
                           [string] [choices: "http", "stdio"] [default: "http"]
  -I, --instances  Named AEM instances: "local:http://localhost:4502:admin:admin
                   ,qa:https://qa.example.com:user:pass"  [string] [default: ""]
  -h, --help       Show help                                           [boolean]

身份验证:

  • 对于 AEMaaCS,请使用 clientId 和 clientSecret 进行 OAuth S2S 身份验证。了解更多。
  • 对于 可自托管的 AEM,请使用 user/pass。默认凭据为 admin:admin。

多实例: 同时连接多个 AEM 实例:

aem-mcp --instances "author:http://localhost:4502:admin:admin,publish:http://localhost:4503:admin:admin"

所有工具都会获得一个 instance 参数,用于指定目标实例。


功能

  • 57 个 MCP 工具,涵盖页面、组件、资源、工作流、内容片段和体验片段
  • MCP 资源 — Agent 可通过 resources/list 提前发现组件、站点、模板和工作流模型,省去发现过程中的往返请求
  • 工具注释 — 每个工具都带有 group、readOnly 和 complexity 标签,帮助 Agent 更智能地选择工具
  • 响应详细程度 — 内容读取工具上的 verbosity 参数(summary/standard/full)可剔除 JCR 内部信息并截断长文本
  • 可操作的错误 — 错误响应包含 suggestion 和 alternatives 字段,支持 Agent 工作流自我修复
  • 组件操作:更新、扫描、添加、转换和批量管理 AEM 组件(包括体验片段)
  • 内容与体验片段:为 CF 和 XF 提供完整的增删改查及变体管理,还支持服务器端 JSON 字符串字段合并(CF 使用 manageContentFragment 操作 mergeJsonField),适用于在单个 JSON 编码字段中存储整个键→值映射的情况
  • 高级搜索:QueryBuilder、全文、模糊搜索和增强型页面搜索
  • 复制与工作流:发布/取消发布内容,启动、推进和委派工作流阶段
  • 文本与图像提取:从页面中提取所有文本和图像,包括片段
  • 模板与结构发现:列出模板,分析页面/组件结构
  • 多实例:同时连接多个 AEM 实例;工具和资源均支持实例感知
  • 安全性:基本身份验证和 OAuth S2S、基于环境的配置、安全的操作默认值

使用方法

在 AI IDE 中完成配置后,只需用自然语言提出需求:

List all components on MyPage
合并到 JSON 字符串字段

某些内容片段会在单个字段中以 JSON 编码字符串的形式存储整个键→值映射。若要更新或插入少量键,而不必来回传输整个数据块,请使用 mergeJsonField 操作 — 读取、合并和写入都在服务器端完成:

{
  "action": "mergeJsonField",
  "fragmentPath": "/content/dam/<site>/.../labels",
  "field": "CFMValue",                 // the field holding the JSON string
  "jsonPointer": "/0/content/0/value", // RFC-6901 pointer to the object to merge into ("" = field root)
  "merge": { "search": "Search", "clear_search": "Clear search" },
  "variation": "master"                // default: master
}

新增键会被添加,现有键会被覆盖(深度合并),未触及的键则会保留。响应会报告新增/覆盖的键,以及该指针处合并前后的键数量。

MCP 资源

服务器会公开只读 MCP 资源,让 Agent 无需调用工具即可发现 AEM 目录:

资源 URI说明
aem://{instance}/components所有组件(名称、resourceType、标题、组)
aem://{instance}/sites/content 下的站点根目录和语言结构
aem://{instance}/templates可用的页面模板(路径、标题)
aem://{instance}/workflow-models工作流模型(ID、标题、说明)

资源仅返回摘要数据。在多实例模式下,每个实例都有自己的一组资源 URI。

API 文档

详细的 API 文档请参阅 API 文档。

类似项目

  1. https://github.com/easingthemes/aem-mcp-server(作为本项目的基础)
  2. https://github.com/indrasishbanerjee/aem-mcp-server(作为 #1 的基础)
  3. https://www.npmjs.com/package/@myea/aem-mcp-handler(似乎是 #2 的原始来源)

评论

支持 Markdown

第一次接触 MCP?

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

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