Model Context Protocol server exposing SprintPulse risk + standup tools to any MCP-capable agent.
SprintPulse MCP server has well-structured tool definitions with clear action verbs and detailed descriptions (avg 150+ chars). All 6 tools have input schemas with typed properties and required fields. However, parameter descriptions are inconsistent, some parameters lack descriptions entirely (e.g., 'sprintId' in get_project_risk has no description), and output schemas are not documented. Error handling is minimal; tools do not guide recovery or categorize errors. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications in metadata. The server follows basic MCP patterns but lacks production-grade polish in parameter documentation and error guidance.
Get a single team member's pulse: health score, risk flags (BURNOUT_SIGNAL, BLOCKER_UNRESOLVED, etc.), recent standups, and supporting evidence. Use this to drill into why a project's risk score is what it is.
Get the current risk picture for a SprintPulse project: team health score, top risks, P1 alert state, and recommended next actions. Use this when an agent needs to decide if a project needs intervention.
Parse a meeting transcript (WebVTT or plain Speaker: text) into structured per-speaker standups and persist them. Returns the parsed entries plus AI-derived risk analysis for the sprint. Use this when an agent has captured a meeting and wants to land standups + risk update in one call.
Run SprintPulse's AI PR review on a member's recent commits/PRs. Returns review notes, complexity flags, and recommended follow-ups. Use this when an agent is helping triage code-review pressure across the team.
Create an in-app SprintPulse notification/action item for a project member. Use this when an agent has identified a follow-up and needs it to appear inside SprintPulse instead of sending email or chat.
Parameter descriptions missing or incomplete. 'sprintId' in get_project_risk, get_member_health, run_member_pr_review, and send_app_notification lack descriptions. LLMs cannot infer when to pass optional parameters without explicit guidance.
Output schemas not documented. Tools return JSON responses but no schema is visible in source code. LLMs cannot plan downstream calls or extract fields without knowing response structure.
No tool annotations despite clear risk classifications. Tools marked READ_ONLY or WRITE in metadata but not exposed via readOnlyHint/destructiveHint in schema. Agents cannot infer safety/idempotency from tool definitions alone.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Submit a structured standup entry (yesterday/today/blockers) on behalf of a team member. Use this when an agent has observed or generated a standup update and wants it captured in SprintPulse.
Error handling not visible in source. No recovery guidance, error categorization, or actionable error messages documented. Tools will fail silently or return raw HTTP errors without LLM-friendly context.
Optional parameters lack guidance on defaults and dependencies. 'sprintId' defaults to active sprint but this is not stated in description. 'blockers' in submit_standup requires specific string 'No blocker.' but this constraint is not enforced or documented.