confdiff-mcp — Claude Code MCP server: semantic config diffs
Diffs config files by parsed data instead of characters. Your agent sees the real changes and never gets the secrets.
claude mcp add confdiff-mcp -- npx -y confdiff-mcpWhat confdiff-mcp does
The server loads each file into a data model and compares the models. Reordered keys, quote changes, a reflowed array, a fresh comment — none of that registers as a change. Every genuine edit comes back as one line: path, old value, new value. Type swaps get caught too, like 80 turning into "80".
Eight formats are covered: JSON with comments, multi-document YAML split by ---, CSV with delimiter detection, plus TOML, INI, .env and XML. You can put a config.json next to its migrated config.yaml, or hand it two directories and let it pair files by relative path.
With --redact, secret values become a stable fingerprint such as “redacted:1a2b3c”. You learn that a password drifted; the password itself stays out of the model context and CI logs. The catch: this is a semantic comparison, so a format it cannot parse gets no meaning out of it. Startup goes through npx -y confdiff-mcp, so Node.js has to be on the machine.
What it helps with
- strip cosmetic noise from a config diff before review
- catch a value type change that
git diffrenders as identical - confirm a JSON-to-YAML migration kept the same data
- compare two Helm renders file by file
- report a drifted credential without exposing it
Example prompts for the agent
- Diff
old.yamlagainstnew.yamlsemantically and list only the real changes - Run confdiff on
prod.envandstaging.envwith--redactand tell me which secrets differ - Compare
old-manifests/andnew-manifests/: which files were added, removed or changed
How to install confdiff-mcp
Platform CLI
claude mcp add confdiff-mcp -- npx -y confdiff-mcpPlatform CLI
codex mcp add confdiff-mcp -- npx -y confdiff-mcpConfig file
{
"mcpServers": {
"confdiff-mcp": {
"command": "npx",
"args": [
"-y",
"confdiff-mcp"
]
}
}
}Config file
{
"servers": {
"confdiff-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"confdiff-mcp"
]
}
}
}Platform CLI
gemini mcp add confdiff-mcp npx -y confdiff-mcpStep by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about confdiff-mcp
How do I install confdiff-mcp in Claude Code?
Run claude mcp add confdiff-mcp -- npx -y confdiff-mcp.
What does confdiff-mcp do?
It hands your agent a config diff that works on parsed values rather than text, so only meaningful differences in keys and values show up. Reordering and reformatting are dropped.
Can I let an agent read my configs safely?
--redact swaps secret values for fingerprints, so the model sees that something changed but not what it is. Plaintext passwords and tokens never enter the context.