AEM内容管理服务器

连接Claude AI与Adobe Experience Manager的协议服务器,支持自然语言内容操作。

  • by mountcrow
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 mountcrow/aem-mcp

使用说明

AEM MCP服务器

A. 模型上下文协议 (MCP)服务器,将Claude AI连接到Adobe Experience Manager(AEM),实现自然语言内容操作。

特性

页面

  • 获取页面内容和属性
  • 列出子页面
  • 从模板创建页面
  • 更新页面属性(标题、描述、标签等)
  • 删除页面
  • 激活/停用(发布/取消发布)页面

搜索

  • 使用AEM QueryBuilder进行全文搜索
  • 按路径、节点类型和自定义属性筛选

资产(DAM)

  • 获取资产元数据
  • 列出文件夹中的资产
  • 获取可用资产格式副本

内容片段

  • 获取并列出内容片段
  • 从模型创建内容片段
  • 更新内容片段字段

先决条件

  • Node.js 18或更高版本
  • AEM作者实例(本地或AEM作为云服务)

设置

1.安装依赖项

npm install

2.配置环境

cp .env.example .env

编辑 .env 您的AEM连接详细信息:

本地/开发实例(基本身份验证):

AEM_BASE_URL=http://localhost:4502
AEM_AUTH_TYPE=basic
AEM_USERNAME=admin
AEM_PASSWORD=admin

AEM即云服务(令牌认证):

AEM_BASE_URL=https://author-pXXXXX-eYYYYYY.adobeaemcloud.com
AEM_AUTH_TYPE=token
AEM_ACCESS_TOKEN=<your-ims-access-token>

要获取AEM云服务的IMS访问令牌,请执行以下操作:

  1. 首选 Adobe开发人员控制台
  2. 创建一个项目并添加 AEM即云服务 API
  3. 使用 服务帐户(JWT) 用于生成访问令牌的凭据
  4. 将承载令牌值粘贴到 AEM_ACCESS_TOKEN

3.建造

npm run build

4.向Claude注册

将服务器添加到Claude配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "aem": {
      "command": "node",
      "args": ["/absolute/path/to/aem-mcp/dist/index.js"]
    }
  }
}

保存配置后重新启动Claude Desktop。

可用工具

工具 说明
aem_get_page 按JCR路径获取页面内容和属性
aem_list_pages 列出父路径下的子页面
aem_create_page 从模板创建新页面
aem_update_page 更新页面JCR属性
aem_delete_page 删除页面(使用可选强制)
aem_replicate_page 发布或取消发布页面
aem_search 全文和过滤内容搜索
aem_get_asset 获取DAM资产元数据
aem_list_assets 列出DAM文件夹中的资产
aem_get_asset_renditions 列出资产可用的格式副本
aem_get_content_fragment 按路径获取内容片段
aem_list_content_fragments 列出文件夹中的内容片段
aem_create_content_fragment 创建新的内容片段
aem_update_content_fragment 更新内容片段字段

示例提示

连接后,您可以问Claude以下问题:

  • “显示/content/mysite/en下的所有页面”
  • “使用内容页面模板在/content/mysite/en创建一个名为“关于我们”的新页面”
  • “在/content/mysite中搜索提到‘可持续性’的页面”
  • “列出/content/dam/mysite/images中的所有资产”
  • “在/content/dam/mysite/refragments/article-1获取内容片段”
  • “将页面发布到/content/mysite/en/home”

发展

在监视模式下运行TypeScript编译器:

npm run dev

项目结构

aem-mcp/
├── src/
│   ├── index.ts        # MCP server entry point (stdio transport)
│   ├── aem-client.ts   # AEM REST API client with auth support
│   └── tools.ts        # Claude tool definitions and handlers
├── .env.example        # Environment variable template
├── package.json
└── tsconfig.json