list-deployments
Retrieve a list of all running deployments in Coolify to view deployment status and history.
Instructions
Retrieve a list of all running deployments in Coolify. This includes details about the deployment status and history.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:244-252 (handler)Handler for the 'list-deployments' tool that fetches deployments from the Coolify API '/deployments' endpoint and returns the JSON response.case "list-deployments": { const deployments = await coolifyApiCall('/deployments'); return { content: [{ type: "text", text: JSON.stringify(deployments, null, 2) }] }; }
- src/index.ts:123-127 (registration)Tool registration in the ListToolsRequestHandler, defining name, description, and empty input schema.{ name: "list-deployments", description: "Retrieve a list of all running deployments in Coolify. This includes details about the deployment status and history.", inputSchema: zodToJsonSchema(z.object({})), },
- src/index.ts:126-126 (schema)Input schema for the 'list-deployments' tool, which takes no parameters.inputSchema: zodToJsonSchema(z.object({})),
- src/index.ts:24-47 (helper)Helper function for making authenticated API calls to Coolify, used by the list-deployments handler.async function coolifyApiCall(endpoint: string, method: string = 'GET', body?: any): Promise<any> { const baseUrl = process.env.COOLIFY_BASE_URL?.replace(/\/$/, '') || 'https://coolify.stuartmason.co.uk'; const url = `${baseUrl}/api/v1${endpoint}`; const response = await fetch(url, { method, headers: { 'Authorization': `Bearer ${process.env.COOLIFY_ACCESS_TOKEN}`, 'Content-Type': 'application/json', }, body: body ? JSON.stringify(body) : undefined, }); if (!response.ok) { const errorBody = await response.json().catch(() => ({})); throw new Error(JSON.stringify({ error: `Coolify API error: ${response.status} ${response.statusText}`, status: response.status, details: errorBody })); } return await response.json(); }