listMethods
Discover available methods in the AEM MCP Server for content, component, and asset management with AI and automation integrations.
Instructions
Get list of available MCP methods
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/mcp-server.ts:697-700 (handler)Primary MCP SDK handler for the 'listMethods' tool call. Returns the complete list of available tools (including schemas) as formatted JSON text.
case 'listMethods': { const result = tools; return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] }; } - src/mcp-server.ts:249-253 (schema)Tool schema definition for 'listMethods' in the static tools array, used for both listTools response and tool execution validation.
{ name: 'listMethods', description: 'Get list of available MCP methods', inputSchema: { type: 'object', properties: {} }, }, - src/mcp-server.ts:578-580 (registration)Registers the standard MCP 'listTools' request handler, which exposes the 'listMethods' tool in its response.
server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools }; }); - src/mcp-handler.ts:55-56 (handler)Secondary handler for 'listMethods' in the custom MCPRequestHandler class (used by HTTP gateway), delegates to getAvailableMethods().
case 'listMethods': return { methods: this.getAvailableMethods() }; - src/mcp-handler.ts:118-169 (helper)Helper method providing a hardcoded list of available methods (simplified format without schemas), used by the custom handler.
getAvailableMethods() { return [ { name: 'validateComponent', description: 'Validate component changes before applying them', parameters: ['locale', 'page_path', 'component', 'props'] }, { name: 'updateComponent', description: 'Update component properties in AEM', parameters: ['componentPath', 'properties'] }, { name: 'undoChanges', description: 'Undo the last component changes', parameters: ['job_id'] }, { name: 'scanPageComponents', description: 'Scan a page to discover all components and their properties', parameters: ['pagePath'] }, { name: 'fetchSites', description: 'Get all available sites in AEM', parameters: [] }, { name: 'fetchLanguageMasters', description: 'Get language masters for a specific site', parameters: ['site'] }, { name: 'fetchAvailableLocales', description: 'Get available locales for a site and language master', parameters: ['site', 'languageMasterPath'] }, { name: 'replicateAndPublish', description: 'Replicate and publish content to selected locales', parameters: ['selectedLocales', 'componentData', 'localizedOverrides'] }, { name: 'getAllTextContent', description: 'Get all text content from a page including titles, text components, and descriptions', parameters: ['pagePath'] }, { name: 'getPageTextContent', description: 'Get text content from a specific page', parameters: ['pagePath'] }, { name: 'getPageImages', description: 'Get all images from a page, including those within Experience Fragments', parameters: ['pagePath'] }, { name: 'updateImagePath', description: 'Update the image path for an image component and verify the update', parameters: ['componentPath', 'newImagePath'] }, { name: 'getPageContent', description: 'Get all content from a page including Experience Fragments and Content Fragments', parameters: ['pagePath'] }, { name: 'listPages', description: 'List all pages under a site root', parameters: ['siteRoot', 'depth', 'limit'] }, { name: 'getNodeContent', description: 'Legacy: Get JCR node content', parameters: ['path', 'depth'] }, { name: 'listChildren', description: 'Legacy: List child nodes', parameters: ['path'] }, { name: 'getPageProperties', description: 'Get page properties', parameters: ['pagePath'] }, { name: 'searchContent', description: 'Search content using Query Builder', parameters: ['type', 'fulltext', 'path', 'limit'] }, { name: 'executeJCRQuery', description: 'Execute JCR query', parameters: ['query', 'limit'] }, { name: 'getAssetMetadata', description: 'Get asset metadata', parameters: ['assetPath'] }, { name: 'getStatus', description: 'Get workflow status by ID', parameters: ['workflowId'] }, { name: 'listMethods', description: 'Get list of available MCP methods', parameters: [] }, { name: 'enhancedPageSearch', description: 'Intelligent page search with comprehensive fallback strategies and cross-section search', parameters: ['searchTerm', 'basePath', 'includeAlternateLocales'] }, { name: 'createPage', description: 'Create a new page in AEM', parameters: ['parentPath', 'title', 'template', 'name', 'properties'] }, { name: 'deletePage', description: 'Delete a page from AEM', parameters: ['pagePath', 'force'] }, { name: 'createComponent', description: 'Create a new component on a page', parameters: ['pagePath', 'componentType', 'resourceType', 'properties', 'name'] }, { name: 'deleteComponent', description: 'Delete a component from AEM', parameters: ['componentPath', 'force'] }, { name: 'unpublishContent', description: 'Unpublish content from the publish environment', parameters: ['contentPaths', 'unpublishTree'] }, { name: 'activatePage', description: 'Activate (publish) a single page', parameters: ['pagePath', 'activateTree'] }, { name: 'deactivatePage', description: 'Deactivate (unpublish) a single page', parameters: ['pagePath', 'deactivateTree'] }, { name: 'uploadAsset', description: 'Upload a new asset to AEM DAM', parameters: ['parentPath', 'fileName', 'fileContent', 'mimeType', 'metadata'] }, { name: 'updateAsset', description: 'Update an existing asset in AEM DAM', parameters: ['assetPath', 'metadata', 'fileContent', 'mimeType'] }, { name: 'deleteAsset', description: 'Delete an asset from AEM DAM', parameters: ['assetPath', 'force'] }, { name: 'getTemplates', description: 'Get available page templates', parameters: ['sitePath'] }, { name: 'getTemplateStructure', description: 'Get detailed structure of a specific template', parameters: ['templatePath'] }, { name: 'bulkUpdateComponents', description: 'Update multiple components in a single operation with validation and rollback support', parameters: ['updates', 'validateFirst', 'continueOnError'] }, { name: 'startWorkflow', description: 'Start a new workflow instance', parameters: ['model', 'payloadPath', 'title', 'comment'] }, { name: 'listActiveWorkflows', description: 'List all currently running workflow instances', parameters: ['limit'] }, { name: 'completeWorkflowStep', description: 'Complete a workflow step', parameters: ['workflowId', 'stepName', 'comment'] }, { name: 'cancelWorkflow', description: 'Cancel a workflow instance', parameters: ['workflowId', 'reason'] }, { name: 'suspendWorkflow', description: 'Suspend a workflow instance', parameters: ['workflowId', 'reason'] }, { name: 'resumeWorkflow', description: 'Resume a suspended workflow instance', parameters: ['workflowId'] }, { name: 'getWorkflowModels', description: 'Get all available workflow models', parameters: [] }, { name: 'getVersionHistory', description: 'Get version history for a content path', parameters: ['path'] }, { name: 'createVersion', description: 'Create a new version of content', parameters: ['path', 'label', 'comment'] }, { name: 'restoreVersion', description: 'Restore content to a specific version', parameters: ['path', 'versionName'] }, { name: 'compareVersions', description: 'Compare two versions of content', parameters: ['path', 'version1', 'version2'] }, { name: 'deleteVersion', description: 'Delete a specific version', parameters: ['path', 'versionName'] }, ]; }