Skip to main content
Glama

getWorkflowModels

Retrieve available workflow models from Adobe Experience Manager to automate content processes and manage business logic.

Instructions

Get all available workflow models

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Core handler function that implements the getWorkflowModels tool by querying AEM's workflow models endpoint, parsing the response into structured model objects including steps, and returning a success response.
    async getWorkflowModels() { return safeExecute(async () => { try { // Get workflow models from AEM const response = await this.httpClient.get('/etc/workflow/models.json', { params: { ':depth': '3' } }); const models = []; if (response.data && typeof response.data === 'object') { Object.entries(response.data).forEach(([key, value]) => { if (key.startsWith('jcr:') || key.startsWith('sling:')) return; if (value && typeof value === 'object') { const modelPath = `/etc/workflow/models/${key}`; const modelData = value['jcr:content'] || value; models.push({ modelId: key, title: modelData['jcr:title'] || key, description: modelData['jcr:description'] || '', version: modelData['version'] || '1.0', status: modelData['status'] || 'enabled', createdBy: modelData['jcr:createdBy'] || 'admin', createdAt: modelData['jcr:created'] || new Date().toISOString(), steps: this.parseModelSteps(modelData) }); } }); } return createSuccessResponse({ models, totalCount: models.length }, 'getWorkflowModels'); } catch (error) { throw handleAEMHttpError(error, 'getWorkflowModels'); } }, 'getWorkflowModels'); }
  • Helper function used by getWorkflowModels to parse steps from a workflow model node structure.
    parseModelSteps(modelData) { const steps = []; if (modelData && modelData.nodes) { Object.entries(modelData.nodes).forEach(([key, value]) => { if (key.startsWith('jcr:') || key.startsWith('sling:')) return; if (value && typeof value === 'object') { steps.push({ name: key, title: value['jcr:title'] || key, type: value['jcr:primaryType'] || 'unknown', description: value['jcr:description'] }); } }); } return steps; }
  • Tool registration in the MCP server's tools array, including name, description, and input schema (no parameters required).
    { name: 'getWorkflowModels', description: 'Get all available workflow models', inputSchema: { type: 'object', properties: {} }, },
  • MCP server top-level handler case that delegates to aemConnector.getWorkflowModels() and formats the response for MCP protocol.
    case 'getWorkflowModels': { const result = await aemConnector.getWorkflowModels(); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
  • Simplified tool schema definition in MCP handler's available methods list, specifying no parameters.
    { name: 'getWorkflowModels', description: 'Get all available workflow models', parameters: [] },

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