AEM MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AEM_HOST | No | The AEM host URL | http://localhost:4502 |
| MCP_PORT | No | The MCP server port | 8080 |
| AEM_XF_ROOT | No | The root path for AEM experience fragments | /content/experience-fragments |
| GATEWAY_PORT | No | The gateway port | 3001 |
| MCP_PASSWORD | No | The MCP password for authentication | admin |
| MCP_USERNAME | No | The MCP username for authentication | admin |
| AEM_MAX_DEPTH | No | The maximum depth for AEM operations | 5 |
| AEM_SITES_ROOT | No | The root path for AEM sites | /content |
| OPENAI_API_KEY | No | Your OpenAI API key for AI integration | |
| AEM_ASSETS_ROOT | No | The root path for AEM assets | /content/dam |
| AEM_SERVICE_USER | No | The AEM service user | admin |
| AEM_DEFAULT_AGENT | No | The default AEM replication agent | publish |
| AEM_QUERY_TIMEOUT | No | The timeout for AEM queries in milliseconds | 30000 |
| AEM_PUBLISHER_URLS | No | The AEM publisher URLs | http://localhost:4503 |
| AEM_TEMPLATES_ROOT | No | The root path for AEM templates | /conf |
| TELEGRAM_BOT_TOKEN | No | Your Telegram bot token for chat-based AEM management | |
| AEM_QUERY_MAX_LIMIT | No | The maximum limit for AEM queries | 100 |
| AEM_SERVICE_PASSWORD | No | The AEM service password | admin |
| AEM_ALLOWED_COMPONENTS | No | Comma-separated list of allowed AEM components | text,image,hero,button,list,teaser,carousel |
| AEM_QUERY_DEFAULT_LIMIT | No | The default limit for AEM queries | 20 |
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| validateComponentC | Validate component changes before applying them |
| updateComponentC | Update component properties in AEM |
| undoChangesC | Undo the last component changes |
| scanPageComponentsC | Scan a page to discover all components and their properties |
| fetchSitesB | Get all available sites in AEM |
| fetchLanguageMastersC | Get language masters for a specific site |
| fetchAvailableLocalesC | Get available locales for a site and language master |
| replicateAndPublishC | Replicate and publish content to selected locales |
| getAllTextContentC | Get all text content from a page including titles, text components, and descriptions |
| getPageTextContentC | Get text content from a specific page |
| getPageImagesC | Get all images from a page, including those within Experience Fragments |
| updateImagePathC | Update the image path for an image component and verify the update |
| getPageContentC | Get all content from a page including Experience Fragments and Content Fragments |
| listPagesC | List all pages under a site root |
| getNodeContentD | Legacy: Get JCR node content |
| listChildrenD | Legacy: List child nodes |
| getPagePropertiesD | Get page properties |
| searchContentC | Search content using Query Builder |
| executeJCRQueryD | Execute JCR query |
| getAssetMetadataD | Get asset metadata |
| getStatusC | Get workflow status by ID |
| listMethodsB | Get list of available MCP methods |
| enhancedPageSearchC | Intelligent page search with comprehensive fallback strategies and cross-section search |
| createPageC | Create a new page in AEM |
| deletePageC | Delete a page from AEM |
| createComponentC | Create a new component on a page |
| deleteComponentC | Delete a component from AEM |
| unpublishContentC | Unpublish content from the publish environment |
| activatePageC | Activate (publish) a single page |
| deactivatePageC | Deactivate (unpublish) a single page |
| uploadAssetC | Upload a new asset to AEM DAM |
| updateAssetC | Update an existing asset in AEM DAM |
| deleteAssetC | Delete an asset from AEM DAM |
| getTemplatesC | Get available page templates |
| getTemplateStructureC | Get detailed structure of a specific template |
| bulkUpdateComponentsA | Update multiple components in a single operation with validation and rollback support |
| startWorkflowC | Start a new workflow instance |
| listActiveWorkflowsC | List all currently running workflow instances |
| completeWorkflowStepD | Complete a workflow step |
| cancelWorkflowC | Cancel a workflow instance |
| suspendWorkflowC | Suspend a workflow instance |
| resumeWorkflowB | Resume a suspended workflow instance |
| getWorkflowModelsB | Get all available workflow models |
| getVersionHistoryC | Get version history for a content path |
| createVersionC | Create a new version of content |
| restoreVersionC | Restore content to a specific version |
| compareVersionsC | Compare two versions of content |
| deleteVersionD | Delete a specific version |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/indrasishbanerjee/aem-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server