An MCP server that provides business operations management capabilities across revenue, hiring, product, and marketing areas. Analyzes business metrics and recommends prioritized actions based on health scores.
This server has critical definition quality issues. The single tool 'operate' has a reasonable description but severely underdeveloped input/output schemas. The input schema is present but minimal, parameters lack proper type constraints and validation guidance. Output schema is completely undocumented in the code. The tool violates single-responsibility principle by handling four disparate business areas (revenue, hiring, product, marketing) in one function. No error handling, no confirmation patterns for destructive operations, and the health_score calculation logic exposes internal implementation details to the agent instead of abstracting them. The description is verbose but does not clarify WHEN to use this vs. other tools or what the actual output structure is.
Analyzes business metrics for a given area (revenue, hiring, product, or marketing) and returns recommended actions, priority level, and health score. For revenue: analyzes MRR trends, identifies churned accounts, flags overdue invoices. For hiring: summarizes open roles, schedules technical screens, generates offer letters. For product: pulls user cohort retention data, prioritizes bug tickets, drafts update emails. For marketing: compiles CAC/LTV ratios, pauses underperforming ads, generates content calendar.
Tool violates single-responsibility principle: 'operate' handles revenue, hiring, product, AND marketing in one function. LLMs will struggle to select this tool appropriately vs. more focused alternatives.
Output schema completely undocumented. Code shows the tool returns {actions, priority, health_score}, but the MCP tool definition does not declare these fields, types, or constraints. LLMs cannot plan downstream calls or validate responses.
Input parameter 'current_metrics' accepts an arbitrary object with no structure guidance. No description explains what keys are valid, what types are expected, or what happens if numeric values are missing.
Business area parameter has no enum constraint. Although the code silently accepts any string and falls back to generic actions, the description says it should be 'revenue', 'hiring', 'product', or 'marketing'. LLMs will hallucinate invalid values without an explicit enum.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
Health score calculation exposed to agent: the tool returns a computed health_score derived from averaging input metrics divided by 100. This is implementation detail leakage. The agent cannot reason about how the score was derived or validate it.
No error handling or recovery guidance. If current_metrics is empty or contains no numeric values, health_score defaults to 0.75. No explanation to the LLM of why this fallback occurred or what to do next.
Tool description is verbose (300+ chars) but omits critical details: What does 'analyze' mean? Are these simulated actions or real operations? Does the tool modify state? Can it be safely retried?