mcp server
envdiff
Diff local vs CI environments: Node, OS, lockfile, and env vars — keys named, values never echoed.
Set up
Runs on your computer. Pick your agent and operating system.
Before you start
- Node.js 20 or newer
{
"mcpServers": {
"envdiff": {
"command": "npx",
"args": [
"-y",
"@reneturcios/envdiff"
]
}
}
}same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12
Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs
README
synced Nov 2, 2026envdiff
"It works on my machine" — which part of the machine? envdiff compares two environment descriptors, typically a developer's local environment and a CI environment, and reports exactly where they differ:
- Node version, OS, and lockfile presence, compared
as fields (a missing field is reported as
null) - env vars present on one side only, by key
- env vars whose values differ — by key name only. Values are compared but never echoed into the report, so a descriptor may carry secrets without leaking them.
A descriptor is a small JSON object:
{"node": "20.11.0", "os": "linux", "env": {"CI": "true"}, "lockfile_present": true}
— every field optional.
Pure local computation: no network, no configuration.
CLI
npx @reneturcios/envdiff diff local.json ci.json
npx @reneturcios/envdiff --version
Output is the comparison report as JSON, with a
summary.total_differences count. Exit codes: 0 on success
(differences are a result, not an error), 1 on a runtime
error (unreadable or invalid descriptor), 2 on a usage error.
MCP server
npx -y @reneturcios/envdiff mcp
MCP client config:
{
"mcpServers": {
"envdiff": {
"command": "npx",
"args": ["-y", "@reneturcios/envdiff", "mcp"]
}
}
}
Tools
-
diff_environments— Compare two environment descriptors.local(object, required) — the local descriptorci(object, required) — the CI descriptor
Each descriptor:
node(string),os(string),env(string map),lockfile_present(boolean), all optional.
Docker
docker run -i ghcr.io/cloudcorprecords/envdiff
docker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/envdiff diff /w/local.json /w/ci.json
Development
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (pure local, no network)
npm run dev # run the CLI from source
License
MIT — Copyright (c) 2026 Rene Turcios