Skip to main content
Glama

coolify_projects

Manage Coolify projects by listing, creating, retrieving, updating, or deleting them through CRUD operations.

Instructions

Project CRUD operations - list, create, get, update, and delete projects

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: list (list all projects), create (create new project), get (get project by UUID), update (update project), delete (delete project)
uuidNoProject UUID (required for get, update, delete actions)
nameNoProject name (required for create, optional for update)
descriptionNoProject description (optional for create and update)
pageNoPage number (optional for list action)
per_pageNoItems per page (optional for list action)

Implementation Reference

  • The handler function that executes the coolify_projects tool logic, handling list, create, get, update, and delete actions via API calls to Coolify projects endpoint.
    async projects(action: string, args: any) { switch (action) { case 'list': const queryString = this.apiClient.buildQueryString(args); const response = await this.apiClient.get(`/projects?${queryString}`); return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2) }] }; case 'create': const createResponse = await this.apiClient.post('/projects', { name: args.name, description: args.description }); return { content: [{ type: 'text', text: JSON.stringify(createResponse.data, null, 2) }] }; case 'get': if (!args.uuid) throw new Error('Project UUID is required for get action'); const getResponse = await this.apiClient.get(`/projects/${args.uuid}`); return { content: [{ type: 'text', text: JSON.stringify(getResponse.data, null, 2) }] }; case 'update': if (!args.uuid) throw new Error('Project UUID is required for update action'); const updateResponse = await this.apiClient.patch(`/projects/${args.uuid}`, { name: args.name, description: args.description, }); return { content: [{ type: 'text', text: JSON.stringify(updateResponse.data, null, 2) }] }; case 'delete': if (!args.uuid) throw new Error('Project UUID is required for delete action'); await this.apiClient.delete(`/projects/${args.uuid}`); return { content: [{ type: 'text', text: 'Project deleted successfully' }] }; default: throw new Error(`Unknown projects action: ${action}`); } }
  • The input schema definition for the coolify_projects tool, specifying parameters for various CRUD actions.
    { name: 'coolify_projects', description: 'Project CRUD operations - list, create, get, update, and delete projects', inputSchema: { type: 'object', properties: { action: { type: 'string', enum: ['list', 'create', 'get', 'update', 'delete'], description: 'Action to perform: list (list all projects), create (create new project), get (get project by UUID), update (update project), delete (delete project)' }, uuid: { type: 'string', description: 'Project UUID (required for get, update, delete actions)' }, name: { type: 'string', description: 'Project name (required for create, optional for update)' }, description: { type: 'string', description: 'Project description (optional for create and update)' }, page: { type: 'number', description: 'Page number (optional for list action)' }, per_page: { type: 'number', description: 'Items per page (optional for list action)' }, }, required: ['action'], }, },
  • src/index.ts:96-97 (registration)
    The switch case in handleToolCall that registers and dispatches calls to the coolify_projects handler.
    case 'coolify_projects': return await this.handlers.projects(args.action, args);

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