template_get_workflow_status
Retrieve the status of a specific workflow on the Railway MCP server using the workflow ID. Ideal for monitoring and verifying the progress of active workflows within the infrastructure.
Instructions
[API] Get the status of a workflow
⚡️ Best for: ✓ Checking workflow status
⚠️ Not for: × Creating new services
→ Next steps: service_info
→ Related: template_list, template_deploy
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| workflowId | Yes | ID of the workflow to get the status of |
Implementation Reference
- src/tools/template.tool.ts:70-88 (handler)Registration and handler for the 'template_get_workflow_status' tool. The handler function fetches the workflow status by calling templatesService.getWorkflowStatus.createTool( "template_get_workflow_status", formatToolDescription({ type: 'API', description: "Get the status of a workflow", bestFor: ["Checking workflow status"], notFor: ["Creating new services"], relations: { nextSteps: ["service_info"], related: ["template_list, template_deploy"] } }), { workflowId: z.string().describe("ID of the workflow to get the status of") }, async ({ workflowId }) => { return templatesService.getWorkflowStatus(workflowId); } ),
- src/tools/template.tool.ts:82-84 (schema)Input schema definition using Zod for the workflowId parameter.{ workflowId: z.string().describe("ID of the workflow to get the status of") },
- Helper method in TemplatesService that retrieves workflow status from the API client and formats success/error responses.async getWorkflowStatus(workflowId: string) { const response = await this.client.templates.getWorkflowStatus(workflowId); if (response.error) { return createErrorResponse(`Error with workflow ${workflowId}: ${response.error}`); } if (response.status.toLowerCase() === 'complete') { return createSuccessResponse({ text: `Workflow ${workflowId} completed successfully`, data: response }); } return createSuccessResponse({ text: `Workflow ${workflowId} is still running. Status: ${response.status}`, data: response }); }
- src/tools/index.ts:16-37 (registration)Global registration of all tools, including templateTools which contains template_get_workflow_status, via MCP server.tool calls.export function registerAllTools(server: McpServer) { // Collect all tools const allTools = [ ...databaseTools, ...deploymentTools, ...domainTools, ...projectTools, ...serviceTools, ...tcpProxyTools, ...variableTools, ...configTools, ...volumeTools, ...templateTools, ] as Tool[]; // Register each tool with the server allTools.forEach((tool) => { server.tool( ...tool ); }); }