33 tools across 3 STDIO servers. Tool naming is consistent (verb_noun pattern: list_, get_, create_, update_, delete_, track_) and clear. However, descriptions are minimal (10-50 chars, well below the 194-char baseline), lacking context on WHEN to use each tool or what it returns. Input schemas are present but sparse: most parameters have only type and description, with no enums for constrained values (e.g., 'period' in get_project_stats accepts 'day'/'week'/'month' but is not declared as an enum). Output schemas are not documented anywhere in the source. Error handling is absent, no recovery guidance, no categorization of retryable vs fatal errors. Destructive tools (delete_*) lack confirmation patterns. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. Parameter descriptions are generic ('The project ID') without format hints or constraints. No pagination documented for list_* tools despite returning potentially large result sets.
Create a new annotation
Create a new funnel
Create a new organisation
Create a new project
Create a new view
Delete an annotation
Delete a funnel
Delete an organisation
Descriptions are critically short (10-50 chars vs 194-char baseline). Most lack context on WHEN to use the tool, what it returns, or dependencies. E.g., 'List all projects in the organization' does not explain if pagination is supported, what fields are returned, or whether to call this before get_project.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. E.g., does get_project return 'projectId' or 'id'? Does list_projects return a 'total' count for pagination?
Constrained parameters lack enum declarations. 'period' in get_project_stats accepts 'day'|'week'|'month' but is typed as free-form string. LLMs will hallucinate invalid values like 'quarterly' or 'annual'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Delete a project
Delete a view
Get details of a specific annotation
Get event statistics for a project
Get details of a specific funnel
Get details of a specific organisation
Get details of a specific project
Get statistics for a project
Get traffic statistics for a project
Get details of a specific view
List all annotations for a project
List all funnels for a project
List all organisations
List all projects in the organization
List all views for a project
Track a custom event
Track an error event
Track a heartbeat event
Track a pageview event
Track a revenue event
Update an existing annotation
Update an existing funnel
Update an existing organisation
Update an existing project
Update an existing view
Destructive tools (delete_project, delete_funnel, delete_annotation, delete_view, delete_organisation) lack confirmation patterns or dry-run support. Agents can irreversibly delete resources without user approval.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. Clients cannot distinguish safe reads from destructive writes without parsing descriptions.