Skip to main content
Glama

Server Details

Read-only analytics for Convex apps, queryable via MCP from Claude, Cursor, and other clients.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
Dan-Cleary/convalytics
GitHub Stars
6

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 15 of 15 tools scored.

Server CoherenceA
Disambiguation5/5

All tools have clearly distinct purposes. Funnel operations (compute, create, delete, get, list, update) are well-separated from event tools (events_count, recent_events) and pageview tools (pageviews_count, top_pages, top_referrers). Composite snapshots (user_activity, weekly_digest) and utility tools (get_usage, list_projects) are unique.

Naming Consistency3/5

Naming pattern is inconsistent: some tools use verb_noun (compute_funnel, create_funnel), others noun_verb (events_count, pageviews_count), and some are adjective_noun (recent_events, top_pages) or noun_noun (user_activity, weekly_digest). While readable, the lack of a consistent convention reduces predictability.

Tool Count4/5

15 tools is at the upper boundary of 'well-scoped' but still appropriate for an analytics platform. Each tool serves a necessary function without unnecessary duplication, though a few more could be justified.

Completeness4/5

The tool set covers core analytics operations: CRUD for funnels, event and pageview counting, top pages/referrers, user and weekly snapshots, and project/usage info. Minor gaps exist (e.g., no session-level detail), but overall it addresses common analytics queries well.

Available Tools

15 tools
compute_funnelA
Read-onlyIdempotent
Inspect

Run a funnel over a time window and return per-step visitor count, conversion from previous step, conversion from start, and average time to convert between steps. Returns truncated flags if the scan cap was hit.

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNoStart of window as unix milliseconds. Defaults to 7 days ago.
untilNoEnd of window as unix milliseconds. Defaults to now.
funnelIdYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds behavioral context about returning 'truncated' flags if the scan cap is hit, which goes beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (two sentences), front-loaded with the main action and outputs, and contains no unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters and no output schema, the description explains the return values (counts, conversions, time, truncated flag) adequately. Lacks only minor details like pagination.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% (since and until have descriptions, funnelId does not). The description explains the time window concept relating to since/until but does not add meaning for funnelId. Adds some value but not comprehensive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Run a funnel') and resource ('funnel') with clear output details (per-step visitor count, conversions, average time). It distinguishes from sibling tools like create_funnel, delete_funnel, get_funnel.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states when to use (run a funnel over a time window) but does not explicitly provide exclusions or alternatives. The context is implied by sibling tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_funnelAInspect

Create a new funnel on a project. Steps are 2–10 ordered events or pageview paths. conversionWindowMs caps how long a visitor has between consecutive steps (default 7 days); this is the step-to-step limit, without which a funnel is just event co-occurrence. Returns { id } on success.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable name.
stepsYesOrdered list of 2–10 steps. Visitors must hit them in order.
projectYesProject name (case-insensitive, e.g. 'slopbench') or project id from list_projects.
descriptionNoOptional longer description.
conversionWindowMsNoMax ms between consecutive steps. Default 7 days (604800000). Bounds: 60000 (1 min) to 7776000000 (90 days).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses return format { id } and step-to-step limit. No contradiction with annotations (readOnlyHint=false). Adds behavioral context beyond annotations, such as the importance of conversionWindowMs to prevent funnel being mere co-occurrence.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose, every sentence adds value. No redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers creation purpose, step constraints, conversionWindowMs, and return value. With 100% schema coverage and annotations, description is sufficient. Minor omission: no mention of project existence or error cases, but not critical for tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds meaning beyond schema for steps and conversionWindowMs, explaining the ordered nature and the role of the window. Schema already covers all parameters at 100% coverage, so description provides valuable extra context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb+resource: 'Create a new funnel on a project'. Distinguishes from siblings like compute_funnel, delete_funnel, get_funnel, and update_funnel. Specifies steps as ordered events or pageview paths.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides context on steps (2-10 ordered) and conversionWindowMs (step-to-step limit). Implies when to use (creation) but does not explicitly exclude alternatives or state when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_funnelA
DestructiveIdempotent
Inspect

Soft delete a funnel. The row is retained with status='deleted' and excluded from list/get/compute. Idempotent — calling twice is a no-op. Use if the funnel is obsolete; the record is kept for audit and cannot be undone from MCP.

