A modern MCP server for AEM that provides REST/JSON-RPC access to pages, components, assets, templates, and localization workflows with AI integration.
Configuration
View docs{
"mcpServers": {
"indrasishbanerjee-aem-mcp-server": {
"url": "http://localhost:3001/mcp",
"headers": {
"AEM_HOST": "http://localhost:4502",
"MCP_PORT": "8080",
"GATEWAY_PORT": "3001",
"MCP_PASSWORD": "admin",
"MCP_USERNAME": "admin",
"AEM_SERVICE_USER": "admin",
"AEM_SERVICE_PASSWORD": "admin"
}
}
}
}You run an AEM MCP Server to manage Adobe Experience Manager content via REST and JSON-RPC, with AI integrations and automation features. It gives you programmatic control over pages, components, assets, templates, and localization, while offering a flexible, production-ready interface for automations and chat-driven workflows.
You connect to the server from an MCP client or your own code over HTTP or via a local (stdio) MCP runtime. Use the HTTP endpoint for remote or local testing, and you can also start a local MCP server process and connect with a code editor or custom client using a local channel.
# Prerequisites
- Node.js 18+
- Access to an AEM instance (local or remote)
# Installation from project root
cd clone
npm install
# Build the server
npm run build
# Run in production
npm start
# Optional: run in development with hot reload
npm run devConfigure the environment and MCP client to connect securely. Create a .env file in your project root with the following values (adjust as needed):
AEM_HOST=http://localhost:4502
AEM_SERVICE_USER=admin
AEM_SERVICE_PASSWORD=admin
MCP_PORT=8080
GATEWAY_PORT=3001
MCP_USERNAME=admin
MCP_PASSWORD=adminAll MCP operations require authentication. Use the MCP username and password you define in the environment to access endpoints. Ensure your AEM credentials have the necessary permissions for content, assets, and templates you intend to manage.
Common issues include connectivity to AEM, authentication problems, or permission errors. Validate your .env values, confirm AEM is reachable, and check that the MCP user has rights to the targeted paths and templates.
The server exposes a wide range of operations. Typical actions you perform include page lifecycle management, component updates, asset handling, search, and template discovery. You can orchestrate batch updates, scan pages for components, and publish or retract content across locales.
You can connect modern AI-enabled editors or custom clients via MCP. Configure your IDE to connect to the MCP server by pointing it to the runtime or HTTP endpoint and using your MCP credentials. The IDE can list, search, and execute MCP methods, and you can leverage AI features if enabled.
This project is licensed under AGPL-V3. For commercial use in enterprise environments, a paid license is required.
Content migration, bulk updates, asset workflows, and search-driven content discovery are common patterns. You can list pages, create or update pages and components, upload assets, run searches, and publish content across sites and locales.
HTTP endpoint for MCP: use the server URL that exposes the MCP API at /mcp for operations. REST and JSON-RPC interfaces are available to cover different client preferences.
Use strong credentials for MCP access, constrain network access to trusted hosts, and validate inputs for destructive operations. Enable pagination and safe operation defaults to minimize impact on large content sets.
The server is built with TypeScript, exposes REST and JSON-RPC APIs, and integrates with AI providers and a Telegram bot for chat-based management. It offers a dashboard for API exploration and testing.
Contributions are welcome. Open issues or pull requests to suggest bug fixes, new integrations, or documentation improvements. For customizations and enterprise deployments, you can discuss requirements via your preferred communication channel.
- Modern TypeScript-based MCP server for AEM - REST and JSON-RPC APIs for pages, components, assets, and templates - AI/LLM integrations and Telegram bot for conversational management - Production-ready, modular, and extensible design - Interactive dashboard for testing and exploration
If you encounter template or path issues, verify the exact template paths and permissions. For authentication problems, confirm MCP credentials and ensure the AEM user has the necessary rights.
You can configure an MCP client to connect to your server using the following example. If you are using an IDE or a code editor, specify the runtime path to the MCP server and provide authentication details in your client configuration.
The server exposes a range of endpoints and methods for content, asset, and template management, including search, replication, and localization workflows. All methods return structured results with clear error information to aid automation.
AGPL-V3 license applies. For commercial deployments, ensure you have the appropriate license for enterprise use.
List pages under a site root with depth control and pagination. Useful for discovering site structure.
Create a new page under a given parent path with a specified template.
Update properties of a component at a given path, with validation and safety checks.
Upload an asset to the AEM DAM with metadata and optional MIME type detection.
Perform a flexible content search with type, path, and fulltext filters.
Publish or activate a page to make it available in publish environments.
Scan a page to discover all components and their properties.
List templates available for sites and paths.
Retrieve the complete content of a page, including properties and text.
Fetch metadata for a given DAM asset.