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