ParametersJSON Schema
NameRequiredDescriptionDefault
funnelIdYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds rich behavioral context beyond annotations: soft deletion, status change, exclusion from queries, idempotency, and irreversibility. Annotations only indicate destructive and idempotent hints, so the description significantly enhances understanding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (3 sentences) and front-loaded with the core purpose. Every sentence adds value, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's effect, idempotency, and usage context well. However, it does not mention the return value or error handling, and there is no output schema to compensate. Minor gap given the simplicity of a delete operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage for the single parameter 'funnelId', and the description does not explain its meaning or format. While the parameter's role is inferable from context, the description should semantically define it, especially given low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (soft delete), resource (funnel), and distinguishes it from hard deletion or other operations. It explains the retention and exclusion behavior, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use ('if the funnel is obsolete') and notes that the deletion cannot be undone from MCP. It does not provide explicit alternatives or when not to use, but the guidance is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

events_countA
Read-onlyIdempotent
Inspect

Count CUSTOM PRODUCT events for a specific project in a time window, optionally filtered to one event name and/or one user. Custom events are emitted by explicit analytics.track() calls in app code (signup_completed, payment_succeeded, etc.). This does NOT count page views — use pageviews_count or weekly_digest for those. Returns count, unique visitors, and a truncated flag if the scan hit the maximum scan size.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional event name to filter by (e.g. 'signup_completed'). If omitted, counts all custom events in the window. Do NOT pass 'page_view' here — page views are in a separate table.
userNoOptional. Filter to one visitor/user. Accepts userEmail (case-insensitive) or visitorId (exact). For the full per-user snapshot prefer user_activity.
sinceNoStart of window as unix milliseconds. Defaults to 7 days ago.
untilNoEnd of window as unix milliseconds. Defaults to now.
projectYesProject name (case-insensitive, e.g. 'slopbench') or project id from list_projects.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive. Description goes beyond by specifying it returns count, unique visitors, and a truncated flag, and explains that custom events come from analytics.track(). No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise with three sentences, front-loading the core purpose and structure. Every sentence adds value without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters (all described) and no output schema, the description covers the main use, return fields, and usage constraints. It briefly mentions the truncated flag but could elaborate on maximum scan size. Still, it is sufficiently complete for an agent to understand and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds value by providing examples for 'name' (e.g., 'signup_completed'), clarifying not to pass 'page_view', and explaining 'user' accepts email or visitorId with a pointer to user_activity. This enriches understanding beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly identifies the tool as counting custom product events for a specific project in a time window, distinguishes from page views by explicitly stating it does not count them, and references alternative tools (pageviews_count, weekly_digest). It also lists return values (count, unique visitors, truncated flag).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description provides clear context for when to use (counting custom events) and when not to (page views), with alternatives. It also mentions optional filters and suggests user_activity for per-user snapshot. However, it does not explicitly differentiate from sibling tools like recent_events, which could also count events.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_funnelA
Read-onlyIdempotent
Inspect

Return the full definition of one funnel by id: name, description, ordered steps, and conversion window.

ParametersJSON Schema
NameRequiredDescriptionDefault
funnelIdYesFunnel id from list_funnels or create_funnel.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds which data fields are returned (name, description, steps, conversion window), enhancing transparency without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, zero waste. All information is relevant and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but the description lists return fields (name, description, steps, conversion window), which is sufficient for a simple read operation. Does not cover error cases or rate limits, but that is acceptable for a straightforward getter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (funnelId) with 100% schema coverage. The description mentions retrieval by ID but adds no meaning beyond the schema's description. Baseline 3 since schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it returns the full definition of a funnel by ID, listing specific fields (name, description, ordered steps, conversion window). Distinguishes from siblings like list_funnels (lists all) and create_funnel (creates).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives. The purpose is implied as a simple getter by ID, but there is no mention of exclusions or alternative tools like compute_funnel for metrics.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_usageA
Read-onlyIdempotent
Inspect

Return the current month's custom-event usage, monthly quota, retention days, and plan name for the team.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds the specific data returned (current month, custom events) but does not disclose potential side effects, auth needs, or rate limits. With annotations covering the main behavioral traits, this is adequate but not exceptional.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently communicates the tool's purpose and output. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by listing the key fields returned. However, it does not specify the data format (e.g., a single object or nested structure). Given the tool's simplicity and zero parameters, this is mostly complete but could hint at the structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters are defined, and schema coverage is 100% (vacuously). Per guidelines, baseline is 4. The description does not need to add parameter semantics, as there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns specific usage data (custom-event usage, monthly quota, retention days, plan name) for the team. The verb 'Return' and resource listing are specific and distinguish it from siblings like events_count or compute_funnel.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description only lists output fields, with no mention of typical use cases or conditions where another tool would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_funnelsA
Read-onlyIdempotent
Inspect

