Metrone MCP server — expose analytics to AI agents via Model Context Protocol
Metrone MCP exposes 7 analytics tools with basic schemas and descriptions. All tools have names starting with action verbs (get_, track_) and descriptions present. However, most parameter descriptions are minimal (under 50 chars), many lack type constraints (enums, ranges), and output schemas are not documented. Error handling is absent, no recovery guidance or actionable error messages. The tool set is well-composed (read-only queries + write tracking), but parameter documentation falls short of production standards. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classification.
Query raw analytics events with optional filters for event type and source.
Get real-time stats: active visitors and today's totals.
Get top pages by views and sessions.
Get traffic source and referrer breakdown.
Get aggregated analytics statistics (events, pageviews, visitors, sessions, conversion rate) for a time period.
Track an AI call event (voice / chat / assistant interaction).
Parameter descriptions are minimal or missing. 'days' appears in 5 tools with no description of valid range (1 - 365?). 'limit' has no bounds. 'event_type' and 'source' lack enum constraints or examples. LLMs cannot infer valid values.
No output schemas documented. Callers cannot know what fields to expect (e.g., does get_stats return 'conversion_rate' as float or string? What fields does get_events return?). Agents must guess or fail.
No error handling or recovery guidance. Tools provide no actionable error messages. If 'days' is invalid or API fails, agents have no guidance on what to do next (retry? adjust params? call a different tool?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Track a custom analytics event.
Tool annotations missing. metrone_track_event and metrone_track_ai_call are WRITE operations but lack destructiveHint. metrone_get_* tools are READ-ONLY but lack readOnlyHint. Agents cannot infer safety/idempotency without annotations.
metrone_get_events and metrone_get_pages lack pagination parameters (offset/limit/cursor). If results exceed context window, agents cannot fetch additional pages. No 'total' count returned to signal more data exists.