convalytics
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.
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.
Tool Definition Quality
Average 4.2/5 across 15 of 15 tools scored.
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 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.
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.
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 toolscompute_funnelARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | Start of window as unix milliseconds. Defaults to 7 days ago. | |
| until | No | End of window as unix milliseconds. Defaults to now. | |
| funnelId | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name. | |
| steps | Yes | Ordered list of 2–10 steps. Visitors must hit them in order. | |
| project | Yes | Project name (case-insensitive, e.g. 'slopbench') or project id from list_projects. | |
| description | No | Optional longer description. | |
| conversionWindowMs | No | Max ms between consecutive steps. Default 7 days (604800000). Bounds: 60000 (1 min) to 7776000000 (90 days). |
Tool Definition Quality
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.
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.
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.
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.
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.
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_funnelADestructiveIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| funnelId | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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_countARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional 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. | |
| user | No | Optional. Filter to one visitor/user. Accepts userEmail (case-insensitive) or visitorId (exact). For the full per-user snapshot prefer user_activity. | |
| since | No | Start of window as unix milliseconds. Defaults to 7 days ago. | |
| until | No | End of window as unix milliseconds. Defaults to now. | |
| project | Yes | Project name (case-insensitive, e.g. 'slopbench') or project id from list_projects. |
Tool Definition Quality
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.
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.
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.
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.
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.
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_funnelARead-onlyIdempotentInspect
Return the full definition of one funnel by id: name, description, ordered steps, and conversion window.
| Name | Required | Description | Default |
|---|---|---|---|
| funnelId | Yes | Funnel id from list_funnels or create_funnel. |
Tool Definition Quality
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.
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.
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.
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.
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.
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_usageARead-onlyIdempotentInspect
Return the current month's custom-event usage, monthly quota, retention days, and plan name for the team.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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_funnelsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| project | Yes | Project name (case-insensitive, e.g. 'slopbench') or project id from list_projects. |
Tool Definition Quality
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.
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.
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.
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.
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.
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_projectsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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_countARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| user | No | Optional. Filter to one visitor/user. Accepts userEmail (case-insensitive) or visitorId (exact). For the full per-user snapshot prefer user_activity. | |
| since | No | Start of window as unix milliseconds. Defaults to 7 days ago. | |
| until | No | End of window as unix milliseconds. Defaults to now. | |
| project | Yes | Project name (case-insensitive, e.g. 'slopbench') or project id from list_projects. |
Tool Definition Quality
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.
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.
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.
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.
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.
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_eventsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional event name to filter by (e.g. 'signup_completed'). Omit to return events of any name. | |
| user | No | Optional. Filter to one visitor/user. Accepts userEmail (case-insensitive) or visitorId (exact). For the full per-user snapshot prefer user_activity. | |
| limit | No | Maximum number of events to return. Default 20, max 100. | |
| redact | No | If true (default), userEmail/userName are null and props is {}. Set to false to include them. | |
| project | Yes | Project name (case-insensitive, e.g. 'slopbench') or project id from list_projects. |
Tool Definition Quality
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.
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.
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.
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.
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.
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_pagesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| user | No | Optional. Filter to one visitor/user. Accepts userEmail (case-insensitive) or visitorId (exact). For the full per-user snapshot prefer user_activity. | |
| limit | No | Maximum number of pages to return. Default 20, max 50. | |
| since | No | Start of window as unix milliseconds. Defaults to 7 days ago. | |
| until | No | End of window as unix milliseconds. Defaults to now. | |
| project | Yes | Project name (case-insensitive, e.g. 'slopbench') or project id from list_projects. |
Tool Definition Quality
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.
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.
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.
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.
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.
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_referrersARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of referrers to return. Default 10, max 50. | |
| since | No | Start of window as unix milliseconds. Defaults to 7 days ago. | |
| until | No | End of window as unix milliseconds. Defaults to now. | |
| project | Yes | Project name (case-insensitive, e.g. 'slopbench') or project id from list_projects. |
Tool Definition Quality
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.
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.
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.
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.
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.
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_funnelAIdempotentInspect
Patch an existing funnel. Any subset of name/description/steps/conversionWindowMs. Refuses updates on deleted funnels.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| steps | No | ||
| funnelId | Yes | ||
| description | No | ||
| conversionWindowMs | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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_activityARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| user | Yes | User identifier. Accepts userEmail (case-insensitive, e.g. 'dan@example.com') or visitorId (the exact string passed as userId on the original track() call). | |
| since | No | Start of window as unix milliseconds. Defaults to 7 days ago. | |
| until | No | End of window as unix milliseconds. Defaults to now. | |
| project | Yes | Project name (case-insensitive, e.g. 'slopbench') or project id from list_projects. |
Tool Definition Quality
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.
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.
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.
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.
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.
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_digestARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Lookback window in days, 1 to 90. Default 7. | |
| compare | No | Include period-over-period comparison against the prior equal-length window. Default true. Set false for faster response when only current numbers matter. | |
| project | Yes | Project name (case-insensitive, e.g. 'slopbench') or project id from list_projects. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityCmaintenanceExposes analytics from Claude Code transcripts as MCP tools, enabling cost, audit, safety, and efficiency queries through natural language.4MIT
- AlicenseAqualityAmaintenanceEnables 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.40324MIT

spanlens-mcpofficial
AlicenseAqualityCmaintenanceMCP-native LLM observability. Query your Spanlens traces, stats, cost anomalies, and savings from Cursor, Claude Desktop, or any MCP client. Open source (MIT).711MIT- AlicenseAqualityBmaintenanceConnects 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.10235Apache 2.0