deletePage
Remove pages from Adobe Experience Manager by specifying the page path, with an optional force parameter for immediate deletion.
Instructions
Delete a page from AEM
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pagePath | Yes | ||
| force | No |
Implementation Reference
- Core handler implementation for deletePage tool. Performs page deletion using primary HTTP DELETE method with fallbacks to /bin/wcmcommand and Sling POST. Includes path validation and comprehensive error handling.async deletePage(request: DeletePageRequest): Promise<DeleteResponse> { return safeExecute<DeleteResponse>(async () => { const { pagePath, force = false } = request; if (!isValidContentPath(pagePath)) { throw createAEMError( AEM_ERROR_CODES.INVALID_PARAMETERS, `Invalid page path: ${String(pagePath)}`, { pagePath } ); } let deleted = false; try { await this.httpClient.delete(pagePath); deleted = true; } catch (err: any) { if (err.response && err.response.status === 405) { try { await this.httpClient.post('/bin/wcmcommand', { cmd: 'deletePage', path: pagePath, force: force.toString(), }); deleted = true; } catch (postErr: any) { try { await this.httpClient.post(pagePath, { ':operation': 'delete' }); deleted = true; } catch (slingErr: any) { this.logger.error('Sling POST delete failed', { error: slingErr.response?.status, data: slingErr.response?.data }); throw slingErr; } } } else { this.logger.error('DELETE failed', { status: err.response?.status, data: err.response?.data }); throw err; } } return createSuccessResponse({ success: deleted, deletedPath: pagePath, timestamp: new Date().toISOString(), }, 'deletePage') as DeleteResponse; }, 'deletePage'); }
- src/mcp-server.ts:578-580 (registration)MCP tool registration where the list of tools including deletePage is provided via ListToolsRequestSchema handler.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools }; });
- src/mcp-server.ts:282-293 (schema)Tool schema definition specifying input parameters pagePath (required) and force (optional boolean).{ name: 'deletePage', description: 'Delete a page from AEM', inputSchema: { type: 'object', properties: { pagePath: { type: 'string' }, force: { type: 'boolean' }, }, required: ['pagePath'], }, },
- src/mcp-server.ts:709-712 (handler)MCP server dispatch handler for deletePage tool call, delegating to AEMConnector.deletePage.case 'deletePage': { const result = await aemConnector.deletePage(args); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] }; }
- src/aem-connector-new.ts:83-85 (helper)Delegation helper in AEMConnector that forwards deletePage request to PageOperations module.async deletePage(request: any) { return this.pageOps.deletePage(request); }