Skip to main content
Glama

coolify_teams

Manage Coolify teams by listing teams, viewing current team details, retrieving specific team information, and listing team members through structured actions.

Instructions

Complete team management - list teams, get current team, get team details, and list team members

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: list (list all teams), current (get current team), get (get specific team), members (list team members)
team_idNoTeam ID (required for get and members actions, optional for others)

Implementation Reference

  • The core handler function implementing 'coolify_teams' tool logic. Handles actions: list (GET /teams), current (GET /teams/current), get (GET /teams/{teamId}), members (GET /teams/{teamId}/members or current). Returns JSON-formatted API responses.
    async teams(action: string, teamId?: string) {
      switch (action) {
        case 'list':
          const response = await this.apiClient.get('/teams');
          return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2) }] };
        case 'current':
          const currentResponse = await this.apiClient.get('/teams/current');
          return { content: [{ type: 'text', text: JSON.stringify(currentResponse.data, null, 2) }] };
        case 'get':
          if (!teamId) throw new Error('Team ID is required for get action');
          const getResponse = await this.apiClient.get(`/teams/${teamId}`);
          return { content: [{ type: 'text', text: JSON.stringify(getResponse.data, null, 2) }] };
        case 'members':
          const endpoint = teamId ? `/teams/${teamId}/members` : '/teams/current/members';
          const membersResponse = await this.apiClient.get(endpoint);
          return { content: [{ type: 'text', text: JSON.stringify(membersResponse.data, null, 2) }] };
        default:
          throw new Error(`Unknown teams action: ${action}`);
      }
    }
  • Tool definition including name, description, and input schema for validating parameters (action enum and optional team_id).
      name: 'coolify_teams',
      description: 'Complete team management - list teams, get current team, get team details, and list team members',
      inputSchema: {
        type: 'object',
        properties: {
          action: { 
            type: 'string', 
            enum: ['list', 'current', 'get', 'members'],
            description: 'Action to perform: list (list all teams), current (get current team), get (get specific team), members (list team members)'
          },
          team_id: { 
            type: 'string', 
            description: 'Team ID (required for get and members actions, optional for others)' 
          },
        },
        required: ['action'],
      },
    },
  • src/index.ts:92-93 (registration)
    Tool call dispatcher in handleToolCall switch statement that routes 'coolify_teams' invocations to the teams handler.
    case 'coolify_teams':
      return await this.handlers.teams(args.action, args.team_id);
  • src/index.ts:60-64 (registration)
    Registers all tools (including coolify_teams) for listTools request by returning getTools() array.
    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