# Kairon

MCP-сервер, через который агент смотрит виртуальные машины Kairon, сетевые политики и трафик на границе VM. По умолчанию только чтение.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 20
- Автор: zyvorai
- Лицензия: Apache-2.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/zyvorai/zyvor-kairon
- Обновлён: 2026-10-22
- HTML: https://affpapa.org/nevibecode/mcp/kairon

## Что делает

Сервер даёт агенту доступ к кластеру Kairon по Kubernetes API. Агент запрашивает состояние машин, сетевые политики и сведения о потоках на границе каждой VM, а действия записи не выполняет, пока их не разрешат отдельно.

Работает как контейнер `ghcr.io/zyvorai/kairon-mcp:v0.10.2` поверх stdio. Подключение к кластеру задаётся переменными `KAIRON_KUBE_URL`, `KAIRON_KUBE_TOKEN` и `KAIRON_KUBE_CA`; для самоподписанного сертификата есть `KAIRON_KUBE_INSECURE`, а `KAIRON_UI_URL` указывает на дашборд. Без рабочего `docker` на машине и без токена с доступом к кластеру сервер не поднимется — сначала проверьте оба.

Токен и адрес API попадают в конфиг MCP-клиента, поэтому заводите отдельную учётную запись с правами чтения и не переиспользуйте админский kubeconfig. Инструкции для пяти клиентов различаются только обёрткой: где-то это `claude mcp add`, где-то JSON-блок в настройках.

## Требования
- Нужно: Docker
- Переменные окружения: `KAIRON_KUBE_URL`, `KAIRON_KUBE_TOKEN`, `KAIRON_KUBE_CA`, `KAIRON_KUBE_INSECURE`, `KAIRON_UI_URL`, `KAIRON_UI_TOKEN`, `KAIRON_UI_CA`, `KAIRON_UI_INSECURE`, `KAIRON_LLM_URL`, `KAIRON_LLM_MODEL` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env KAIRON_KUBE_URL=<KAIRON_KUBE_URL> --env KAIRON_KUBE_TOKEN=<KAIRON_KUBE_TOKEN> --env KAIRON_KUBE_CA=<KAIRON_KUBE_CA> --env KAIRON_KUBE_INSECURE=<KAIRON_KUBE_INSECURE> --env KAIRON_UI_URL=<KAIRON_UI_URL> --transport stdio kairon -- docker run -i --rm -e KAIRON_KUBE_URL -e KAIRON_KUBE_TOKEN -e KAIRON_KUBE_CA -e KAIRON_KUBE_INSECURE -e KAIRON_UI_URL ghcr.io/zyvorai/kairon-mcp:v0.10.2
```
Вместо <…> подставьте свои значения. Ещё 7 переменных окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add kairon --env KAIRON_KUBE_URL=<KAIRON_KUBE_URL> --env KAIRON_KUBE_TOKEN=<KAIRON_KUBE_TOKEN> --env KAIRON_KUBE_CA=<KAIRON_KUBE_CA> --env KAIRON_KUBE_INSECURE=<KAIRON_KUBE_INSECURE> --env KAIRON_UI_URL=<KAIRON_UI_URL> -- docker run -i --rm -e KAIRON_KUBE_URL -e KAIRON_KUBE_TOKEN -e KAIRON_KUBE_CA -e KAIRON_KUBE_INSECURE -e KAIRON_UI_URL ghcr.io/zyvorai/kairon-mcp:v0.10.2
```
Вместо <…> подставьте свои значения. Ещё 7 переменных окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "kairon": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "KAIRON_KUBE_URL",
                "-e",
                "KAIRON_KUBE_TOKEN",
                "-e",
                "KAIRON_KUBE_CA",
                "-e",
                "KAIRON_KUBE_INSECURE",
                "-e",
                "KAIRON_UI_URL",
                "ghcr.io/zyvorai/kairon-mcp:v0.10.2"
            ],
            "env": {
                "KAIRON_KUBE_URL": "<KAIRON_KUBE_URL>",
                "KAIRON_KUBE_TOKEN": "<KAIRON_KUBE_TOKEN>",
                "KAIRON_KUBE_CA": "<KAIRON_KUBE_CA>",
                "KAIRON_KUBE_INSECURE": "<KAIRON_KUBE_INSECURE>",
                "KAIRON_UI_URL": "<KAIRON_UI_URL>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 7 переменных окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "kairon": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "KAIRON_KUBE_URL",
                "-e",
                "KAIRON_KUBE_TOKEN",
                "-e",
                "KAIRON_KUBE_CA",
                "-e",
                "KAIRON_KUBE_INSECURE",
                "-e",
                "KAIRON_UI_URL",
                "ghcr.io/zyvorai/kairon-mcp:v0.10.2"
            ],
            "env": {
                "KAIRON_KUBE_URL": "<KAIRON_KUBE_URL>",
                "KAIRON_KUBE_TOKEN": "<KAIRON_KUBE_TOKEN>",
                "KAIRON_KUBE_CA": "<KAIRON_KUBE_CA>",
                "KAIRON_KUBE_INSECURE": "<KAIRON_KUBE_INSECURE>",
                "KAIRON_UI_URL": "<KAIRON_UI_URL>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 7 переменных окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e KAIRON_KUBE_URL=<KAIRON_KUBE_URL> -e KAIRON_KUBE_TOKEN=<KAIRON_KUBE_TOKEN> -e KAIRON_KUBE_CA=<KAIRON_KUBE_CA> -e KAIRON_KUBE_INSECURE=<KAIRON_KUBE_INSECURE> -e KAIRON_UI_URL=<KAIRON_UI_URL> kairon docker run -i --rm -e KAIRON_KUBE_URL -e KAIRON_KUBE_TOKEN -e KAIRON_KUBE_CA -e KAIRON_KUBE_INSECURE -e KAIRON_UI_URL ghcr.io/zyvorai/kairon-mcp:v0.10.2
```
Вместо <…> подставьте свои значения. Ещё 7 переменных окружения — в README сервера

## Когда брать
- посмотреть, что происходит на виртуальных машинах Kairon, не заходя в дашборд
- проверить сетевые политики кластера перед изменением
- разобраться, какие потоки идут через границу конкретной VM
- сверить состояние машин с тем, что агент предполагает по коду
- дать агенту доступ к кластеру без прав на запись

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
