AI-powered Business Analysis platform implementing BABOK v3 chapters 3-7 with MCP tools for requirements lifecycle management, stakeholder analysis, strategy definition, and design validation
16 tools with complete schemas and descriptions, but significant quality gaps. Tool names follow verb_noun pattern (prepare_, record_, check_, create_, update_, deprecate_, find_, define_, assess_, add_, compare_, save_). Descriptions range 40-120 chars, meeting minimum length. However, descriptions are generic and lack LLM-optimized guidance on WHEN to use each tool vs. similar ones. Parameters have types and descriptions, but many lack constraints (enums, ranges, patterns). No output schemas documented in visible code. Error handling is minimal, no recovery guidance, no actionable error messages. Composition is reasonable (single responsibility per tool), but tool chains are not optimized for agent reasoning (e.g., prepare_approval_package → record_approval_decision requires manual ID threading). Security: no visible credential injection, but no explicit permission gates or audit logging in tool definitions.
strategy option card
6 readiness dimensions x score 1-5 -> readiness_score
dashboard of the package's baseline readiness
registry health audit: volatility, stale, abandoned
close a satisfied condition (Conditional)
weighted matrix -> winner + opportunity cost
create the official Requirements Baseline
No output schemas documented. Tool descriptions state what they do but not what fields agents should expect in responses. This forces LLMs to guess at response structure and breaks tool chaining.
Descriptions lack LLM-optimized guidance on WHEN to use each tool. E.g., 'check_approval_status' vs 'check_requirements_health', both are read-only checks but serve different purposes. Descriptions do not explain the distinction or prerequisites.
Parameters lack constraints. 'status' in update_requirement accepts free-form strings; should be an enum of valid statuses (draft, confirmed, implemented, etc.). 'priority' similarly lacks enum constraint. 'scope' in find_reusable_requirements is free-form; should be enum (internal, external, cross_project).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | <=2025-11-25 | v2 |
capabilities by category + explicitly_excluded
transition phases with capabilities, gaps, risks, value
mark requirements as deprecated or superseded
find candidates for reuse
prepare a requirements package for approval
record a stakeholder's decision
finalize: JSON + Markdown + opt. push to 5.1
initialization + auto-import from 6.1, 6.2 (goals + gaps), 6.3
update a requirement's attributes (status, version, priority...)
No error handling guidance in tool definitions. If a requirement is not found, or an approval decision conflicts with prior decisions, tools do not document recovery steps. Agents cannot self-correct.
Tool composition requires manual ID threading. prepare_approval_package returns a package_id, which must be passed to record_approval_decision, close_approval_condition, check_approval_status, and create_requirements_baseline. No documentation of this chain or guidance on which tools to call in sequence.