io.github.CloudCorpRecords/envdiff
Diff local vs CI environments: Node, OS, lockfile, and env vars — keys named, values never echoed.
What can you do with io.github.CloudCorpRecords/envdiff?
diff_environments— Compare two environment descriptors.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
@reneturcios/envdiffclaude mcp add envdiff -- npx -y @reneturcios/envdiff@0.1.0 mcp
{
"mcpServers": {
"envdiff": {
"command": "npx",
"args": [
"-y",
"@reneturcios/envdiff@0.1.0",
"mcp"
]
}
}
}
ghcr.io/cloudcorprecords/envdiff:0.1.0claude mcp add envdiff -- docker run -i --rm ghcr.io/cloudcorprecords/envdiff:0.1.0 mcp
{
"mcpServers": {
"envdiff": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/cloudcorprecords/envdiff:0.1.0",
"mcp"
]
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
envdiff
"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
Frequently asked questions
What is io.github.CloudCorpRecords/envdiff?
Diff local vs CI environments: Node, OS, lockfile, and env vars — keys named, values never echoed.
How do I install io.github.CloudCorpRecords/envdiff?
It runs on your machine. In Claude Code: claude mcp add envdiff -- npx -y @reneturcios/envdiff@0.1.0 mcp. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.CloudCorpRecords/envdiff need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is io.github.CloudCorpRecords/envdiff open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains io.github.CloudCorpRecords/envdiff?
It is published by CloudCorpRecords. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.