@iflow-mcp/aem-mcp-server
v1.0.0
Published
MCP server for Adobe Experience Manager (AEM) local instance management
Readme
AEM MCP Server
A Model Context Protocol (MCP) server for Adobe Experience Manager (AEM) local instance management. This server provides tools to interact with AEM instances, manage packages, check status, and perform common development tasks.
Features
The AEM MCP server provides the following tools:
1. aem_status
Check the status of an AEM instance including version, bundle count, and overall health.
Parameters:
host(optional): AEM host (default: localhost)port(optional): AEM port (default: 4502)username(optional): AEM username (default: admin)password(optional): AEM password (default: admin)
2. aem_install_package
Install a package (.zip file) in AEM.
Parameters:
packagePath(required): Path to the package file (.zip)host(optional): AEM host (default: localhost)port(optional): AEM port (default: 4502)username(optional): AEM username (default: admin)password(optional): AEM password (default: admin)force(optional): Force installation (default: false)
3. aem_list_packages
List all installed packages in AEM.
Parameters:
host(optional): AEM host (default: localhost)port(optional): AEM port (default: 4502)username(optional): AEM username (default: admin)password(optional): AEM password (default: admin)
4. aem_create_page
Create a new page in AEM.
Parameters:
parentPath(required): Parent path where to create the pagepageName(required): Name of the new pagepageTitle(required): Title of the new pagetemplate(required): Template path for the pagehost(optional): AEM host (default: localhost)port(optional): AEM port (default: 4502)username(optional): AEM username (default: admin)password(optional): AEM password (default: admin)
5. aem_replicate_content
Replicate content to publish instance (activate/deactivate).
Parameters:
path(required): Content path to replicateaction(optional): Replication action - 'activate' or 'deactivate' (default: activate)host(optional): AEM host (default: localhost)port(optional): AEM port (default: 4502)username(optional): AEM username (default: admin)password(optional): AEM password (default: admin)
6. aem_query_content
Query content using JCR-SQL2 or XPath.
Parameters:
query(required): Query string (JCR-SQL2 or XPath)type(optional): Query type - 'JCR-SQL2' or 'xpath' (default: JCR-SQL2)limit(optional): Maximum number of results (default: 20)host(optional): AEM host (default: localhost)port(optional): AEM port (default: 4502)username(optional): AEM username (default: admin)password(optional): AEM password (default: admin)
7. aem_bundle_status
Check OSGi bundle status.
Parameters:
bundleId(optional): Specific bundle ID or symbolic namehost(optional): AEM host (default: localhost)port(optional): AEM port (default: 4502)username(optional): AEM username (default: admin)password(optional): AEM password (default: admin)
8. aem_clear_cache
Clear various AEM caches.
Parameters:
cacheType(optional): Type of cache to clear - 'dispatcher', 'clientlibs', or 'all' (default: all)host(optional): AEM host (default: localhost)port(optional): AEM port (default: 4502)username(optional): AEM username (default: admin)password(optional): AEM password (default: admin)
Installation
- Clone or download this repository
- Install dependencies:
npm install - Build the project:
npm run build
Usage
Running the Server
npm startDevelopment Mode
npm run devConfiguration
The server uses default AEM credentials (admin/admin) and connects to localhost:4502 by default. You can override these settings by providing different parameters when calling the tools.
Example Usage
Once the MCP server is configured and running, you can use the tools through your MCP client:
- Check AEM status:
aem_status - Install a package:
aem_install_packagewithpackagePath: "/path/to/package.zip" - Create a page:
aem_create_pagewith required parameters - Query content:
aem_query_contentwithquery: "SELECT * FROM [cq:Page]"
Requirements
- Node.js 18+
- TypeScript
- Running AEM instance (local or remote)
- Appropriate AEM credentials
License
MIT License
