status
Check deployment status of n8n workflows to identify which are deployed and which require deployment.
Instructions
Show deployment status of workflows (which are deployed, which need deployment)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/server/mcflow.ts:75-85 (registration)MCP server registration: handles ListToolsRequest (returns tool definitions including 'status') and CallToolRequest (delegates to ToolHandler.handleTool)// Tools handler this.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: getToolDefinitions(), })); this.server.setRequestHandler(CallToolRequestSchema, async (request) => { return await this.toolHandler.handleTool( request.params.name, request.params.arguments ); });
- src/tools/registry.ts:340-347 (schema)Tool schema/definition for 'status': no input params required{ name: 'status', description: 'Show deployment status of workflows (which are deployed, which need deployment)', inputSchema: { type: 'object', properties: {}, }, },
- src/tools/handler.ts:191-200 (handler)ToolHandler.handleTool switch case for 'status': instantiates ChangeTracker and calls getChangeDetails() to produce the status outputcase 'status': const changeTracker = new ChangeTracker(this.workflowsPath); await changeTracker.initialize(); const statusDetails = await changeTracker.getChangeDetails(); return { content: [{ type: 'text', text: statusDetails }] };
- src/utils/change-tracker.ts:270-296 (helper)ChangeTracker.getChangeDetails(): formats the deployment status text based on getDeploymentStatus() results, listing deployed/pending workflows with detailsasync getChangeDetails(): Promise<string> { const status = await this.getDeploymentStatus(); let output = 'š Workflow Deployment Status\n\n'; output += `Total Workflows: ${status.total}\n`; output += `ā Deployed: ${status.deployed}\n`; output += `ā³ Pending: ${status.pending}\n\n`; if (status.pending > 0) { output += 'š Workflows Needing Deployment:\n'; for (const workflow of status.workflows) { if (workflow.status !== 'deployed') { const icon = workflow.status === 'modified' ? 'š' : 'š'; output += ` ${icon} ${workflow.name}\n`; output += ` Modified: ${new Date(workflow.lastModified).toLocaleString()}\n`; if (workflow.deployedAt) { output += ` Last deployed: ${new Date(workflow.deployedAt).toLocaleString()}\n`; } } } output += '\nš” Run "McFlow deploy" to deploy pending changes\n'; } else { output += '⨠All workflows are up to date!\n'; } return output; }