MCP server that inspects the local development environment and reports missing dependencies, version mismatches, and misconfigured environment variables
Server provides 5 tools with clear, action-oriented names (check_*, list_*, validate_*) and reasonable descriptions (avg 150 chars). All tools are READ_ONLY and well-scoped. However, input schemas lack formal type constraints (no enums for tool names, no min/max for arrays), parameter descriptions are present but minimal (avg 40 chars), and output schemas are not documented. Error handling is basic, no recovery guidance or actionable error messages. Tool composition is sound (each does one thing), but schema completeness and error messaging fall short of production baseline.
Check whether expected configuration files or directories exist on the file system. Optionally validate JSON files for syntactic correctness and required top-level keys.
Check whether one or more environment variables are set. Optionally require non-empty values or validate values against a regular expression pattern.
Check whether a CLI tool is installed and optionally satisfies a semver version constraint (e.g. '>=1.21.0'). Supported tools: go, node, npm, docker, git, python3, pip3, make, curl, jq, kubectl, terraform, helm, rustc, java.
List all tools, environment variables, and config files that this server is able to check.
Run a comprehensive environment validation: checks common dev tools (go, node, npm, docker, git), critical environment variables (HOME, PATH, GOPATH), and common config files (.env, go.mod, package.json). Returns a structured JSON report with status, versions, and a summary.
Output schemas not documented. Tools return structured JSON (report.Result, arrays) but LLMs cannot see field names, types, or required keys. Forces LLMs to guess at response structure.
Input schemas lack formal constraints. 'tool' parameter accepts free-form string instead of enum of supported tools (go, node, docker, etc.). 'pattern' parameter has no regex format declaration. Invites hallucinated invalid values.
Error handling provides no recovery guidance. When a tool is not found or a constraint fails, errors are descriptive but do not guide the LLM on next steps (e.g., 'Call list_checks() to see supported tools').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Parameter descriptions are minimal (avg 40 chars). 'constraint' in check_tool_version says 'Optional semver version constraint' but does not explain format (>=1.21.0 vs 1.21.0 vs ^1.21.0). 'pattern' in check_env_vars lacks regex syntax guidance.
STDIO transport only. Server is not remotely accessible and cannot be used by hosted MCP clients. Limits deployment to local/containerized environments.