feat: add QUICKSTART.md for ollama-mcp

This commit is contained in:
Claude AI
2026-01-11 13:16:35 +00:00
parent 4bfb13f003
commit 92073a14b7

View File

@@ -0,0 +1,269 @@
# Ollama MCP Quick Start Guide
## Быстрая установка (1 команда)
```bash
curl -sSL https://git.thedevops.dev/admin/k3s-gitops/raw/branch/main/apps/ollama-mcp/install.sh | bash
```
## Что будет установлено:
1. **MCP Kubernetes Server** - REST API для управления кластером
2. **MCP Gitea Server** - REST API для работы с Git репозиториями
3. **Docker Compose** - оркестрация сервисов
4. **Health checks** - автоматический мониторинг состояния
## После установки:
### 1. Настроить Gitea токен
```bash
cd ~/ollama-mcp
nano .env
```
Добавь свой токен:
```env
GITEA_TOKEN=your_token_here
```
Получить токен:
- https://git.thedevops.dev/user/settings/applications
- Generate New Token
- Права: `repo`, `admin:org`, `write:repository`
### 2. Перезапустить сервисы
```bash
docker-compose restart
```
### 3. Проверить статус
```bash
docker-compose ps
docker-compose logs -f
```
## Интеграция с Ollama
### Способ 1: Через Open WebUI
Если у тебя установлен Open WebUI:
1. Settings → Connections → Add Connection
2. Name: `Kubernetes MCP`
3. URL: `http://localhost:3001`
4. Type: `REST API`
### Способ 2: Прямые запросы
```bash
# Список подов
curl -X POST http://localhost:3001/api/pods/list \
-H "Content-Type: application/json" \
-d '{"namespace": "argocd"}'
# Логи пода
curl -X POST http://localhost:3001/api/pods/logs \
-H "Content-Type: application/json" \
-d '{"name": "argocd-server-xxx", "namespace": "argocd", "tailLines": 100}'
# Список репозиториев
curl -X POST http://localhost:3002/api/repos/list \
-H "Content-Type: application/json" \
-d '{"owner": "admin"}'
```
### Способ 3: Создать wrapper для Ollama
Создай файл `ollama-k8s.sh`:
```bash
#!/bin/bash
PROMPT="$*"
# Отправить запрос к Ollama с контекстом MCP
ollama run qwen2.5-coder:32b "
Context: You have access to Kubernetes API at http://localhost:3001 and Gitea API at http://localhost:3002
Available Kubernetes endpoints:
- POST /api/pods/list - list pods
- POST /api/pods/logs - get pod logs
- POST /api/deployments/list - list deployments
- POST /api/services/list - list services
- POST /api/namespaces/list - list namespaces
Available Gitea endpoints:
- POST /api/repos/list - list repositories
- POST /api/repos/file/get - get file content
- POST /api/repos/tree/get - list directory
- POST /api/repos/file/create - create file
- POST /api/repos/branches/list - list branches
User request: $PROMPT
Generate curl commands to execute this request and show the results.
"
```
Использование:
```bash
chmod +x ollama-k8s.sh
./ollama-k8s.sh "покажи все поды в namespace monitoring"
./ollama-k8s.sh "получи логи grafana за последние 50 строк"
```
## Примеры промптов для Ollama
### Kubernetes:
```
"Покажи все поды в namespace argocd"
"Получи логи пода prometheus-xxx за последние 100 строк"
"Список всех deployments в namespace monitoring"
"Покажи все сервисы в default namespace"
"Какие namespaces есть в кластере?"
```
### Gitea:
```
"Покажи все репозитории пользователя admin"
"Получи содержимое файла apps/loki/statefulset.yaml из репозитория k3s-gitops"
"Покажи структуру директории apps/ в k3s-gitops"
"Создай файл test.yaml в репозитории k3s-gitops"
"Какие ветки есть в репозитории k3s-gitops?"
```
## Troubleshooting
### MCP серверы не отвечают
```bash
cd ~/ollama-mcp
# Проверить логи
docker-compose logs mcp-kubernetes
docker-compose logs mcp-gitea
# Перезапустить
docker-compose restart
# Пересобрать
docker-compose down
docker-compose build --no-cache
docker-compose up -d
```
### Ошибка подключения к Kubernetes
```bash
# Проверить kubeconfig
kubectl --kubeconfig=~/ollama-mcp/config/kubeconfig get nodes
# Если не работает, скопировать заново
cp ~/.kube/config ~/ollama-mcp/config/kubeconfig
docker-compose restart mcp-kubernetes
```
### Ошибка подключения к Gitea
```bash
# Проверить токен
curl -H "Authorization: token YOUR_TOKEN" \
https://git.thedevops.dev/api/v1/user
# Обновить токен в .env
nano ~/ollama-mcp/.env
docker-compose restart mcp-gitea
```
### Порты заняты
Если порты 3001 или 3002 уже заняты:
```bash
nano ~/ollama-mcp/.env
```
Измени порты:
```env
MCP_K8S_PORT=4001
MCP_GITEA_PORT=4002
```
```bash
docker-compose down
docker-compose up -d
```
## Управление
```bash
cd ~/ollama-mcp
# Запустить
docker-compose up -d
# Остановить
docker-compose down
# Перезапустить
docker-compose restart
# Статус
docker-compose ps
# Логи (следить в реальном времени)
docker-compose logs -f
# Логи конкретного сервиса
docker-compose logs -f mcp-kubernetes
docker-compose logs -f mcp-gitea
# Обновить образы
docker-compose pull
docker-compose up -d
```
## Безопасность
- **Kubeconfig**: Защищен правами 600, доступен только внутри контейнера
- **Gitea Token**: Хранится в .env (не коммитится в git)
- **Network**: Изолированная Docker сеть
- **Ports**: По умолчанию доступны на localhost (127.0.0.1)
Для публичного доступа (НЕ рекомендуется без SSL):
```yaml
ports:
- "0.0.0.0:3001:3000" # Доступен извне
```
## Дополнительно
### Мониторинг
Health checks доступны по:
- http://localhost:3001/health
- http://localhost:3002/health
### Логи в файл
```bash
docker-compose logs > mcp-logs.txt
```
### Автозапуск при перезагрузке
Сервисы уже настроены с `restart: unless-stopped`
Для проверки после перезагрузки:
```bash
docker ps | grep mcp
```
## Полная документация
Смотри [README.md](./README.md) для подробной информации.