MCP Server for Streaming Analytics. Provides tools and resources for analyzing streaming platform data
This server defines 4 tools with explicit JSON Schema inputs and basic descriptions. However, it exhibits several critical gaps that prevent it from reaching production quality: (1) parameter descriptions are minimal or absent in most tools, (2) output schemas are completely undocumented, LLMs cannot infer response structure, (3) no error handling guidance provided, (4) parameter constraints are under-specified, and (5) tool descriptions lack context on when to use each tool vs. alternatives. The tools are READ_ONLY which is safe, but the schema and description quality falls well below the A/B baseline. Average tool score is 52/100.
Analyze user engagement metrics for a specific user or time period
Analyze content performance metrics
Analyze conversion funnel metrics
Query users with filters for subscription tier, country, or status
Output schemas are completely undocumented across all 4 tools. LLMs cannot infer response structure, which violates the pattern:tool and pattern:response-shaper requirements. Every tool must document what fields are returned so agents can plan downstream use.
Multiple parameters lack descriptions entirely (country in query_users, user_id/start_date/end_date in analyze_engagement, genre/min_plays in content_performance, start_date/end_date in funnel_analysis). This violates pattern:tool-description which requires every parameter to have a non-empty description explaining what it controls.
Tool descriptions are too brief (7 - 16 words) and lack context. None answer the key questions: What does this tool do? When should the LLM call it instead of a similar tool? What does it return?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 43 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Parameter constraints are under-specified. country accepts free-form string (should document ISO 3166 code format). start_date/end_date are strings with no format constraint (should specify 'ISO 8601: YYYY-MM-DD'). limit and min_plays have no min/max bounds. Per review:param-validation-rules, expected format and range must be documented in parameter descriptions.
No error handling guidance. Database errors are caught in DatabaseConnection.execute_query() but no guidance provided to LLM on what to do if a query fails. Per pattern:recovery-guide, error responses must tell the LLM what to do next.
No pagination support declared. query_users accepts a limit parameter (good) but no offset, page, or next_cursor. Per pattern:paginated-result, tools returning lists should document pagination mechanism and return a total count or cursor for next page.