Server data from the Official MCP Registry
Local environment doctor: runtime, tools, env files, and services, pass or fail.
About
Local environment doctor: runtime, tools, env files, and services, pass or fail.
Security Report
envdoctor is a local environment checker that runs only fixed-argument git and npm version commands, never executes repo code, and compares env key names without reading values. The only findings are informational: the MCP tool accepts an arbitrary filesystem path without restriction, and it has no authentication, which is expected for a local stdio server. Permissions match its stated purpose. Supply chain analysis found 4 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.
9 files analyzed · 9 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-cloudcorprecords-envdoctor": {
"args": [
"-y",
"@reneturcios/envdoctor"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
envdoctor
envdoctor checks whether this machine's environment matches what a repo says it needs. Point it at a repo directory and it runs a small set of deterministic checks, each one passing or failing with the fix named. It never runs code from the repo, and it never prints a secret value.
Install
Run it without installing:
npx @reneturcios/envdoctor doctor [path]
Or install it globally:
npm install -g @reneturcios/envdoctor
CLI
envdoctor doctor [path] [--json]
envdoctor mcp
envdoctor --version
doctor [path]checks the repo atpath(default: the current directory) and prints a human readable report. Add--jsonfor the machine readable report.mcpstarts the MCP server on stdio.--versionprints the version.
Exit codes: 0 when the verdict is HEALTHY, 1 when the verdict is ISSUES, 2 for a usage error such as a target that does not exist, and 141 when the reader closed the output pipe early.
MCP
The MCP server exposes one tool:
doctor_envtakes apathargument, runs the same checks as the CLI, and returns the JSON report.
Checks
v0.1 runs five checks, in this order:
- NODE-VERSION - Compares the running Node version (
process.version) against theengines.noderange in the target'spackage.json. Supported range syntax:>=,<=,>,<,=, caret ranges such as^20.0.0, tilde ranges such as~20.11.0, exact versions such as20.11.0, x-ranges such as20.xand20.11.x, partial versions, and space separated combinations such as>=18 <21. A range outside that syntax is reported as an info finding with rule RANGE-UNSUPPORTED instead of a guess. When the target has nopackage.json, this check is skipped with an info finding with rule NO-PACKAGE-JSON, and the remaining checks still run. - GIT-PRESENT - Passes when
git --versionsucceeds. - NPM-PRESENT - Passes when
npm --versionsucceeds. - LOCKFILE - Passes when one of
package-lock.json,yarn.lock, orpnpm-lock.yamlexists at the target (the report says which one). A missing lockfile is a medium finding with rule NO-LOCKFILE. - ENV-FILE - Only applies when
.env.exampleexists at the target. If.envis missing, that is a medium finding with rule ENV-MISSING and the fix "copy .env.example to .env and fill values". If.envexists, the key names in.env.exampleare compared against the key names in.env, and each name missing from.envis a medium finding with rule ENV-KEYS-MISSING. When there is no.env.example, the check passes because no env file is required.
Every passed check is counted in counts.checksPassed and appears in the report findings as an info entry with rule CHECK-PASS, so the printed report lists every check that ran.
Env values are never read into output
This guarantee is plain: envdoctor compares key names only.
- Both
.env.exampleand.envare parsed by reading only the text left of the first=on each line. That text is the key name. - Everything from the first
=onward is a value. Values are discarded at parse time. They are not stored, not returned, not logged, and not printed in any report, finding, summary, or error. - Findings about env files name keys, never values. For example, an ENV-KEYS-MISSING finding says a key named in
.env.exampleis missing from.env; it says nothing about any value.
Verdict rules
- HEALTHY - No medium or high findings. Passed checks, skipped checks with a stated reason, and info notes such as RANGE-UNSUPPORTED do not change this verdict.
- ISSUES - At least one medium or high finding exists.
The report counts are checksRun, checksPassed, checksFailed, checksWarned, and checksSkipped, plus a findings total broken down by severity.
Limits
- v0.1 checks Node, git, npm, and files only: the
engines.noderange, the two tool versions, the lockfile, and the env files described above. - Ports, running services, databases, and network reachability are not checked in v0.1. Port and service checks are future work.
- Disk space is out of scope.
- Only the Node range syntax listed under NODE-VERSION is supported. Any other range syntax produces a RANGE-UNSUPPORTED info finding rather than a pass or fail.
- Nothing in the target repo is executed. The only commands envdoctor runs are
git --versionandnpm --version.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Rea
Freeby Morluto · Developer Tools
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Paperclip
Freeby Paperclipai · Developer Tools
Trending hip-hop artist momentum scores across four cultural dimensions.
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
