deployment_status
Check the current status of a deployment to monitor progress, verify success, or identify failures in Railway.app infrastructure.
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)Creates the deployment_status tool object including name, description, schema, and handler function. This is added to the deploymentTools array for later registration.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 core handler function for the deployment_status tool, which invokes the deployment service to check the status.async ({ deploymentId }) => { return deploymentService.healthCheckDeployment(deploymentId); }
- src/tools/deployment.tool.ts:114-116 (schema)Zod schema defining the input parameter deploymentId for the tool.{ deploymentId: z.string().describe("ID of the deployment to check status for") },
- src/tools/index.ts:32-36 (registration)Registers all tools, including deployment_status (via deploymentTools), with the MCP server using server.tool().allTools.forEach((tool) => { server.tool( ...tool ); });
- Helper method in DeploymentService that performs the actual health check on the deployment and formats the 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)}`); } }