deployment_status
Monitor and verify deployment progress on the 'railway-mcp' server. Check for success or failures using deployment IDs to ensure accurate deployment tracking.
Instructions
[API] Check the current status of a deployment
⚡️ Best for: ✓ Monitoring deployment progress ✓ Verifying successful deployments ✓ Checking for deployment failures
⚠️ Not for: × Service runtime logs × Database logs
→ Prerequisites: deployment_list, deployment_trigger
→ Next steps: deployment_logs
→ Related: service_info, service_restart, deployment_wait
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| deploymentId | Yes | ID of the deployment to check status for |
Implementation Reference
- src/tools/deployment.tool.ts:94-120 (registration)Tool registration for 'deployment_status', including description, input schema, and handler function that delegates to deploymentService.healthCheckDeployment.createTool( "deployment_status", formatToolDescription({ type: 'API', description: "Check the current status of a deployment", bestFor: [ "Monitoring deployment progress", "Verifying successful deployments", "Checking for deployment failures" ], notFor: [ "Service runtime logs", "Database logs" ], relations: { prerequisites: ["deployment_list", "deployment_trigger"], nextSteps: ["deployment_logs"], related: ["service_info", "service_restart", "deployment_wait"] } }), { deploymentId: z.string().describe("ID of the deployment to check status for") }, async ({ deploymentId }) => { return deploymentService.healthCheckDeployment(deploymentId); } )
- src/tools/deployment.tool.ts:117-119 (handler)The handler function that executes the tool logic by calling the deployment service's healthCheckDeployment method.async ({ deploymentId }) => { return deploymentService.healthCheckDeployment(deploymentId); }
- src/tools/deployment.tool.ts:114-116 (schema)Zod input schema for the deployment_status tool, requiring a deploymentId string.{ deploymentId: z.string().describe("ID of the deployment to check status for") },
- src/tools/index.ts:32-36 (registration)Global registration of all tools, including deployment_status, to the MCP server.allTools.forEach((tool) => { server.tool( ...tool ); });
- Supporting service method implementing the core deployment status check logic, with delay, API call, and formatted response.async healthCheckDeployment(deploymentId: string) { try { // Wait for 5 seconds before checking status // Seems like the LLMs like to call this function multiple times in combination // with the health check function, so we need to wait a bit await new Promise(resolve => setTimeout(resolve, 5000)); const status = await this.client.deployments.healthCheckDeployment(deploymentId); const emoji = getStatusEmoji(status); return createSuccessResponse({ text: `Deployment Status: ${emoji} ${status}`, data: { status } }); } catch (error) { return createErrorResponse(`Error checking deployment health: ${formatError(error)}`); } }