MCP server for GlassPulse — expose service status, metrics and checks to AI agents.
GlassPulse MCP server has 4 tools with clear verb-noun naming (list_, get_, run_) and basic descriptions. All tools have input schemas defined via Zod. However, parameter descriptions are minimal or missing entirely, most params lack actionable guidance on format/constraints. Output schemas are not documented; responses are JSON text blobs without field-level documentation. Error handling exists but lacks recovery guidance. No tool annotations (readOnlyHint, etc.). Descriptions average ~80 chars, below the 194-char baseline for A+ tools. This is a solid D+/C- implementation, functional but missing production-grade polish.
Get latency and uptime metrics for a service (run_check first if no data).
Get the last known status of one service (or all), includes check history.
List all monitored services with their check types and intervals.
Run all checks for one service now and return fresh results (incl. TCP/SSL via Node).
Parameter descriptions missing or trivial. 'service_id' param in get_status has description 'Filter to a single service by id' (40 chars), lacks format guidance, optionality clarity, or examples of valid values.
Output schemas not documented. Tools return JSON text blobs (e.g., serviceSummary object, ServiceState object) but LLMs cannot infer field names, types, or which fields are present. Downstream tool chaining is blind.
Error messages lack recovery guidance. 'Unknown service id "xyz"' tells the LLM nothing, should suggest 'call list_services() to see available IDs' or return available service names.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
No tool annotations. Tools lack readOnlyHint, destructiveHint, or idempotentHint metadata. All tools are read-only (safe to retry), but this is not declared, LLMs cannot optimize retry logic.
get_metrics returns error if no history exists, forcing a two-step workflow (run_check, then get_metrics). Should auto-run check or return partial metrics with a note.