Skip to main content
Glama

aem_replicate_content

Activate or deactivate content on AEM publish instances by specifying the content path and replication action.

Instructions

Replicate content to publish instance

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesContent path to replicate
actionNoReplication action (activate/deactivate)activate
hostNoAEM host (default: localhost)localhost
portNoAEM port (default: 4502)
usernameNoAEM username (default: admin)admin
passwordNoAEM password (default: admin)admin

Implementation Reference

  • The MCP tool handler that extracts parameters, validates input, calls the AEMClient to perform replication, and formats the response for MCP.
    async replicateContent(args: any) { const config = this.getConfig(args); const { path, action = 'activate' } = args; if (!path) { throw new Error('Content path is required'); } const result = await this.aemClient.replicateContent(config, path, action); return { content: [ { type: 'text', text: `Content Replication Result: Success: ${result.success} Message: ${result.message} Path: ${path} Action: ${action}`, }, ], }; }
  • Core implementation that performs the HTTP POST request to AEM's /bin/replicate.json endpoint to activate or deactivate content.
    async replicateContent(config: AEMConfig, contentPath: string, action: string = 'activate'): Promise<any> { const baseUrl = this.getBaseUrl(config); const authHeader = this.getAuthHeader(config); const formData = new FormData(); formData.append('cmd', action); formData.append('path', contentPath); try { const response = await this.axiosInstance.post( `${baseUrl}/bin/replicate.json`, formData, { headers: { 'Authorization': authHeader, ...formData.getHeaders(), }, } ); if (response.status === 200) { return { success: true, message: `Content ${action}d successfully: ${contentPath}`, response: response.data, }; } else { return { success: false, message: `Replication failed: HTTP ${response.status}`, response: response.data, }; } } catch (error) { throw new Error(`Replication failed: ${error instanceof Error ? error.message : 'Unknown error'}`); } }
  • JSON schema defining the input parameters for the aem_replicate_content tool, including path (required), action, and connection details.
    inputSchema: { type: 'object', properties: { path: { type: 'string', description: 'Content path to replicate' }, action: { type: 'string', description: 'Replication action (activate/deactivate)', enum: ['activate', 'deactivate'], default: 'activate' }, host: { type: 'string', description: 'AEM host (default: localhost)', default: 'localhost' }, port: { type: 'number', description: 'AEM port (default: 4502)', default: 4502 }, username: { type: 'string', description: 'AEM username (default: admin)', default: 'admin' }, password: { type: 'string', description: 'AEM password (default: admin)', default: 'admin' } }, required: ['path'] }
  • src/index.ts:361-362 (registration)
    Switch case in CallToolRequestSchema handler that dispatches the tool call to the AEMTools.replicateContent method.
    case 'aem_replicate_content': return await this.aemTools.replicateContent(args);
  • src/index.ts:191-230 (registration)
    Tool registration in ListToolsRequestSchema response, providing name, description, and schema.
    { name: 'aem_replicate_content', description: 'Replicate content to publish instance', inputSchema: { type: 'object', properties: { path: { type: 'string', description: 'Content path to replicate' }, action: { type: 'string', description: 'Replication action (activate/deactivate)', enum: ['activate', 'deactivate'], default: 'activate' }, host: { type: 'string', description: 'AEM host (default: localhost)', default: 'localhost' }, port: { type: 'number', description: 'AEM port (default: 4502)', default: 4502 }, username: { type: 'string', description: 'AEM username (default: admin)', default: 'admin' }, password: { type: 'string', description: 'AEM password (default: admin)', default: 'admin' } }, required: ['path'] } },

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/pradeep-moolemane/aem-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server