An MCP server implementation in Go that provides analytics report fetching capabilities with support for multiple transport methods (stdio and HTTP)
The server defines a single tool 'get_report' with a complete input schema and reasonable description. The tool demonstrates proper naming (verb_noun: get_report), adequate parameter coverage, and all parameters include type definitions and descriptions. However, the tool lacks a documented output schema, which is critical for agent planning. The description is functional but generic (194 chars baseline suggests ~72 chars average for params; this tool's description is 258 chars and somewhat verbose). Error handling and recovery guidance are not visible in the provided source. The tool accepts a report_type enum (good practice) but the description does not explicitly state what fields the response contains, forcing LLMs to reason about output structure. Pagination parameters (page, limit) are present but the description does not mention total count or cursor hints for chaining.
Fetch analytics report data with filtering and pagination options. Supports multiple report types including devices, browsers, operating systems, languages, countries, cities, traffic, top pages, downloads, real-time active users, traffic sources, domains, and agencies.
Output schema not documented. The tool description does not specify what fields are returned, preventing LLMs from planning downstream tool composition or extracting expected data.
Missing error handling guidance. No description of what errors might occur (invalid report_type, date format errors, missing permissions) or how to recover. LLMs cannot self-correct on failure.
Pagination not fully specified. The tool accepts 'page' and 'limit' parameters but does not document total count, next_cursor, or whether results are bounded. LLMs cannot determine if results are complete or if pagination is required.
Date format constraints not validated. Parameters 'after' and 'before' claim 'YYYY-MM-DD format' but no validation or error message hints what to do if an invalid format is passed.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-21 | D | 59 | <=2025-11-25 | v2 |
| 2026-03-09 | C | 60 | - | v1 |
Tool description lacks dependency hints or discovery guidance. No mention of when to call this tool vs. other analytics tools, or what report types are most common. Description would benefit from explicit guidance on tool selection.