Skip to main content
Glama
README.md
# mcp-coolify

Servidor MCP (stdio) para gestionar tu instancia de [Coolify](https://coolify.io) desde Claude Code u otro cliente MCP.
Corre en tu máquina y habla con la API de tu Coolify usando tu propio token.

## Herramientas

| Tool | Qué hace |
|---|---|
| `list` | Lista `servers`, `projects`, `applications`, `services`, `databases`, `deployments`, `teams`, `resources` |
| `get` | Detalle de un server/project/app/service/database por UUID |
| `control` | `start` / `stop` / `restart` de app, service o database |
| `deploy` | Despliega por UUID o tag (`force` opcional) |
| `logs` | Logs de una aplicación |
| `envs` | Variables de entorno de app/service/database |
| `api` | Llamada cruda a `/api/v1` (POST/PATCH/DELETE, crear, editar, borrar) |

> `api` permite acciones destructivas. Usa un token con los permisos mínimos que necesites.

## Requisitos

- Node.js 20.12+
- Coolify con la API activada (*Settings → Configuration → Advanced → API Access*)
- Un token API (*Keys & Tokens → API tokens*)

## Instalación

Sin clonar (recomendado):

```bash
claude mcp add coolify --scope user \
  -e COOLIFY_URL=https://tu-coolify.example.com \
  -e COOLIFY_TOKEN=tu_token \
  -- npx -y github:mrdavis-dev/mcp-coolify
```

O clonando:

```bash
git clone https://github.com/mrdavis-dev/mcp-coolify
cd mcp-coolify && npm install
claude mcp add coolify --scope user \
  -e COOLIFY_URL=https://tu-coolify.example.com \
  -e COOLIFY_TOKEN=tu_token \
  -- node "$(pwd)/index.js"
```

`--scope user` lo deja disponible desde cualquier carpeta. Verifica con `claude mcp list`.

## Variables de entorno

Se leen del entorno del cliente MCP (`-e`) o de un `.env` junto a `index.js` (`cp .env.example .env`). El `.env` está en `.gitignore`.

| Variable | Descripción |
|---|---|
| `COOLIFY_URL` | URL base de tu Coolify, sin `/api/v1` |
| `COOLIFY_TOKEN` | Token API de Coolify |

## Seguridad

- El token vive en la config de tu cliente MCP; nunca lo subas al repo.
- Este servidor es stdio y local. No lo expongas por HTTP sin autenticación.

## Ejemplos

- "Lista mis servidores de Coolify"
- "Muestra los logs de la app `<uuid>`"
- "Redespliega `<uuid>`"