Skip to main content
Glama

coolify_project_environments

Manage project environments by listing, creating, retrieving details, or deleting them within Coolify infrastructure projects.

Instructions

Project environment management - list, create, get, and delete project environments

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: list (list all environments in project), create (create new environment), get (get environment details), delete (delete environment)
project_uuidYesProject UUID (required for all actions)
environment_name_or_uuidNoEnvironment name or UUID (required for get and delete actions)
nameNoEnvironment name (required for create action)

Implementation Reference

  • The handler function that implements the execution logic for the coolify_project_environments tool, dispatching to API endpoints based on the action (list, create, get, delete).
    async projectEnvironments(action: string, args: any) { if (!args.project_uuid) throw new Error('Project UUID is required for all project environment actions'); switch (action) { case 'list': const response = await this.apiClient.get(`/projects/${args.project_uuid}/environments`); return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2) }] }; case 'create': if (!args.name) throw new Error('Environment name is required for create action'); const createResponse = await this.apiClient.post(`/projects/${args.project_uuid}/environments`, { name: args.name, }); return { content: [{ type: 'text', text: JSON.stringify(createResponse.data, null, 2) }] }; case 'get': if (!args.environment_name_or_uuid) throw new Error('Environment name or UUID is required for get action'); const getResponse = await this.apiClient.get(`/projects/${args.project_uuid}/${args.environment_name_or_uuid}`); return { content: [{ type: 'text', text: JSON.stringify(getResponse.data, null, 2) }] }; case 'delete': if (!args.environment_name_or_uuid) throw new Error('Environment name or UUID is required for delete action'); const deleteResponse = await this.apiClient.delete(`/projects/${args.project_uuid}/environments/${args.environment_name_or_uuid}`); return { content: [{ type: 'text', text: JSON.stringify(deleteResponse.data, null, 2) }] }; default: throw new Error(`Unknown project environments action: ${action}`); } }
  • The tool definition including name, description, and input schema for validation.
    { name: 'coolify_project_environments', description: 'Project environment management - list, create, get, and delete project environments', inputSchema: { type: 'object', properties: { action: { type: 'string', enum: ['list', 'create', 'get', 'delete'], description: 'Action to perform: list (list all environments in project), create (create new environment), get (get environment details), delete (delete environment)' }, project_uuid: { type: 'string', description: 'Project UUID (required for all actions)' }, environment_name_or_uuid: { type: 'string', description: 'Environment name or UUID (required for get and delete actions)' }, name: { type: 'string', description: 'Environment name (required for create action)' }, }, required: ['action', 'project_uuid'], }, },
  • src/index.ts:98-99 (registration)
    The switch case in handleToolCall that registers and routes calls to the projectEnvironments handler.
    case 'coolify_project_environments': return await this.handlers.projectEnvironments(args.action, args);
  • src/index.ts:60-63 (registration)
    Registers the listTools handler which returns all tools including coolify_project_environments via getTools().
    this.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: getTools(), };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HowieDuhzit/CoolifyMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server