MCP-native revenue intelligence server. Expose attribution, lead scoring, CRM hygiene, and pipeline forecasting as typed MCP tools.
Four tools with complete input schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. All tools are READ_ONLY (good), but descriptions lack actionable context for LLM selection. No parameter descriptions beyond the bare names. Output schemas are inferred from stub implementations, not formally documented. Naming is clear (verb_noun pattern), but parameter constraints and error recovery guidance are absent.
Run multi-touch attribution on a deal. Supports first_touch, last_touch, linear, and u_shaped models.
Forecast revenue for a given horizon using weighted or straight_line pipeline model.
Get CRM data quality metrics: duplicate count, enrichment coverage, validation errors.
Score a lead 0-100 using the four-layer ICP model (firmographic, demographic, behavioral, intent).
No parameter descriptions in any tool. 'deal_id', 'model', 'lead_id', 'period', 'horizon' lack context explaining what values are valid, what they control, or when to use them.
Output schemas not formally documented. Tool descriptions do not specify what fields the response contains, forcing LLMs to infer structure from stub JSON. Real implementations must document return types.
No error handling guidance. Tool descriptions do not explain what errors can occur, when to retry, or how to recover. E.g., 'compute_attribution' does not state what happens if deal_id is invalid.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Tool descriptions are generic and lack WHEN/WHY context. 'Score a lead 0-100 using the four-layer ICP model' does not explain when to call this vs. other scoring tools, what prerequisites exist, or what the score means for downstream actions.
Enum constraints present but lack explanation. 'model' enum in compute_attribution lists [first_touch, last_touch, linear, u_shaped] but does not explain when to use each or how they differ.