List active funnels defined on a project. A funnel is a saved ordered sequence of steps (events or pageview paths) that Convalytics computes step-by-step conversion for. Soft-deleted funnels are excluded.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectYesProject name (case-insensitive, e.g. 'slopbench') or project id from list_projects.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds the behavioral detail that soft-deleted funnels are excluded and defines what a funnel is, adding value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the main action, no redundant information. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one parameter and no output schema. The description covers the essential behavioral aspects (active, no soft-deleted) and defines a funnel. Missing output structure, but adequate for a list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear parameter description. The tool description does not add additional meaning to the 'project' parameter; it only explains what a funnel is. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List active funnels defined on a project.' It specifies the verb (list), resource (funnels), and scope (active, excluding soft-deleted). This differentiates from siblings like get_funnel (single funnel) and create_funnel.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context that this tool lists active, non-soft-deleted funnels. It implicitly tells when to use it (when needing a list of funnels), but does not explicitly mention alternatives for single funnel retrieval or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_projectsA
Read-onlyIdempotent
Inspect

List all Convalytics projects on the team this token belongs to. Useful when the agent needs to confirm the project it's querying against. No arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, making the safety profile clear. The description adds scope context (team/token) but does not go beyond what annotations provide for behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no redundancy. The first states the purpose, the second provides usage guidance. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, read-only list tool with no parameters and no output schema, the description covers essential context. Though it could mention the output format (e.g., list of project names/IDs), it is complete enough given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters with 100% schema coverage (empty object). The description explicitly states 'No arguments.' which is clear and sufficient, earning baseline 4 for zero parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List all Convalytics projects on the team this token belongs to.' This specifies the verb (list) and resource (projects), and distinguishes itself from sibling tools which deal with funnels, events, and pageviews.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use: 'Useful when the agent needs to confirm the project it's querying against.' This provides clear context, although no exclusions or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pageviews_countA
Read-onlyIdempotent
Inspect

Count page views for a specific project in a time window. Page views are the automatic hits captured by the browser script tag (separate from custom events). Use this for web-traffic questions like 'how many pageviews in the last 24 hours'. Default window is the last 7 days. Pass user to scope to one visitor.

ParametersJSON Schema
NameRequiredDescriptionDefault
userNoOptional. Filter to one visitor/user. Accepts userEmail (case-insensitive) or visitorId (exact). For the full per-user snapshot prefer user_activity.
sinceNoStart of window as unix milliseconds. Defaults to 7 days ago.
untilNoEnd of window as unix milliseconds. Defaults to now.
projectYesProject name (case-insensitive, e.g. 'slopbench') or project id from list_projects.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnly and idempotent. Description adds clarity that page views are automatic hits separate from custom events, and mentions default window. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four concise sentences, front-loaded with purpose. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers key aspects: what the tool does, default window, user scoping, separation from custom events. Lacks output format description but acceptable for a count tool without output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and well-documented. Description adds minimal value beyond schema (only mentions user scoping and alternative tool). Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Count page views for a specific project in a time window', specifies resource and action, distinguishes from siblings like events_count and user_activity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an example use case and default window, and mentions alternative user_activity for per-user snapshot. Lacks explicit when-not-to-use but sufficient for common usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recent_eventsA
Read-onlyIdempotent
Inspect

