io.github.easingthemes/aem-mcp-server
平台与服务by easingthemes
AEM 的 MCP server,可直接与 AEM 实例对话,执行内容、组件和资产相关操作。
什么是 io.github.easingthemes/aem-mcp-server?
AEM 的 MCP server,可直接与 AEM 实例对话,执行内容、组件和资产相关操作。
README
AEM MCP Server (aem-mcp-server)
AEM MCP Server is a full-featured Model Context Protocol (MCP) server for Adobe Experience Manager (AEM). It provides a simple integration with any AI Agent. This project is designed for non-technical persons who want to manage AEM via natural language.
Overview
- Manage your AEM instance with natural language — content, components, assets, workflows
- Works with any MCP-compatible client:
- AI IDEs — Cursor, VS Code + Copilot, Windsurf, Cline, JetBrains AI Assistant, Zed
- CLI agents — Claude Code, GitHub Copilot CLI, Gemini CLI, Amazon Q CLI
- Chat & desktop apps — Claude Desktop, ChatGPT Desktop, Goose
- Supports both AEMaaCS and self-hosted AEM instances
- Two transport modes — stdio via
npx(recommended, zero install) and streamable HTTP
Quick Start
Prerequisites
- Node.js 20.19.0+ || 22.12.0+ || 23+
- Access to an AEM instance (local or remote)
Stdio Transport (recommended)
No installation needed — the AI agent downloads and spawns the process automatically via npx.
Add to your project's MCP config (.mcp.json, .vscode/mcp.json, .cursor/mcp.json, etc.):
{
"mcpServers": {
"AEM": {
"command": "npx",
"args": ["-y", "aem-mcp-server", "-t", "stdio", "-H", "http://localhost:4502", "-u", "admin", "-p", "admin"]
}
}
}
Secrets: Since MCP config files are typically committed to the repo, avoid hardcoding credentials. Use your client's env var syntax instead:
Client Syntax Claude Code ( .mcp.json)${AEM_PASSWORD}or${AEM_PASSWORD:-admin}VS Code / Copilot ${input:aem-password}(prompts securely) orenvFileCursor ${env:AEM_PASSWORD}Example with env var references (Claude Code):
json{ "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}"] } } }
Streamable HTTP Transport (alternative)
For scenarios where you need a persistent server (shared team server, multiple clients connecting simultaneously, etc.), install globally and start the server manually:
npm install aem-mcp-server -g
aem-mcp -H=http://localhost:4502 -u=admin -p=admin
Then point your AI agent to the URL:
{
"mcpServers": {
"AEM": {
"url": "http://127.0.0.1:8502/mcp"
}
}
}
Configuration
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]
Authentication:
- For AEMaaCS, use
clientIdandclientSecretfor OAuth S2S authentication. More info. - For self-hosted AEM, use
user/pass. Default credentials areadmin:admin.
Multi-instance: Connect to multiple AEM instances simultaneously:
aem-mcp --instances "author:http://localhost:4502:admin:admin,publish:http://localhost:4503:admin:admin"
All tools will get an instance parameter to target a specific instance.
Features
- 57 MCP Tools covering pages, components, assets, workflows, content fragments, and experience fragments
- MCP Resources — agents discover components, sites, templates, and workflow models upfront via
resources/list, eliminating discovery roundtrips - Tool Annotations — every tool tagged with
group,readOnly, andcomplexityso agents can make smarter tool selection decisions - Response Verbosity —
verbosityparameter (summary/standard/full) on content-reading tools strips JCR internals and truncates long text - Actionable Errors — error responses include
suggestionandalternativesfields for self-healing agent workflows - Component Operations: Update, scan, add, convert, and bulk-manage AEM components (including Experience Fragments)
- Content & Experience Fragments: Full CRUD + variation management for both CF and XF
- Advanced Search: QueryBuilder, fulltext, fuzzy, and enhanced page search
- Replication & Workflows: Publish/unpublish content, start/advance/delegate workflow stages
- Text & Image Extraction: Extract all text and images from pages, including fragments
- Template & Structure Discovery: List templates, analyze page/component structure
- Multi-instance: Connect to multiple AEM instances simultaneously; tools and resources are instance-aware
- Security: Basic auth and OAuth S2S, environment-based config, safe operation defaults
Usage
Once configured in your AI IDE, just ask in natural language:
List all components on MyPage
MCP Resources
The server exposes read-only MCP resources so agents can discover AEM catalogs without tool calls:
| Resource URI | Description |
|---|---|
aem://{instance}/components | All components (name, resourceType, title, group) |
aem://{instance}/sites | Site roots and language structure under /content |
aem://{instance}/templates | Available page templates (path, title) |
aem://{instance}/workflow-models | Workflow models (ID, title, description) |
Resources return summary data only. In multi-instance mode, each instance gets its own set of resource URIs.
API Documentation
For detailed API documentation, please refer to the API Docs.
Similar Projects
- https://github.com/easingthemes/aem-mcp-server (Used as a base for this project)
- https://github.com/indrasishbanerjee/aem-mcp-server (Used as a base for #1)
- https://www.npmjs.com/package/@myea/aem-mcp-handler (Looks like an original source of #2)
常见问题
io.github.easingthemes/aem-mcp-server 是什么?
AEM 的 MCP server,可直接与 AEM 实例对话,执行内容、组件和资产相关操作。
相关 Skills
MCP构建
by anthropics
聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。
✎ 想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。
Slack动图
by anthropics
面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。
✎ 帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。
MCP服务构建器
by alirezarezvani
从 OpenAPI 一键生成 Python/TypeScript MCP server 脚手架,并校验 tool schema、命名规范与版本兼容性,适合把现有 REST API 快速发布成可生产演进的 MCP 服务。
✎ 帮你快速搭建 MCP 服务与后端 API,脚手架完善、扩展顺手,尤其适合想高效验证服务能力的开发者。
相关 MCP Server
Slack 消息
编辑精选by Anthropic
Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。
✎ 这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。
by netdata
io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。
✎ 这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。
by d4vinci
Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。
✎ 这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。