AEM MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AEM MCP Serverlist all pages under /content/we-retail"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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):
{ "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=adminThen 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 roundtripsTool Annotations — every tool tagged with
group,readOnly, andcomplexityso agents can make smarter tool selection decisionsResponse Verbosity —
verbosityparameter (summary/standard/full) on content-reading tools strips JCR internals and truncates long textActionable Errors — error responses include
suggestionandalternativesfields for self-healing agent workflowsComponent 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 MyPageMCP Resources
The server exposes read-only MCP resources so agents can discover AEM catalogs without tool calls:
Resource URI | Description |
| All components (name, resourceType, title, group) |
| Site roots and language structure under /content |
| Available page templates (path, title) |
| 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)
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/easingthemes/aem-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server