Return the most recent custom events for a specific project, optionally filtered to one event name and/or one user. PII (userEmail, userName, props) is redacted by default; pass redact: false to include them.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional event name to filter by (e.g. 'signup_completed'). Omit to return events of any name.
userNoOptional. Filter to one visitor/user. Accepts userEmail (case-insensitive) or visitorId (exact). For the full per-user snapshot prefer user_activity.
limitNoMaximum number of events to return. Default 20, max 100.
redactNoIf true (default), userEmail/userName are null and props is {}. Set to false to include them.
projectYesProject name (case-insensitive, e.g. 'slopbench') or project id from list_projects.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly and idempotent. The description adds important behavioral context about PII redaction by default and how to include it, which is beyond annotations and helps the agent understand data sensitivity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with front-loaded main action and options. Every sentence is informative with no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, filters, redact, and hints at alternatives. Missing output format details, but without an output schema, the description provides sufficient context for this straightforward tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description restates parameter purposes but does not add significant meaning beyond the schema; it mainly summarizes existing field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns recent custom events for a project with optional filters, and distinguishes from siblings like 'user_activity' and 'events_count'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly describes filtering options, redact behavior, and suggests 'user_activity' for full per-user snapshots, providing clear guidance on when to use this tool versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

top_pagesA
Read-onlyIdempotent
Inspect

Return the top pages for a specific project, ranked by views in a time window. Default window is the last 7 days. Use list_projects first if you don't know the project name. Returns path, views, uniqueVisitors, and percentage of total views for each page. Pass user to see pages a specific visitor hit.

ParametersJSON Schema
NameRequiredDescriptionDefault
userNoOptional. Filter to one visitor/user. Accepts userEmail (case-insensitive) or visitorId (exact). For the full per-user snapshot prefer user_activity.
limitNoMaximum number of pages to return. Default 20, max 50.
sinceNoStart of window as unix milliseconds. Defaults to 7 days ago.
untilNoEnd of window as unix milliseconds. Defaults to now.
projectYesProject name (case-insensitive, e.g. 'slopbench') or project id from list_projects.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so the description's mention of default window and return fields adds some context but no additional behavioral traits like rate limits or destruction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences with no unnecessary words. First sentence states purpose, second gives default, third prerequisite, fourth explains a parameter. Ideal conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without output schema, the description lists return fields. It covers default window, prerequisite, and user filtering. Lacks explicit statement that results are sorted descending by views, but is otherwise complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds minimal extra meaning beyond the schema's parameter descriptions. The mention of default window and user filter is helpful but not substantial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns top pages for a project ranked by views, and lists return fields. However, it does not explicitly differentiate from sibling tools like pageviews_count in the main description, though the schema hints at preferring user_activity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: default window is 7 days, suggests using list_projects to find project name, and in the parameter description recommends user_activity for full per-user snapshot, which clearly distinguishes when to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

top_referrersA
Read-onlyIdempotent
Inspect

Return the top referring hosts for a specific project, ranked by visit count in a time window. Includes '(direct)' for visits with no referrer. Default window is the last 7 days.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of referrers to return. Default 10, max 50.
sinceNoStart of window as unix milliseconds. Defaults to 7 days ago.
untilNoEnd of window as unix milliseconds. Defaults to now.
projectYesProject name (case-insensitive, e.g. 'slopbench') or project id from list_projects.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only and idempotent behavior. Description adds that the tool includes '(direct)' visits and has a default time window, but does not disclose additional behaviors like rate limits or authentication needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that front-load the core purpose and key details (direct inclusion, default window). No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with 4 parameters and no output schema, the description covers the return type (ranked top referrers), special case (direct), default window, and parameter defaults. Missing explicit return format but sufficient for usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and description reiterates defaults and constraints (limit max 50, since defaults to 7 days ago) already present in the schema, adding no new semantic meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it returns top referring hosts for a specific project, ranked by visit count in a time window, including direct visits. Verb and resource are specific, and it distinguishes from sibling tools like top_pages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description provides context for use (e.g., default window of 7 days) and implies it's for referrers versus other metrics, but does not explicitly state when not to use or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_funnelA
Idempotent
Inspect

Patch an existing funnel. Any subset of name/description/steps/conversionWindowMs. Refuses updates on deleted funnels.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
stepsNo
funnelIdYes
descriptionNo
conversionWindowMsNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide idempotentHint=true and destructiveHint=false. The description adds value by disclosing that the tool refuses updates on deleted funnels, a behavioral constraint not captured by annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the main action and quickly covering key behavior. Every word adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters, one required, and a nested array (steps), the description is minimal. It covers the updateable fields and a key restriction (deleted funnels), but lacks detail on output, error handling, or validation rules. Annotations fill some gaps, so it's adequate but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for top-level properties, so the description must compensate. It only lists field names (name, description, steps, conversionWindowMs) but provides no details on format, constraints, or semantics for any parameter except implicitly through the schema's nested steps description. Lacks guidance on valid values or structure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Patch an existing funnel', specifying the verb 'patch' and resource 'existing funnel'. This distinguishes it from sibling tools like create_funnel (create new) and delete_funnel (remove).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lists updatable fields ('Any subset of name/description/steps/conversionWindowMs') and includes an explicit exclusion: 'Refuses updates on deleted funnels'. It implies partial updates (patch) but doesn't explicitly contrast with alternatives like full replacement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

