Skip to main content
Glama
definitions.ts10.5 kB
// Tool definitions with detailed schemas and documentation export const toolDefinitions = [ // === Version & Health === { name: 'get_version', description: 'Get Coolify version information', inputSchema: { type: 'object', properties: {}, required: [] } }, { name: 'health_check', description: 'Check Coolify API health status', inputSchema: { type: 'object', properties: {}, required: [] } }, // === Teams === { name: 'list_teams', description: 'List all teams accessible to the authenticated user', inputSchema: { type: 'object', properties: {}, required: [] } }, { name: 'get_team', description: 'Get details of a specific team', inputSchema: { type: 'object', properties: { team_id: { type: 'string', description: 'Team ID' } }, required: ['team_id'] } }, { name: 'get_current_team', description: 'Get details of the current team', inputSchema: { type: 'object', properties: {}, required: [] } }, { name: 'get_current_team_members', description: 'Get members of the current team', inputSchema: { type: 'object', properties: {}, required: [] } }, // === Servers === { name: 'list_servers', description: 'List all servers in Coolify', inputSchema: { type: 'object', properties: {}, required: [] } }, { name: 'create_server', description: 'Create a new server', inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Server name' }, description: { type: 'string', description: 'Server description' }, ip: { type: 'string', description: 'Server IP address' }, port: { type: 'number', description: 'SSH port (default: 22)', default: 22 }, user: { type: 'string', description: 'SSH user (default: root)', default: 'root' }, private_key_uuid: { type: 'string', description: 'UUID of the private key for SSH' }, is_build_server: { type: 'boolean', description: 'Use as build server', default: false }, instant_validate: { type: 'boolean', description: 'Validate immediately', default: true } }, required: ['name', 'ip', 'private_key_uuid'] } }, { name: 'validate_server', description: 'Validate server connection', inputSchema: { type: 'object', properties: { uuid: { type: 'string', description: 'Server UUID' } }, required: ['uuid'] } }, { name: 'get_server_resources', description: 'Get server resource usage', inputSchema: { type: 'object', properties: { uuid: { type: 'string', description: 'Server UUID' } }, required: ['uuid'] } }, { name: 'get_server_domains', description: 'Get domains configured on a server', inputSchema: { type: 'object', properties: { uuid: { type: 'string', description: 'Server UUID' } }, required: ['uuid'] } }, // === Projects === { name: 'list_projects', description: 'List all projects', inputSchema: { type: 'object', properties: {}, required: [] } }, { name: 'get_project', description: 'Get project details', inputSchema: { type: 'object', properties: { uuid: { type: 'string', description: 'Project UUID' } }, required: ['uuid'] } }, { name: 'create_project', description: 'Create a new project', inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Project name' }, description: { type: 'string', description: 'Project description' } }, required: ['name'] } }, // === Environments === { name: 'list_environments', description: 'List environments in a project', inputSchema: { type: 'object', properties: { project_uuid: { type: 'string', description: 'Project UUID' } }, required: ['project_uuid'] } }, { name: 'create_environment', description: 'Create a new environment in a project', inputSchema: { type: 'object', properties: { project_uuid: { type: 'string', description: 'Project UUID' }, name: { type: 'string', description: 'Environment name (e.g., production, staging)' } }, required: ['project_uuid', 'name'] } }, // === Applications === { name: 'list_applications', description: 'List all applications', inputSchema: { type: 'object', properties: {}, required: [] } }, { name: 'get_application', description: 'Get application details', inputSchema: { type: 'object', properties: { uuid: { type: 'string', description: 'Application UUID' } }, required: ['uuid'] } }, { name: 'create_application', description: 'Create a new application', inputSchema: { type: 'object', properties: { project_uuid: { type: 'string', description: 'Project UUID' }, environment_name: { type: 'string', description: 'Environment name' }, environment_uuid: { type: 'string', description: 'Environment UUID (optional)' }, git_repository: { type: 'string', description: 'Git repository URL' }, ports_exposes: { type: 'string', description: 'Ports to expose (e.g., "3000,8080")' }, destination_uuid: { type: 'string', description: 'Destination server UUID' } }, required: ['project_uuid', 'environment_name', 'destination_uuid'] } }, { name: 'start_application', description: 'Start an application', inputSchema: { type: 'object', properties: { uuid: { type: 'string', description: 'Application UUID' } }, required: ['uuid'] } }, { name: 'stop_application', description: 'Stop an application', inputSchema: { type: 'object', properties: { uuid: { type: 'string', description: 'Application UUID' } }, required: ['uuid'] } }, { name: 'restart_application', description: 'Restart an application', inputSchema: { type: 'object', properties: { uuid: { type: 'string', description: 'Application UUID' } }, required: ['uuid'] } }, { name: 'deploy_application', description: 'Deploy an application', inputSchema: { type: 'object', properties: { uuid: { type: 'string', description: 'Application UUID' }, tag: { type: 'string', description: 'Tag to deploy (optional)' }, force: { type: 'boolean', description: 'Force rebuild without cache', default: false } }, required: ['uuid'] } }, { name: 'execute_command', description: 'Execute a command in an application container', inputSchema: { type: 'object', properties: { uuid: { type: 'string', description: 'Application UUID' }, command: { type: 'string', description: 'Command to execute' } }, required: ['uuid', 'command'] } }, { name: 'get_application_logs', description: 'Get application logs', inputSchema: { type: 'object', properties: { uuid: { type: 'string', description: 'Application UUID' }, lines: { type: 'number', description: 'Number of lines (default: 100)', default: 100 } }, required: ['uuid'] } }, // === Services === { name: 'list_services', description: 'List all services', inputSchema: { type: 'object', properties: {}, required: [] } }, { name: 'create_service', description: 'Create a new service', inputSchema: { type: 'object', properties: { type: { type: 'string', description: 'Service type' }, name: { type: 'string', description: 'Service name' }, project_uuid: { type: 'string', description: 'Project UUID' }, environment_name: { type: 'string', description: 'Environment name' }, server_uuid: { type: 'string', description: 'Server UUID' } }, required: ['type', 'name', 'project_uuid', 'environment_name', 'server_uuid'] } }, { name: 'start_service', description: 'Start a service', inputSchema: { type: 'object', properties: { uuid: { type: 'string', description: 'Service UUID' } }, required: ['uuid'] } }, { name: 'stop_service', description: 'Stop a service', inputSchema: { type: 'object', properties: { uuid: { type: 'string', description: 'Service UUID' } }, required: ['uuid'] } }, { name: 'restart_service', description: 'Restart a service', inputSchema: { type: 'object', properties: { uuid: { type: 'string', description: 'Service UUID' } }, required: ['uuid'] } }, // === Databases === { name: 'list_databases', description: 'List all databases', inputSchema: { type: 'object', properties: {}, required: [] } }, { name: 'create_database', description: 'Create a new database', inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Database name' }, type: { type: 'string', description: 'Database type (postgresql, mysql, mongodb, redis)' }, project_uuid: { type: 'string', description: 'Project UUID' }, environment_name: { type: 'string', description: 'Environment name' }, server_uuid: { type: 'string', description: 'Server UUID' } }, required: ['name', 'type', 'project_uuid', 'environment_name', 'server_uuid'] } }, // === Deployments === { name: 'list_deployments', description: 'List all deployments', inputSchema: { type: 'object', properties: {}, required: [] } }, { name: 'get_deployment', description: 'Get deployment details', inputSchema: { type: 'object', properties: { uuid: { type: 'string', description: 'Deployment UUID' } }, required: ['uuid'] } }, // === Private Keys === { name: 'list_private_keys', description: 'List all SSH private keys', inputSchema: { type: 'object', properties: {}, required: [] } }, { name: 'create_private_key', description: 'Create a new SSH private key', inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Key name' }, description: { type: 'string', description: 'Key description' }, private_key: { type: 'string', description: 'Private key content (PEM format)' } }, required: ['name', 'private_key'] } } ];

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/kof70/coolify-mcp-server'

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