edgarfelipe/mcp-coolify-server
3.1
If you are the rightful owner of mcp-coolify-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
A Model Context Protocol (MCP) server designed for integration with Coolify, enabling application management, deployments, and infrastructure control through AI commands.
Tools
5
Resources
0
Prompts
0
MCP Coolify Server
Um servidor MCP (Model Context Protocol) para integração com Coolify, permitindo gerenciamento de aplicações, deployments e infraestrutura através de comandos de IA.
🚀 Funcionalidades
- Gerenciamento de Aplicações: Listar, criar, parar, reiniciar aplicações
- Deploy Automatizado: Fazer deploy de aplicações com força de rebuild
- Monitoramento: Visualizar logs e status de deployments
- Gestão de Serviços: Listar e gerenciar serviços do Coolify
- SSH Híbrido: Suporte a conexões SSH para operações avançadas
- Cache Redis: Sistema de cache para melhor performance
📋 Pré-requisitos
- Node.js 18+
- Docker e Docker Compose
- Instância do Coolify configurada
- Token de API do Coolify
🛠️ Instalação
1. Clone o repositório
git clone https://github.com/edgarfelipe/mcp-coolify-server.git
cd mcp-coolify-server
2. Configure as variáveis de ambiente
cp .env.example .env
Edite o arquivo .env com suas configurações:
COOLIFY_URL=https://sua-instancia-coolify.com
COOLIFY_API_TOKEN=seu-token-api-aqui
COOLIFY_TOKEN=seu-token-coolify-aqui
REDIS_URL=redis://localhost:6379
3. Execute com Docker Compose
docker compose up -d
4. Ou execute localmente
npm install
npm run build
npm start
🔧 Configuração
Variáveis de Ambiente
| Variável | Descrição | Obrigatório |
|---|---|---|
COOLIFY_URL | URL da sua instância Coolify | ✅ |
COOLIFY_API_TOKEN | Token de API do Coolify | ✅ |
COOLIFY_TOKEN | Token adicional do Coolify | ❌ |
REDIS_URL | URL de conexão do Redis | ❌ |
SSH_PRIVATE_KEY_PATH | Caminho para chave SSH privada | ❌ |
SSH_PUBLIC_KEY_PATH | Caminho para chave SSH pública | ❌ |
Obtendo Token de API do Coolify
- Acesse sua instância do Coolify
- Vá em Settings → API Tokens
- Crie um novo token com as permissões necessárias
- Copie o token gerado
📚 Uso
Comandos Disponíveis
Aplicações
coolify_list_applications- Lista todas as aplicaçõescoolify_get_application- Obtém detalhes de uma aplicaçãocoolify_deploy_application- Faz deploy de uma aplicaçãocoolify_stop_application- Para uma aplicaçãocoolify_restart_application- Reinicia uma aplicação
Deployments
coolify_get_deployments- Lista deployments de uma aplicaçãocoolify_get_logs- Obtém logs de uma aplicação
Serviços
coolify_list_services- Lista todos os serviçoscoolify_server_status- Verifica status do servidor
Exemplo de Uso com MCP Client
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
const client = new Client({
name: 'coolify-client',
version: '1.0.0'
});
// Listar aplicações
const apps = await client.request({
method: 'tools/call',
params: {
name: 'coolify_list_applications',
arguments: {}
}
});
// Fazer deploy
const deploy = await client.request({
method: 'tools/call',
params: {
name: 'coolify_deploy_application',
arguments: {
id: 123,
force: true
}
}
});
🏗️ Arquitetura
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ MCP Client │────│ MCP Server │────│ Coolify API │
│ (AI Agent) │ │ (Este Repo) │ │ (Instância) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
┌─────────────────┐
│ Redis Cache │
│ (Opcional) │
└─────────────────┘
🔒 Segurança
- Todas as comunicações com a API do Coolify são feitas via HTTPS
- Tokens são validados antes de cada operação
- Logs não expõem informações sensíveis
- Suporte a autenticação SSH para operações avançadas
🐛 Troubleshooting
Erro: "COOLIFY_URL is required"
- Verifique se a variável
COOLIFY_URLestá definida no.env - Certifique-se de que a URL está no formato correto (https://...)
Erro: "COOLIFY_API_TOKEN is required"
- Verifique se o token de API está configurado corretamente
- Teste o token diretamente na API do Coolify
Container reiniciando constantemente
- Verifique os logs:
docker logs coolify-mcp-hybrid - Confirme se todas as variáveis de ambiente estão definidas
🤝 Contribuição
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
📄 Licença
Este projeto está sob a licença MIT. Veja o arquivo para mais detalhes.
👨💻 Autor
Edgar Felipe - @edgarfelipe
⭐ Se este projeto te ajudou, considere dar uma estrela no repositório!