user_activityA
Read-onlyIdempotent
Inspect

Composite snapshot of a specific user's activity on a project. Returns an identity block (visitorId, userEmail, userName, firstSeen, lastSeen), total pageviews, total custom events, session count, top pages this user visited, their most-fired event names, and their 20 most recent events with props. Use this for 'how is dancleary54@gmail.com using my app?' style questions — one call, full picture. For ad-hoc drill-down (just a count, just recent events) pass user to the individual tools instead. Default window is the last 7 days.

ParametersJSON Schema
NameRequiredDescriptionDefault
userYesUser identifier. Accepts userEmail (case-insensitive, e.g. 'dan@example.com') or visitorId (the exact string passed as userId on the original track() call).
sinceNoStart of window as unix milliseconds. Defaults to 7 days ago.
untilNoEnd of window as unix milliseconds. Defaults to now.
projectYesProject name (case-insensitive, e.g. 'slopbench') or project id from list_projects.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds the default window (last 7 days) and that it returns a composite snapshot, providing sufficient behavioral context without contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, but the first sentence is long and lists many components. Still, it is front-loaded with the key purpose and returns enough detail without verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a composite snapshot tool with no output schema, the description covers return values, use cases, alternatives, and default window. No gaps given the annotations and schema richness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. However, the description adds value by clarifying the user parameter format (email or visitorId) and the default time window, going beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it provides a 'Composite snapshot of a specific user's activity on a project' and enumerates the exact return fields (identity block, pageviews, events, etc.). Distinguishes from sibling tools by branding it as a full-picture alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use this tool ('how is... using my app? style questions — one call, full picture') and when not to ('For ad-hoc drill-down... pass to individual tools instead'), naming siblings as alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

weekly_digestA
Read-onlyIdempotent
Inspect

Composite snapshot of a project's web analytics over a lookback window. Returns unique visitors, pageviews, sessions, bounce rate, average session duration, top 5 pages, top 5 referrers, total custom events, and top 5 event names. Includes period-over-period comparison against the prior equal-length window unless compare: false. Prefer this over chaining top_pages + top_referrers + events_count when the agent just wants to report on the week.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoLookback window in days, 1 to 90. Default 7.
compareNoInclude period-over-period comparison against the prior equal-length window. Default true. Set false for faster response when only current numbers matter.
projectYesProject name (case-insensitive, e.g. 'slopbench') or project id from list_projects.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, destructiveHint. Description adds context: returns period-over-period comparison by default, includes a flag to disable it for faster response, and enumerates all return fields. No contradictions. Good but not exceptional.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single paragraph, front-loaded with purpose, lists metrics, and ends with usage guidance. Every sentence adds value. Could be slightly more structured but remains concise and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a composite reporting tool with 3 parameters and no output schema, description fully covers behavior, return fields, and differentiation from 14 siblings. No gaps identified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all 3 parameters. Description adds minor value by explaining the period-over-period comparison behavior, but baseline is 3 as schema already handles parameter semantics adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the tool returns a composite snapshot of web analytics metrics, listing specific fields (unique visitors, pageviews, etc.). It distinguishes from siblings by explicitly recommending this over chaining top_pages + top_referrers + events_count for weekly reporting.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: prefer this tool over chaining others for weekly reports, and advises setting compare: false for faster response when only current numbers matter. Clearly states when to use and when not.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Exposes analytics from Claude Code transcripts as MCP tools, enabling cost, audit, safety, and efficiency queries through natural language.
    4
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables querying Rybbit Analytics data directly through MCP-compatible clients like Claude Code. It provides tools for monitoring website statistics, user sessions, error logs, funnels, and performance metrics via natural language.
    40
    32
    4
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Connects Google Analytics 4 data to Claude, Cursor and other MCP clients, enabling natural language queries of website traffic, user behavior, and analytics data with access to 200+ GA4 dimensions and metrics.
    10
    235
    Apache 2.0

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.