Zero-config MCP server that gives AI coding assistants a real-time diagnostic snapshot of your local dev environment — framework, running services, recent errors, git state, and health diagnosis in one call
devpulse presents functional tool definitions with action verbs and reasonable descriptions, but exhibits critical gaps across parameter documentation, output schemas, and error handling guidance. All three tools are explicitly registered in src/index.ts with descriptions (10 - 240 chars, within baseline) and input schemas with typed properties. However, parameter descriptions are universally missing, the 'cwd' parameter appears in all three tools with no description text whatsoever. No tool documents its output schema, leaving LLMs unable to plan downstream operations or extract returned fields. Error handling returns generic JSON error strings without recovery guidance. These gaps align with a C-grade community server that works but lacks production polish.
Returns recent ERROR and WARN log entries from the detected project's log files. Deduped, timestamped, secrets redacted. Defaults to last 50 lines.
Lists processes running on common dev ports (3000, 4000, 5173, 8080 etc). Shows what is running and what is expected but missing.
Returns a real-time diagnostic snapshot of the current dev environment. Includes health diagnosis, running services, recent errors, git state, and environment info. Call this first to orient yourself in the user's dev session.
All parameters lack descriptions. The 'cwd' parameter appears in all three tools with no description text. LLMs cannot infer whether 'cwd' is required, what format it expects, or what happens if omitted.
No output schemas documented for any tool. LLMs do not know what fields to expect (e.g., does get_session_snapshot return 'framework', 'services', 'git_status'?). LLMs need to know what fields to expect so they can plan downstream tool calls and extract the right data.'
Error handling provides no recovery guidance. All three tools catch exceptions and return a generic JSON error string (e.g., 'Failed to get session snapshot: ...'). A raw error code or stack trace gives the agent nothing to act on.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
The 'limit' parameter in get_recent_errors has no description and no constraints (min/max). LLMs do not know if 1, 50, 1000, or 1000000 are valid values.
No pagination or result limits declared in tool descriptions. If get_session_snapshot or get_recent_errors returns large unstructured data, it could exhaust context.