MCP server for etracker web analytics API providing access to reports, pageviews, conversions, and ad performance data
etracker-mcp demonstrates solid tool design with consistent naming (verb_noun pattern), comprehensive parameter schemas using Zod, and clear descriptions. All 8 tools follow action-verb conventions (list_, get_, compare_). Schemas are well-structured with type constraints and descriptions. However, output schemas are not explicitly documented in the source, responses are inferred from JSON stringification. Error handling is present but lacks recovery guidance. Date validation and parameter constraints are implemented server-side, which is good practice.
Compare a metric between two time periods. Returns aggregated data for each period and the percentage change.
Returns ad performance data (default report: EAMarketing). Optionally filter by attributes and key figures.
Returns conversion data (default report: EAConversions). Optionally filter by attributes and key figures.
Returns web analytics data (default report: EATime). Optionally filter by attributes and key figures.
Fetch data from any report with full control over attributes, figures, filtering, sorting, and pagination.
Returns available attributes and key figures for a report. Use this to discover valid IDs before querying data. Max 5 of each can be used per query.
Output schemas not documented. Tools return JSON-stringified responses without explicit field definitions. LLMs cannot predict response structure for downstream planning.
Error messages lack recovery guidance. Validation errors (e.g., invalid date range, JSON parse failures) are thrown but do not suggest next steps or alternative approaches.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only but this is not declared in the tool definition, forcing LLMs to infer safety from descriptions.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 68 | <=2025-11-25 | v2 |
Returns raw column definitions for a report (types, sortable, filterable flags).
Lists all available etracker reports for this account. Use this first to discover which report IDs are available (e.g. EAPage, EATime, EAGeo).
Pagination limit capped at 10,000 but no guidance on result truncation or total count. Large result sets may exhaust context windows without clear indication.
compare_periods tool description does not clarify what 'percentage change' calculation is used (simple %, CAGR, etc.) or how null/zero values are handled.