Read-only MCP server exposing stacktale error reports as tools for AI assistants
Stacktale MCP provides 7 read-only tools for error report inspection. Tool naming follows verb_noun convention (list_errors, get_report, culprit_source). However, critical gaps undermine quality: (1) Input schemas are visible only for tools 1-3 and 6-7; tools 4-5 show empty input {} with no schema detail visible in source. (2) Descriptions are present but minimal (10-50 chars), below the 50-200 char baseline for LLM optimization. (3) No output schemas documented, LLMs cannot predict response structure. (4) No error handling guidance, tools fail silently without recovery hints. (5) Parameter descriptions lack format/constraint details. (6) Tool 4 and 5 appear inferred from shell scripts rather than explicit Java registration, capping their scores at 50. Overall, this is a functional but under-documented server typical of community tools.
Get the source code at the culprit location of an error
Get errors that have occurred since the last check, for the fix-loop workflow
Get errors that have occurred since the last check, tracking state across calls
Get the full stacktale error report for a specific error ID
List recent error reports from the stacktale error log
Get reproduction steps and context for a specific error
Get tests that cover the culprit location of an error
Output schemas not documented. LLMs cannot predict response structure, forcing them to guess what fields are returned and how to chain tools.
Descriptions are 10-50 characters, well below the 50-200 char baseline. Too brief to guide LLM tool selection. E.g., 'Get errors that have occurred since the last check, for the fix-loop workflow' lacks WHEN to use it and what it returns.
Tools 4 and 5 (errors_since_last_check, repro_for) are defined in shell scripts, not Java source. No explicit schema registration visible.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
No error handling guidance. Tools fail without recovery hints. E.g., if error ID not found, no suggestion to call list_errors() first. Violates recovery-guide pattern.
Parameter descriptions lack format/constraint details. 'limit' parameter has no min/max bounds. 'id' parameter has no format hint (UUID? alphanumeric?). Invites invalid LLM input.