# confdiff-mcp

Сравнивает конфиги JSON, YAML, TOML, INI, .env и XML по данным, а не по тексту. Агент видит только настоящие изменения, а секреты остаются скрытыми.

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

## Что делает

Сервер разбирает каждый файл в модель данных и сравнивает модели. Перестановка ключей, смена кавычек, перенос массива на несколько строк, новый комментарий — всё это не считается изменением. В ответ приходит строка на каждую реальную правку: путь, старое значение, новое. Заодно ловятся смены типа, когда `80` превращается в `"80"`.

Работает с восемью форматами, включая JSON с комментариями, многофайловый YAML с разделителями `---` и CSV с автоопределением разделителя. Можно сравнивать `config.json` с мигрировавшим `config.yaml` или две директории целиком, сопоставляя файлы по относительному пути.

Секреты при `--redact` заменяются стабильным отпечатком вида `«redacted:1a2b3c»`: видно, что пароль поменялся, но само значение не попадает ни в контекст модели, ни в лог. Чего ждать не стоит — смыслового сравнения там, где формат не распознан; сервер запускается через `npx -y confdiff-mcp`, поэтому Node.js должен быть в системе.

## Требования
- Нужно: Node.js (команды через npx)

## Установка

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

**Командой платформы**
```bash
claude mcp add confdiff-mcp -- npx -y confdiff-mcp
```

### Codex

**Командой платформы**
```bash
codex mcp add confdiff-mcp -- npx -y confdiff-mcp
```

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "confdiff-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "confdiff-mcp"
            ]
        }
    }
}
```

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "confdiff-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "confdiff-mcp"
            ]
        }
    }
}
```

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add confdiff-mcp npx -y confdiff-mcp
```

## Когда брать
- убрать шум из diff конфигов перед ревью
- поймать смену типа значения, которую `git diff` не показывает
- проверить, что после миграции JSON в YAML данные не поехали
- сравнить два рендера Helm или два дерева конфигов по файлам
- показать агенту расхождение паролей, не отдавая сами пароли

## Примеры запросов агенту
- Сравни `old.yaml` и `new.yaml` по смыслу и покажи только реальные изменения
- Прогони confdiff по `prod.env` и `staging.env` с `--redact` и скажи, какие секреты разошлись
- Сравни директории `old-manifests/` и `new-manifests/`: какие файлы добавлены, удалены или изменены

## Похожие
- [grepai-config-reference](https://affpapa.org/nevibecode/skills/grepai-config-reference.md) — скилл · 688 установок
- [Oh My Posh Validator](https://affpapa.org/nevibecode/mcp/oh-my-posh-validator.md) — MCP-сервер · ★ 23654
- [k8s-yaml-validator](https://affpapa.org/nevibecode/skills/k8s-yaml-validator.md) — скилл · 672 установки
- [k8s-yaml-generator](https://affpapa.org/nevibecode/skills/k8s-yaml-generator.md) — скилл · 651 установка
- [seristack](https://affpapa.org/nevibecode/mcp/seristack.md) — MCP-сервер · ★ 7
- [helm-chart-scaffolding](https://affpapa.org/nevibecode/skills/helm-chart-scaffolding.md) — скилл · 11964 установки

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