# ๐ณ Coolify MCP ์๋ฒ - ๋ก์ปฌ ๋ฐ๋ชจ ํ๊ฒฝ
## ๐ฏ ๋ชฉํ
๋ก์ปฌ์์ ์์ ํ Coolify ํ๊ฒฝ์ ๊ตฌ์ถํ์ฌ MCP ์๋ฒ๋ฅผ ํ
์คํธํฉ๋๋ค.
## ๐ ์ฌ์ ์๊ตฌ์ฌํญ
### Docker Desktop ์ค์น ๋ฐ ์คํ
1. **Docker Desktop ๋ค์ด๋ก๋**: https://www.docker.com/products/docker-desktop
2. **์ค์น ํ ์คํ**: Applications/Docker.app
3. **๋ฉ๋ชจ๋ฆฌ ์ค์ **: Docker Desktop โ Settings โ Resources โ Memory๋ฅผ **4GB ์ด์**์ผ๋ก ์ค์
## ๐ ๋น ๋ฅธ ์์
### 1๋จ๊ณ: Docker ์ํ ํ์ธ
```bash
cd demo-server
./check-docker.sh
```
### 2๋จ๊ณ: ๋ฐ๋ชจ ์๋ฒ ์์
```bash
./setup.sh
```
### 3๋จ๊ณ: Coolify ์ ์ ๋ฐ ์ค์
1. **๋ธ๋ผ์ฐ์ ์์ ์ ์**: http://localhost:8000
2. **๊ด๋ฆฌ์ ๊ณ์ ์์ฑ** (์ฒซ ๋ฐฉ๋ฌธ ์)
3. **API ํ ํฐ ์์ฑ**:
- Settings โ Keys & Tokens โ API Tokens
- Create New Token
- Name: "MCP Demo Token"
- Permissions: "*" (full access)
- **ํ ํฐ ๋ณต์ฌ** (ํ ๋ฒ๋ง ํ์๋จ!)
### 4๋จ๊ณ: ํ๊ฒฝ ๋ณ์ ์ค์
```bash
cd .. # ์์ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋
echo "COOLIFY_BASE_URL=http://localhost:8000" >> .env
echo "COOLIFY_API_TOKEN=๋ณต์ฌํ-ํ ํฐ-์ฌ๊ธฐ์-๋ถ์ฌ๋ฃ๊ธฐ" >> .env
```
### 5๋จ๊ณ: MCP ์๋ฒ ํ
์คํธ
```bash
npm run dev
```
๋ค๋ฅธ ํฐ๋ฏธ๋์์:
```bash
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | node dist/index.js
```
## ๐ง ํ์ํ ์ ๋ณด ์์ง ๋ฐฉ๋ฒ
### API ํ ํฐ ์์ฑ
1. http://localhost:8000 ์ ์
2. ๊ด๋ฆฌ์ ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ
3. **Settings** (โ๏ธ) ํด๋ฆญ
4. **Keys & Tokens** ํด๋ฆญ
5. **API Tokens** ํญ ์ ํ
6. **Create New Token** ๋ฒํผ ํด๋ฆญ
7. ๋ค์ ์ ๋ณด ์
๋ ฅ:
- **Name**: "MCP Demo Token"
- **Permissions**: "*" ์ ํ (์ ์ฒด ์ ๊ทผ)
8. **Create** ํด๋ฆญ
9. **์์ฑ๋ ํ ํฐ์ ์ฆ์ ๋ณต์ฌ** (๋ค์ ๋ณผ ์ ์์)
### ์๋ฒ ID ํ์ธ (ํ
์คํธ ์ฑ ์์ฑ์ฉ)
1. Coolify ๋์๋ณด๋์์ **Servers** ํด๋ฆญ
2. ๋ก์ปฌ ์๋ฒ์ **ID ๋ณต์ฌ** (์: srv_xxx...)
### ํ
์คํธ ์ ํ๋ฆฌ์ผ์ด์
์์ฑ
```bash
# MCP ์๋ฒ๋ฅผ ํตํ ์ ํ๋ฆฌ์ผ์ด์
์์ฑ ํ
์คํธ
echo '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "coolify_application_management",
"arguments": {
"action": "create",
"name": "demo-app",
"git_repository": "https://github.com/vercel/next.js",
"git_branch": "canary",
"serverId": "์๋ฒ-ID-์ฌ๊ธฐ์"
}
}
}' | node dist/index.js
```
## ๐ ๊ด๋ฆฌ ๋ช
๋ น์ด
### ์๋ฒ ์ํ ํ์ธ
```bash
cd demo-server
docker compose ps
```
### ๋ก๊ทธ ํ์ธ
```bash
docker compose logs -f coolify
```
### ์๋ฒ ์ฌ์์
```bash
docker compose restart
```
### ์๋ฒ ์ค์ง
```bash
docker compose down
```
### ์์ ์ด๊ธฐํ (๋ชจ๋ ๋ฐ์ดํฐ ์ญ์ )
```bash
docker compose down -v
```
## ๐งช ํ
์คํธ ์๋๋ฆฌ์ค
### 1. ์ฐ๊ฒฐ ํ
์คํธ
```bash
curl http://localhost:8000/api/v1/health
```
### 2. ์ธ์ฆ ํ
์คํธ
```bash
curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:8000/api/v1/applications
```
### 3. MCP ๋๊ตฌ ํ
์คํธ
```bash
# ์ ํ๋ฆฌ์ผ์ด์
๋ชฉ๋ก
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "coolify_application_management", "arguments": {"action": "list"}}}' | node dist/index.js
# ์์คํ
์ ๋ณด
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "coolify_system_management", "arguments": {"action": "get_servers"}}}' | node dist/index.js
# ๋ฌธ์ ๊ฒ์
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "coolify_documentation", "arguments": {"action": "search", "query": "deployment"}}}' | node dist/index.js
```
## ๐ ๋ฌธ์ ํด๊ฒฐ
### ํฌํธ ์ถฉ๋ (8000 ํฌํธ ์ฌ์ฉ ์ค)
```yaml
# docker-compose.yml ์์
ports:
- "8001:80" # ํฌํธ ๋ณ๊ฒฝ
```
### ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ
- Docker Desktop โ Settings โ Resources โ Memory๋ฅผ 6-8GB๋ก ์ฆ๊ฐ
### ์ปจํ
์ด๋ ์์ ์คํจ
```bash
docker compose down -v # ๋ชจ๋ ๋ฐ์ดํฐ ์ญ์
docker compose up -d # ์ฌ์์
```
### API ํ ํฐ ๋ถ์ค
1. Coolify์์ ๊ธฐ์กด ํ ํฐ ์ญ์
2. ์ ํ ํฐ ์์ฑ
3. .env ํ์ผ ์
๋ฐ์ดํธ
## ๐ ์ฑ๊ณต ์งํ
- โ
Coolify๊ฐ http://localhost:8000์์ ์ ๊ทผ ๊ฐ๋ฅ
- โ
API ํ ํฐ์ผ๋ก ์ธ์ฆ ์ฑ๊ณต
- โ
MCP ์๋ฒ๊ฐ 4๊ฐ ํตํฉ ๋๊ตฌ ์ ๊ณต
- โ
๋ฌธ์ ๊ฒ์ ๊ธฐ๋ฅ ์๋
- โ
์ ํ๋ฆฌ์ผ์ด์
์์ฑ/๊ด๋ฆฌ ํ
์คํธ ์ฑ๊ณต
**์ด์ Docker Desktop์ ์์ํ๊ณ `./check-docker.sh`๋ฅผ ์คํํด์ฃผ์ธ์!** ๐