MCP server for predicting engineering sprint bottlenecks and providing workload rebalancing recommendations
Single tool 'execute_skill_action' has a reasonable name (verb_noun pattern) and basic schema with three parameters. However, the description is only 87 characters, below the 194-char baseline for A+ tools. Parameter descriptions are present but minimal (10-50 chars each). No output schema is documented anywhere in the source code. The tool definition is visible in mcp_server.py but the implementation is a stub that only prints JSON; no actual logic exists. The client.py file shows a mock implementation with hardcoded return values, not a real integration. This is a proof-of-concept, not production-ready.
Execute sprint bottleneck prediction and workload rebalancing analysis
No output schema documented. Tool returns a dict with sprint_completion_probability_pct, isolated_blockers, and recommended_workload_rebalancing, but LLMs cannot plan downstream calls without knowing the structure of 'isolated_blockers' (is it an array? what fields?). This violates pattern:tool and pattern:response-shaper.
Tool description is only 87 characters ('Execute sprint bottleneck prediction and workload rebalancing analysis'). Baseline for A+ tools is 194 chars. Missing WHEN to use it, WHAT it returns, and any prerequisites. Does not answer: what does 'bottleneck prediction' mean? What data sources does it use? Is it deterministic?
Parameter descriptions are minimal (10-50 chars). 'Number of open pull requests' and 'Days remaining in the sprint cycle' lack context on valid ranges, units, or dependencies. No mention of how defaults (14 PRs, 3 days) were chosen or when they apply. Violates pattern:tool-description and pattern:constrained-input.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If sprint_id is invalid or cycle_days_remaining is negative, the tool silently returns mock data. LLMs cannot distinguish real results from failures. Violates pattern:recovery-guide and pattern:error-classification.
Implementation is a stub. mcp_server.py only prints a JSON status message and exits. client.py returns hardcoded mock data. No actual sprint analysis, bottleneck detection, or workload rebalancing logic exists. This is a skeleton, not a functional tool.