Flowsery
Server Details
Privacy-first web analytics for AI agents: visitors, revenue, funnels, visitor profiles.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
27 toolsdelete_goalsDelete Goal EventsADestructiveInspect
Delete custom goal events by filter. At least one filter is required. WARNING: without a date range, matching records are deleted across the entire history.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Delete goals matching this event name | |
| endAt | No | ISO 8601 end timestamp | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| startAt | No | ISO 8601 start timestamp | |
| visitorId | No | Delete goals for this visitor | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Confirmation of the goal event deletion. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, and the description adds valuable warning context: without a date range, matching records are deleted across history. This goes beyond the annotation by explaining the destructive scope, which is important for safe invocation.
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 deliver the essential action, the filter requirement, and the critical warning without wasted words. The warning is placed clearly and front-loaded relative to the user's need to avoid accidental mass deletion.
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 output schema exists, all parameters are described in the schema, and annotations indicate the destructive nature, the description covers the critical additional context: the filter requirement and the full-history risk. Nothing essential is missing.
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 100%, so each parameter is already documented. The description adds the general rule that at least one filter is required and highlights the date-range behavior, but it does not need to restate individual parameter meanings.
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 states a specific verb and resource ('Delete custom goal events by filter') and clearly differentiates this from sibling tools like get_goals or track_goal by indicating it is a deletion operation with filtering. It also adds 'custom' to clarify the target event type.
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 operational guidance: at least one filter is required, and a date range is important to avoid deleting across all history. It does not explicitly name alternatives, but no sibling has an equivalent delete-goals function, so the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_paymentsDelete PaymentsADestructiveInspect
Delete payment records by filter. At least one filter is required. WARNING: without a date range, matching records are deleted across the entire history.
| Name | Required | Description | Default |
|---|---|---|---|
| endAt | No | ISO 8601 end timestamp | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| startAt | No | ISO 8601 start timestamp | |
| visitorId | No | Delete all payments for this visitor | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| transactionId | No | Delete the payment with this transaction ID |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Confirmation of the payment record deletion. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already provide destructiveHint=true, and the description adds important behavioral detail by warning about full-history deletion when no date range is provided. It does not say whether deletion is reversible, but the explicit wording plus the destructive annotation covers the key safety concern.
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 only three short sentences, with the most important safety warning placed last but clearly emphasized. Every sentence earns its place, and there is no filler or repetition of schema content.
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 destructive tool with six optional-looking parameters, the description compensates well by stating the mandatory-filter condition and the biggest risk (full-history deletion). The output schema covers return-value expectations, though the text could have clarified how multiple filters combine (e.g., AND vs OR).
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 individual parameters are already documented. The description adds meaning beyond the schema by communicating that at least one filter is mandatory and by explaining the dangerous consequence of omitting startAt/endAt.
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 and resource ('Delete payment records by filter'), which clearly distinguishes it from the sibling delete_goals and the read-only analytics tools. Even without opening the schema, an agent can tell what resource this acts on and in what mode.
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?
It states that at least one filter is required and explicitly warns that omitting a date range deletes over the entire history, which is a critical usage constraint. It does not mention alternative tools, but there is no close substitute for deleting payments among the siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_breakdownGet Breakdown by DimensionARead-onlyInspect
Generic breakdown by any dimension. Use this for dimensions that don't have a dedicated endpoint (e.g. entry_page, browser_version, os_version, utm_source, utm_medium, utm_term, utm_content, ref, source, all_params).
| Name | Required | Description | Default |
|---|---|---|---|
| endAt | No | ISO 8601 end date (e.g. "2026-01-31") | |
| limit | No | Max results (1-1000, default: 100) | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| offset | No | Pagination offset (default: 0) | |
| startAt | No | ISO 8601 start date (e.g. "2026-01-01") | |
| timezone | No | IANA timezone (e.g. "America/New_York"). Falls back to site default. | |
| dimension | Yes | Dimension to break down by: device, page, entry_page, exit_link, hostname, referrer, channel, campaign, goal, country, region, city, browser, browser_version, os, os_version, utm_source, utm_medium, utm_campaign, utm_term, utm_content, ref, source, all_params | |
| filter_os | No | Filter by operating system | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| filter_ref | No | Filter by ref URL parameter | |
| filter_via | No | Filter by via URL parameter | |
| filter_city | No | Filter by city | |
| filter_goal | No | Filter by goal name | |
| filter_page | No | Filter by page path | |
| filter_device | No | Filter by device type: desktop, mobile, tablet | |
| filter_region | No | Filter by region | |
| filter_source | No | Filter by source URL parameter | |
| filter_browser | No | Filter by browser name | |
| filter_channel | No | Filter by marketing channel | |
| filter_country | No | Filter by country | |
| filter_hostname | No | Filter by hostname | |
| filter_referrer | No | Filter by referrer domain | |
| filter_utm_term | No | Filter by UTM term | |
| filter_entry_page | No | Filter by entry/landing page | |
| filter_utm_medium | No | Filter by UTM medium | |
| filter_utm_source | No | Filter by UTM source | |
| filter_utm_content | No | Filter by UTM content | |
| filter_utm_campaign | No | Filter by UTM campaign |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Values of the requested dimension with visitor counts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the generic 'any dimension' behavior, but does not disclose additional operational details beyond what annotations and the schema already provide. It does not contradict 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 one focused sentence that front-loads the core purpose and immediately provides usage guidance with relevant examples. No filler or redundant repetition of schema 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 the rich input schema, full schema description coverage, output schema presence, and safety annotations, this description provides everything needed for an agent to select and invoke the tool correctly. The only missing nuance would be behavioral details like default date ranges, but those are not critical for routing and invocation.
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 100%, so the schema already explains all 28 parameters. The description adds examples of valid dimensions, which is useful for choosing the dimension, but it does not meaningfully extend the parameter documentation. Baseline of 3 is appropriate given the high 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 states a specific verb and resource: 'Generic breakdown by any dimension.' It also differentiates from sibling tools by framing itself as the fallback for dimensions without a dedicated endpoint, with concrete examples like entry_page and utm_source.
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 this tool: 'Use this for dimensions that don't have a dedicated endpoint.' It also gives examples, which makes the routing decision clear against siblings such as get_browsers, get_campaigns, and get_countries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_browsersGet Visitors by BrowserARead-onlyInspect
Get browser distribution — Chrome, Safari, Firefox, Edge, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| endAt | No | ISO 8601 end date (e.g. "2026-01-31") | |
| limit | No | Max results (1-1000, default: 100) | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| offset | No | Pagination offset (default: 0) | |
| startAt | No | ISO 8601 start date (e.g. "2026-01-01") | |
| timezone | No | IANA timezone (e.g. "America/New_York"). Falls back to site default. | |
| filter_os | No | Filter by operating system | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| filter_ref | No | Filter by ref URL parameter | |
| filter_via | No | Filter by via URL parameter | |
| filter_city | No | Filter by city | |
| filter_goal | No | Filter by goal name | |
| filter_page | No | Filter by page path | |
| filter_device | No | Filter by device type: desktop, mobile, tablet | |
| filter_region | No | Filter by region | |
| filter_source | No | Filter by source URL parameter | |
| filter_browser | No | Filter by browser name | |
| filter_channel | No | Filter by marketing channel | |
| filter_country | No | Filter by country | |
| filter_hostname | No | Filter by hostname | |
| filter_referrer | No | Filter by referrer domain | |
| filter_utm_term | No | Filter by UTM term | |
| filter_entry_page | No | Filter by entry/landing page | |
| filter_utm_medium | No | Filter by UTM medium | |
| filter_utm_source | No | Filter by UTM source | |
| filter_utm_content | No | Filter by UTM content | |
| filter_utm_campaign | No | Filter by UTM campaign |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Browsers with visitor counts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that the result is a 'distribution,' implying aggregated browser counts, but it does not disclose pagination behavior, date-range semantics, or any requirements around domain/websiteId. With rich annotations and an output schema present, the description is adequate but not highly transparent.
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, focused sentence with no filler. It front-loads the core purpose and provides useful browser examples without 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?
Although the tool has 27 parameters, all are covered by the schema, an output schema exists, and annotations establish safety. The description is sufficient for an agent to select and invoke the tool correctly; only explicit guidance about when to use it versus sibling analytics tools is missing.
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 every parameter is already documented in the input schema. The description does not add meaning beyond what the schema provides, but it also does not need to since the schema fully documents parameters. 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?
The description clearly states a specific verb-resource combination ('Get browser distribution') and names representative browser examples, which distinguishes it from sibling tools like get_operating_systems and get_devices. An agent can immediately understand what this tool does and how it differs from similar analytics endpoints.
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 implies the tool is for browser-specific analytics, but it does not explicitly say when to choose this over sibling tools such as get_devices or get_operating_systems. No exclusions or alternative routing are provided, so usage guidance is only implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_campaignsGet Campaign PerformanceBRead-onlyInspect
Get UTM campaign performance — which campaigns drive the most traffic.
| Name | Required | Description | Default |
|---|---|---|---|
| endAt | No | ISO 8601 end date (e.g. "2026-01-31") | |
| limit | No | Max results (1-1000, default: 100) | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| offset | No | Pagination offset (default: 0) | |
| startAt | No | ISO 8601 start date (e.g. "2026-01-01") | |
| timezone | No | IANA timezone (e.g. "America/New_York"). Falls back to site default. | |
| filter_os | No | Filter by operating system | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| filter_ref | No | Filter by ref URL parameter | |
| filter_via | No | Filter by via URL parameter | |
| filter_city | No | Filter by city | |
| filter_goal | No | Filter by goal name | |
| filter_page | No | Filter by page path | |
| filter_device | No | Filter by device type: desktop, mobile, tablet | |
| filter_region | No | Filter by region | |
| filter_source | No | Filter by source URL parameter | |
| filter_browser | No | Filter by browser name | |
| filter_channel | No | Filter by marketing channel | |
| filter_country | No | Filter by country | |
| filter_hostname | No | Filter by hostname | |
| filter_referrer | No | Filter by referrer domain | |
| filter_utm_term | No | Filter by UTM term | |
| filter_entry_page | No | Filter by entry/landing page | |
| filter_utm_medium | No | Filter by UTM medium | |
| filter_utm_source | No | Filter by UTM source | |
| filter_utm_content | No | Filter by UTM content | |
| filter_utm_campaign | No | Filter by UTM campaign |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | UTM campaigns with visitor counts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds that the tool reports campaign-level traffic performance, but it does not disclose additional behavioral details such as aggregation, sorting, or date-range handling. No contradiction exists.
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 front-loaded sentence with no filler. It clearly states the core action and purpose without repeating schema details or annotations.
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 output schema, full parameter documentation, and read-only annotations, the description is sufficient for correct invocation. It does not explain how this tool relates to sibling analytics tools, but that gap is minor because the schema and annotations carry the necessary operational context.
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 100% and every parameter, including all filter_* options, already has a meaningful description. The tool description itself adds no parameter-level semantics, so the baseline score of 3 applies.
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 ('Get') and resource ('UTM campaign performance') and states the intended purpose: identifying which campaigns drive the most traffic. It does not explicitly contrast with sibling tools such as get_breakdown or get_channels, but the UTM-campaign scope makes the tool's function recognizable.
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 no guidance on when to use this tool versus sibling analytics tools like get_breakdown, get_channels, or get_timeseries. There are no conditions, exclusions, or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_channelsGet Traffic by ChannelARead-onlyInspect
Get marketing channel breakdown — Organic Search, Paid Search, Social, Email, Direct, Referral, Affiliate, etc. GA4-aligned classification.
| Name | Required | Description | Default |
|---|---|---|---|
| endAt | No | ISO 8601 end date (e.g. "2026-01-31") | |
| limit | No | Max results (1-1000, default: 100) | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| offset | No | Pagination offset (default: 0) | |
| startAt | No | ISO 8601 start date (e.g. "2026-01-01") | |
| timezone | No | IANA timezone (e.g. "America/New_York"). Falls back to site default. | |
| filter_os | No | Filter by operating system | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| filter_ref | No | Filter by ref URL parameter | |
| filter_via | No | Filter by via URL parameter | |
| filter_city | No | Filter by city | |
| filter_goal | No | Filter by goal name | |
| filter_page | No | Filter by page path | |
| filter_device | No | Filter by device type: desktop, mobile, tablet | |
| filter_region | No | Filter by region | |
| filter_source | No | Filter by source URL parameter | |
| filter_browser | No | Filter by browser name | |
| filter_channel | No | Filter by marketing channel | |
| filter_country | No | Filter by country | |
| filter_hostname | No | Filter by hostname | |
| filter_referrer | No | Filter by referrer domain | |
| filter_utm_term | No | Filter by UTM term | |
| filter_entry_page | No | Filter by entry/landing page | |
| filter_utm_medium | No | Filter by UTM medium | |
| filter_utm_source | No | Filter by UTM source | |
| filter_utm_content | No | Filter by UTM content | |
| filter_utm_campaign | No | Filter by UTM campaign |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Marketing channels with visitor counts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context about GA4-aligned channel classification, but it does not disclose additional behavioral traits such as output grouping, default date ranges, or pagination behavior.
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 front-loaded sentence with no filler. Every phrase contributes to understanding the tool's purpose and output taxonomy, and the channel list is compact and informative.
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 input schema is thorough and the output schema exists, so the description does not need to explain return values or every parameter. However, given the large sibling group and 27 parameters, the description provides minimal guidance on how this tool fits relative to other analytics breakdown tools and does not mention date-range expectations.
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. The description adds meaningful value by listing the expected channel categories and noting GA4 alignment, which helps an agent understand what values filter_channel and the returned breakdown will use.
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 a marketing channel breakdown and lists relevant channel categories, making the resource and action specific. It is easy to distinguish from most sibling tools by name and described resource, though it does not explicitly contrast itself with any sibling.
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 implies this tool should be used when a marketing channel breakdown is needed, and the channel list provides context. However, it offers no explicit guidance about when to choose this instead of related tools like get_breakdown or get_campaigns, and 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.
get_citiesGet Visitors by CityBRead-onlyInspect
Get visitor breakdown by city.
| Name | Required | Description | Default |
|---|---|---|---|
| endAt | No | ISO 8601 end date (e.g. "2026-01-31") | |
| limit | No | Max results (1-1000, default: 100) | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| offset | No | Pagination offset (default: 0) | |
| startAt | No | ISO 8601 start date (e.g. "2026-01-01") | |
| timezone | No | IANA timezone (e.g. "America/New_York"). Falls back to site default. | |
| filter_os | No | Filter by operating system | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| filter_ref | No | Filter by ref URL parameter | |
| filter_via | No | Filter by via URL parameter | |
| filter_city | No | Filter by city | |
| filter_goal | No | Filter by goal name | |
| filter_page | No | Filter by page path | |
| filter_device | No | Filter by device type: desktop, mobile, tablet | |
| filter_region | No | Filter by region | |
| filter_source | No | Filter by source URL parameter | |
| filter_browser | No | Filter by browser name | |
| filter_channel | No | Filter by marketing channel | |
| filter_country | No | Filter by country | |
| filter_hostname | No | Filter by hostname | |
| filter_referrer | No | Filter by referrer domain | |
| filter_utm_term | No | Filter by UTM term | |
| filter_entry_page | No | Filter by entry/landing page | |
| filter_utm_medium | No | Filter by UTM medium | |
| filter_utm_source | No | Filter by UTM source | |
| filter_utm_content | No | Filter by UTM content | |
| filter_utm_campaign | No | Filter by UTM campaign |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Cities with visitor counts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe read-only nature of the operation is conveyed. The description adds no behavioral detail beyond the basic grouping operation, such as response shape, pagination behavior, or auth requirements. It is consistent with annotations and adds marginal context, so a 3 is appropriate.
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, front-loaded sentence with no filler. It communicates the core purpose efficiently without repeating the tool name or restating schema details.
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 has a rich input schema covering all parameters and an output schema, so the description does not need to explain return values or parameter formats. The main missing piece is usage context relative to sibling tools, but given the strong schema and annotation coverage, the description is largely complete for a read-only breakdown endpoint.
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 100% description coverage for all 27 parameters, so the schema already documents each parameter thoroughly. The description contributes no additional parameter-level meaning. With full schema coverage, the baseline of 3 applies.
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 states a specific verb and resource: 'Get visitor breakdown by city.' It is clear that this tool returns per-city visitor data, and the city resource distinguishes it from sibling tools like get_countries and get_regions. However, it does not explicitly differentiate itself from those siblings, so it stops short of a 5.
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 no guidance on when to use this tool versus alternatives such as get_breakdown, get_regions, or get_countries. There is no mention of which scenario calls for city-level breakdowns or when another breakdown 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.
get_countriesGet Visitors by CountryCRead-onlyInspect
Get visitor breakdown by country.
| Name | Required | Description | Default |
|---|---|---|---|
| endAt | No | ISO 8601 end date (e.g. "2026-01-31") | |
| limit | No | Max results (1-1000, default: 100) | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| offset | No | Pagination offset (default: 0) | |
| startAt | No | ISO 8601 start date (e.g. "2026-01-01") | |
| timezone | No | IANA timezone (e.g. "America/New_York"). Falls back to site default. | |
| filter_os | No | Filter by operating system | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| filter_ref | No | Filter by ref URL parameter | |
| filter_via | No | Filter by via URL parameter | |
| filter_city | No | Filter by city | |
| filter_goal | No | Filter by goal name | |
| filter_page | No | Filter by page path | |
| filter_device | No | Filter by device type: desktop, mobile, tablet | |
| filter_region | No | Filter by region | |
| filter_source | No | Filter by source URL parameter | |
| filter_browser | No | Filter by browser name | |
| filter_channel | No | Filter by marketing channel | |
| filter_country | No | Filter by country | |
| filter_hostname | No | Filter by hostname | |
| filter_referrer | No | Filter by referrer domain | |
| filter_utm_term | No | Filter by UTM term | |
| filter_entry_page | No | Filter by entry/landing page | |
| filter_utm_medium | No | Filter by UTM medium | |
| filter_utm_source | No | Filter by UTM source | |
| filter_utm_content | No | Filter by UTM content | |
| filter_utm_campaign | No | Filter by UTM campaign |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Countries with visitor counts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds no further behavioral context such as whether counts are unique visitors, whether a date range is required, or how results are ordered.
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 front-loaded sentence with no filler words. It is concise, though it is arguably minimal given the large parameter set and sibling tool context.
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 grouped analytics endpoint, the description plus rich schema, annotations, and output schema is adequate. However, it lacks usage differentiation and does not clarify metric semantics, leaving some contextual gaps for an agent selecting among many similar analytics tools.
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 100%, so all 27 parameters are already documented. The tool description does not add any parameter-level meaning, placing it at the baseline of 3.
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 a visitor breakdown grouped by country, using a specific verb and resource. It is distinguishable from siblings like get_cities and get_regions by the country dimension, though it does not explicitly contrast itself with them.
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?
There is no guidance on when to use this tool versus alternatives such as get_cities, get_regions, or get_breakdown. The description only restates the core purpose and leaves tool selection to inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_devicesGet Visitors by DeviceARead-onlyInspect
Get device type breakdown — desktop vs mobile vs tablet split.
| Name | Required | Description | Default |
|---|---|---|---|
| endAt | No | ISO 8601 end date (e.g. "2026-01-31") | |
| limit | No | Max results (1-1000, default: 100) | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| offset | No | Pagination offset (default: 0) | |
| startAt | No | ISO 8601 start date (e.g. "2026-01-01") | |
| timezone | No | IANA timezone (e.g. "America/New_York"). Falls back to site default. | |
| filter_os | No | Filter by operating system | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| filter_ref | No | Filter by ref URL parameter | |
| filter_via | No | Filter by via URL parameter | |
| filter_city | No | Filter by city | |
| filter_goal | No | Filter by goal name | |
| filter_page | No | Filter by page path | |
| filter_device | No | Filter by device type: desktop, mobile, tablet | |
| filter_region | No | Filter by region | |
| filter_source | No | Filter by source URL parameter | |
| filter_browser | No | Filter by browser name | |
| filter_channel | No | Filter by marketing channel | |
| filter_country | No | Filter by country | |
| filter_hostname | No | Filter by hostname | |
| filter_referrer | No | Filter by referrer domain | |
| filter_utm_term | No | Filter by UTM term | |
| filter_entry_page | No | Filter by entry/landing page | |
| filter_utm_medium | No | Filter by UTM medium | |
| filter_utm_source | No | Filter by UTM source | |
| filter_utm_content | No | Filter by UTM content | |
| filter_utm_campaign | No | Filter by UTM campaign |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Device types (desktop, mobile, tablet) with visitor counts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only and non-destructive, so the safety profile is covered. The description adds that the result is an aggregated split by device category, which is useful, but it does not add further behavioral context such as how filters or pagination affect the breakdown.
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 front-loaded sentence with no filler; the em-dash efficiently specifies the grouping. Every element 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?
With 27 parameters, many sibling tools, and no usage guidance, the description is minimal but the output schema and full parameter descriptions fill most operational gaps. It is adequate for a simple read-only breakdown tool, though it leaves selection guidance to inference.
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 100%, so the parameters are fully documented there. The description adds little beyond the filter_device domain values, but because the schema already carries the meaning, 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?
States a specific verb ('Get') and resource ('device type breakdown') and names the exact grouping dimensions (desktop vs mobile vs tablet), which distinguishes it from sibling analytics tools like get_browsers or get_operating_systems.
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 choose this over siblings such as get_breakdown, get_overview, or other get_* tools. The description implies a use case but provides no exclusions or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_goalsGet Goal CompletionsARead-onlyInspect
Get goal/custom event completion stats within a date range.
| Name | Required | Description | Default |
|---|---|---|---|
| endAt | No | ISO 8601 end date (e.g. "2026-01-31") | |
| limit | No | Max results (1-1000, default: 100) | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| offset | No | Pagination offset (default: 0) | |
| startAt | No | ISO 8601 start date (e.g. "2026-01-01") | |
| timezone | No | IANA timezone (e.g. "America/New_York"). Falls back to site default. | |
| filter_os | No | Filter by operating system | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| filter_ref | No | Filter by ref URL parameter | |
| filter_via | No | Filter by via URL parameter | |
| filter_city | No | Filter by city | |
| filter_goal | No | Filter by goal name | |
| filter_page | No | Filter by page path | |
| filter_device | No | Filter by device type: desktop, mobile, tablet | |
| filter_region | No | Filter by region | |
| filter_source | No | Filter by source URL parameter | |
| filter_browser | No | Filter by browser name | |
| filter_channel | No | Filter by marketing channel | |
| filter_country | No | Filter by country | |
| filter_hostname | No | Filter by hostname | |
| filter_referrer | No | Filter by referrer domain | |
| filter_utm_term | No | Filter by UTM term | |
| filter_entry_page | No | Filter by entry/landing page | |
| filter_utm_medium | No | Filter by UTM medium | |
| filter_utm_source | No | Filter by UTM source | |
| filter_utm_content | No | Filter by UTM content | |
| filter_utm_campaign | No | Filter by UTM campaign |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Goals with completion stats for the selected date range. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and destructiveHint=false, so the safety profile is established. The description adds the date-range scope and the goal/custom event subject, but does not disclose pagination, aggregation behavior, or response shape. It is adequate but not enriched 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 a single efficient sentence, front-loaded with the action and resource. Every word contributes meaning, and there is no redundant phrasing or unnecessary filler.
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 reporting tool with full schema coverage and an output schema, the description is largely complete: it states the purpose, resource, and date-range constraint. A slightly higher level of context about how completions are aggregated or grouped would be helpful, but the output schema likely covers return values and all parameters are documented.
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 100%, with all 27 parameters individually documented. The tool description adds no additional parameter semantics beyond restating the date-range context, so the baseline score applies.
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 identifies a specific action and resource: get goal/custom event completion stats, and scopes it to a date range. This clearly distinguishes it from sibling tools like track_goal, delete_goals, and other get_* stats tools such as get_browsers or get_overview.
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 clearly indicates when to use this tool: when goal or custom event completion stats are needed within a date range. It does not explicitly name alternatives or exclusions, but the read-only stats framing makes the intended use obvious against the destructive and tracking siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hostnamesGet Traffic by HostnameCRead-onlyInspect
Get traffic breakdown by hostname/domain.
| Name | Required | Description | Default |
|---|---|---|---|
| endAt | No | ISO 8601 end date (e.g. "2026-01-31") | |
| limit | No | Max results (1-1000, default: 100) | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| offset | No | Pagination offset (default: 0) | |
| startAt | No | ISO 8601 start date (e.g. "2026-01-01") | |
| timezone | No | IANA timezone (e.g. "America/New_York"). Falls back to site default. | |
| filter_os | No | Filter by operating system | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| filter_ref | No | Filter by ref URL parameter | |
| filter_via | No | Filter by via URL parameter | |
| filter_city | No | Filter by city | |
| filter_goal | No | Filter by goal name | |
| filter_page | No | Filter by page path | |
| filter_device | No | Filter by device type: desktop, mobile, tablet | |
| filter_region | No | Filter by region | |
| filter_source | No | Filter by source URL parameter | |
| filter_browser | No | Filter by browser name | |
| filter_channel | No | Filter by marketing channel | |
| filter_country | No | Filter by country | |
| filter_hostname | No | Filter by hostname | |
| filter_referrer | No | Filter by referrer domain | |
| filter_utm_term | No | Filter by UTM term | |
| filter_entry_page | No | Filter by entry/landing page | |
| filter_utm_medium | No | Filter by UTM medium | |
| filter_utm_source | No | Filter by UTM source | |
| filter_utm_content | No | Filter by UTM content | |
| filter_utm_campaign | No | Filter by UTM campaign |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Hostnames with visitor counts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description does not contradict them. But the description adds no behavioral context beyond the annotations — nothing about date-range requirements, pagination via offset/limit, or that all parameters are optional filters.
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 single sentence has no wasted words, but it essentially restates the title ('Get Traffic by Hostname' → 'Get traffic breakdown by hostname/domain') and offers no structured or front-loaded information to help an agent decide or invoke. Concise but under-informative.
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 tool with 27 parameters, zero required fields, and a large sibling family, one sentence is insufficient context. The output schema covers return values, but the descripption fails to explain the domain-vs-websiteId disjunction, the extensive filter capabilities, or how this differs from the generic get_breakdown 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 description coverage is 100%, so the baseline is 3. The description's 'hostname/domain' phrasing loosely maps to the domain and filter_hostname parameters but adds no semantic detail that the schema does not already document for every one of the 27 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 states a clear verb and resource: retrieving traffic data grouped by hostname/domain, matching the tool's name and title. However, it provides no sibling differentiatiion — an agent cannot tell from the description whether to pick this over get_breakdown, get_referrers, or get_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?
No guidance is given on when to use this tool versus alternatives. The description does not mention that hostname breakdowns suit multi-domain sites, nor does it direct agents to get_breakdown for custom dimensions or get_overview for aggregate metrics. The only contextual cues (domain-vs-websiteId requirement) live in the schema, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_issueGet Issue DetailARead-onlyInspect
Get full detail for one AI-detected issue: every occurrence the AI flagged with timestamps, the sessions behind it, steps to replicate, comments, and any linked external ticket (Linear/Jira).
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| issueId | Yes | Issue ID from list_issues | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The issue with occurrences, affected sessions, steps to replicate, comments, and external ticket link if any. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so this is marked as a safe read. The description adds value by specifying the response scope—'every occurrence the AI flagged with timestamps, the sessions behind it, steps to replicate, comments, and any linked external ticket'—which goes beyond the generic title. It doesn't contradict annotations, but doesn't describe error behavior or data volume, so it's not a full behavioral picture.
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, well-structured sentence that front-loads the action and resource ('Get full detail for one AI-detected issue') before listing the included contents. It contains zero filler and every clause contributes meaningful 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?
With three parameters fully described in the schema, a read-only annotation, an output schema present, and a precise description of the returned data, an agent has all the information needed to select and call this tool correctly. The only minor omission, error handling when an issue isn't found, is low-stakes for a non-destructive read operation with an 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 description coverage is 100%, and each parameter has a meaningful description: issueId is 'Issue ID from list_issues', and domain/weekiteId explain workspace-token requirements. The tool description itself doesn't add any parameter-level semantics, so the baseline of 3 applies because the schema already 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?
The description uses a specific verb ('Get') and explicit resource ('full detail for one AI-detected issue'), then enumerates exactly what that detail includes: occurrences with timestamps, sessions, steps to replicate, comments, and linked external tickets. This clearly distinguishes it from siblings like list_issues (which lists issues) and update_issue_status (which mutates status).
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 phrase 'full detail for one AI-detected issue' clearly implies this tool is for retrieving comprehensive data about a single issue, as opposed to listing issues or updating status. However, the description itself does not explicitly name alternatives or state when not to use it; the schemas parameter description 'Issue ID from list_issues' hints at the intended workflow but is part of the schema, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_metadataGet Website SettingsARead-onlyInspect
Get website configuration — domain, timezone, currency, KPI goal, and color scheme. With a workspace token, pass websiteId or domain; without one, this returns the website list.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Website configuration including domain, timezone, currency, KPI goal, and color scheme. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the operation read-only and non-destructive. The description adds meaningful behavioral context beyond this by disclosing the token-dependent dual behavior: fetching specific configuration when a token is present versus returning the website list when it is absent. This helps the agent anticipate surprising return behavior.
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 front-load the primary purpose and then provide the conditional invocation details. No redundant words or filler; every sentence 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?
The output schema is present, so return values need no further elaboration. The description covers the main invocation nuances, though it does not explain how the workspace token itself is supplied or what happens if both parameters are provided. These are minor gaps for a read-only settings 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 adds value by connecting the parameters to the authentication context ('with a workspace token, pass websiteId or domain') and by clarifying the no-token fallback behavior, which influences when the parameters are relevant.
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 states a specific verb and resource: 'Get website configuration', and enumerates the exact fields returned (domain, timezone, currency, KPI goal, color scheme). This differentiates it from sibling analytics tools like get_breakdown or list_websites by focusing on settings, not metrics or website enumeration.
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 clearly explains the two invocation contexts: with a workspace token, provide websiteId or domain; without one, the tool returns the website list. This gives recognizable when-to-use guidance, though it does not explicitly name alternative tools or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_operating_systemsGet Visitors by Operating SystemARead-onlyInspect
Get operating system distribution — Mac OS, Windows, iOS, Android, Linux, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| endAt | No | ISO 8601 end date (e.g. "2026-01-31") | |
| limit | No | Max results (1-1000, default: 100) | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| offset | No | Pagination offset (default: 0) | |
| startAt | No | ISO 8601 start date (e.g. "2026-01-01") | |
| timezone | No | IANA timezone (e.g. "America/New_York"). Falls back to site default. | |
| filter_os | No | Filter by operating system | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| filter_ref | No | Filter by ref URL parameter | |
| filter_via | No | Filter by via URL parameter | |
| filter_city | No | Filter by city | |
| filter_goal | No | Filter by goal name | |
| filter_page | No | Filter by page path | |
| filter_device | No | Filter by device type: desktop, mobile, tablet | |
| filter_region | No | Filter by region | |
| filter_source | No | Filter by source URL parameter | |
| filter_browser | No | Filter by browser name | |
| filter_channel | No | Filter by marketing channel | |
| filter_country | No | Filter by country | |
| filter_hostname | No | Filter by hostname | |
| filter_referrer | No | Filter by referrer domain | |
| filter_utm_term | No | Filter by UTM term | |
| filter_entry_page | No | Filter by entry/landing page | |
| filter_utm_medium | No | Filter by UTM medium | |
| filter_utm_source | No | Filter by UTM source | |
| filter_utm_content | No | Filter by UTM content | |
| filter_utm_campaign | No | Filter by UTM campaign |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Operating systems with visitor counts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, which covers the safety profile. The description adds the behavioral detail that results are a distribution across common operating systems, but it does not disclose details like pagination behavior, date-range handling, or whether results are counts or percentages. Given the annotations cover safety, this is adequate but not rich.
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, focused sentence that immediately states the tool's purpose and gives helpful examples. There is no fluff or repetition of the title or schema.
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 analytics aggregation tool with a full schema, rich annotations, and an output schema, the description is adequate. It clearly defines what the returned data represents, and the schema handles the large parameter list. It could be improved with an explicit usage scenario or sibling differentiation, but nothing essential is missing.
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 100%, so the schema fully documents all 27 parameters. The description adds no parameter-level meaning beyond the schema, which fits the baseline of 3 when structured data carries the load.
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 identifies the verb and resource: 'Get operating system distribution' with concrete examples of operating systems included. It is distinct from sibling tools like get_browsers or get_devices because the resource and intent are 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 implies the tool is used when an operating system breakdown is needed, and the title reinforces this. However, it does not explicitly state when to use this tool versus similar analytics tools, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_overviewGet Traffic OverviewARead-onlyInspect
Get aggregated site metrics: visitors, sessions, bounce rate, average session duration, revenue, revenue per visitor, and conversion rate. Supports date range and all filters. Omit dates for all-time data.
| Name | Required | Description | Default |
|---|---|---|---|
| endAt | No | ISO 8601 end date (e.g. "2026-01-31") | |
| limit | No | Max results (1-1000, default: 100) | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| fields | No | Comma-separated metrics to include: visitors, sessions, bounce_rate, avg_session_duration, currency, revenue, revenue_per_visitor, conversion_rate. Omit for all. | |
| offset | No | Pagination offset (default: 0) | |
| startAt | No | ISO 8601 start date (e.g. "2026-01-01") | |
| timezone | No | IANA timezone (e.g. "America/New_York"). Falls back to site default. | |
| filter_os | No | Filter by operating system | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| filter_ref | No | Filter by ref URL parameter | |
| filter_via | No | Filter by via URL parameter | |
| filter_city | No | Filter by city | |
| filter_goal | No | Filter by goal name | |
| filter_page | No | Filter by page path | |
| filter_device | No | Filter by device type: desktop, mobile, tablet | |
| filter_region | No | Filter by region | |
| filter_source | No | Filter by source URL parameter | |
| filter_browser | No | Filter by browser name | |
| filter_channel | No | Filter by marketing channel | |
| filter_country | No | Filter by country | |
| filter_hostname | No | Filter by hostname | |
| filter_referrer | No | Filter by referrer domain | |
| filter_utm_term | No | Filter by UTM term | |
| filter_entry_page | No | Filter by entry/landing page | |
| filter_utm_medium | No | Filter by UTM medium | |
| filter_utm_source | No | Filter by UTM source | |
| filter_utm_content | No | Filter by UTM content | |
| filter_utm_campaign | No | Filter by UTM campaign |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Aggregated metrics such as visitors, sessions, bounce rate, average session duration, revenue, revenue per visitor, and conversion rate. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only and non-destructive, so the description only needs to add behavioral context. It adds useful behavior: the tool supports all filters and returns all-time data when dates are omitted. No contradictions with annotations were found.
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 concise sentences with no fluff. The primary purpose and metric list are front-loaded, and the all-time behavior is stated in a short secondary sentence. Every part 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?
Given the rich input schema, output schema, and read-only annotations, the description is complete enough for an agent to understand what the tool does and how to invoke it. The key behavioral nuance about omitting dates is included, and the extensive parameter details are already present in the 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 description coverage is 100%, so the baseline is 3. The description adds genuine parameter-level meaning beyond the schema by noting that omitting dates produces all-time data and that all filters apply. This is useful semantic context for the many date and filter 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 uses a specific verb and resource — 'Get aggregated site metrics' — and explicitly lists the exact metrics returned. This clearly distinguishes it from sibling tools like get_breakdown or get_timeseries, which focus on disaggregated or time-series data.
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 gives clear usage context: use this tool for an aggregated overview, with optional date range and filters, and omit dates for all-time data. It does not explicitly name alternatives or state when not to use it, but the 'aggregated' framing and tool title make the intended use apparent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pagesGet Top PagesARead-onlyInspect
Get top pages ranked by visitor count. Shows which pages get the most traffic.
| Name | Required | Description | Default |
|---|---|---|---|
| endAt | No | ISO 8601 end date (e.g. "2026-01-31") | |
| limit | No | Max results (1-1000, default: 100) | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| offset | No | Pagination offset (default: 0) | |
| startAt | No | ISO 8601 start date (e.g. "2026-01-01") | |
| timezone | No | IANA timezone (e.g. "America/New_York"). Falls back to site default. | |
| filter_os | No | Filter by operating system | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| filter_ref | No | Filter by ref URL parameter | |
| filter_via | No | Filter by via URL parameter | |
| filter_city | No | Filter by city | |
| filter_goal | No | Filter by goal name | |
| filter_page | No | Filter by page path | |
| filter_device | No | Filter by device type: desktop, mobile, tablet | |
| filter_region | No | Filter by region | |
| filter_source | No | Filter by source URL parameter | |
| filter_browser | No | Filter by browser name | |
| filter_channel | No | Filter by marketing channel | |
| filter_country | No | Filter by country | |
| filter_hostname | No | Filter by hostname | |
| filter_referrer | No | Filter by referrer domain | |
| filter_utm_term | No | Filter by UTM term | |
| filter_entry_page | No | Filter by entry/landing page | |
| filter_utm_medium | No | Filter by UTM medium | |
| filter_utm_source | No | Filter by UTM source | |
| filter_utm_content | No | Filter by UTM content | |
| filter_utm_campaign | No | Filter by UTM campaign |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Pages ranked by visitor count for the selected range and filters. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnly and non-destructive. The description adds meaningful behavioral context by specifying that results are ranked by visitor count, which clarifies the ordering semantics. It does not mention pagination or default limits, but those are already present in the schema.
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 short sentences with no fluff. The core behavior is front-loaded and every word 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?
Given the large parameter set, complete schema descriptions, annotations, and an output schema, the description is reasonably complete. It could have added a pointer to sibling tools for other dimensions, but nothing essential is missing for invoking 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 description coverage is 100%, so the schema already documents all 27 parameters thoroughly. The description adds no additional parameter-level meaning beyond the implicit idea that pagination and filters may apply. 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?
The description states a clear verb ('Get'), a specific resource ('top pages'), and the ranking criterion ('ranked by visitor count'). This distinguishes it from sibling get_* tools that target other dimensions like browsers, countries, or channels.
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 gives useful context ('shows which pages get the most traffic') but does not explicitly say when to prefer this tool over siblings such as get_breakdown or get_overview. The intended use is implied rather than stated, with no exclusions or alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_realtimeGet Active Visitor CountARead-onlyInspect
Get the number of currently active visitors on the site (active within the last 5 minutes).
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Count of visitors active on the site within the last 5 minutes. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so no safety contradiction exists. The description adds meaningful context by defining 'active' as within the last 5 minutes, but it does not disclose response shape or any rate-limit behavior; given the read-only annotations, this is an acceptable but not rich 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?
A single well-structured sentence communicates the operation and the exact recency criterion. No filler or redundant restatement of the name or schema.
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 low-complexity read-only count tool with a complete input schema and an output schema present, the description supplies everything needed to understand what is being returned and how 'active' is defined. No critical context appears missing.
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 100%, with domain and websiteId already documented clearly. The description adds no additional parameter semantics; the baseline of 3 applies because the schema carries the full explanatory burden.
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 ('Get'), a clear resource ('number of currently active visitors'), and adds a precise definition of 'active' as within the last 5 minutes. It is easily distinguished from sibling analytics tools like get_timeseries or get_breakdown.
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 implies the appropriate use case: obtaining a real-time active-visitor count, with the 5-minute window clarifying the recency concept. However, it does not explicitly contrast this with alternatives such as get_timeseries or get_overview, so an agent must infer when this tool is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_realtime_mapGet Live Visitor MapARead-onlyInspect
Get currently active visitors with geographic location data for map visualization.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Currently active visitors with their geographic locations. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already communicate that the tool is read-only and non-destructive. The description adds that it targets currently active visitors with geographic data, but does not disclose behavioral details such as authentication context, rate limits, or response shape. This is acceptable given the readOnlyHint, though not especially rich.
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 front-loads the core action and purpose. There is no filler, repetition, or unusable detail.
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 low-complexity, read-only tool with a full output schema and well-described optional parameters, the description is nearly sufficient. It could mention alternate usage scenarios or clarify that the response is location data rather than a rendered map, but the output schema covers return details.
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 100%, and both domain and websiteId already have clear descriptions. The tool description itself adds no parameter semantics, so the baseline score 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 states a specific verb and resource: "Get currently active visitors with geographic location data." It also clarifies the intended use case, "for map visualization," which makes the tool's purpose unambiguous and distinct from unrelated sibling tools.
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 implies use when a live geographic visitor map is needed, but gives no explicit guidance about when to prefer this tool over alternatives or when not to use it. The schema covers parameter requirements, but the description itself lacks direct sibling differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_referrersGet Top ReferrersARead-onlyInspect
Get traffic sources — which websites and domains are sending visitors.
| Name | Required | Description | Default |
|---|---|---|---|
| endAt | No | ISO 8601 end date (e.g. "2026-01-31") | |
| limit | No | Max results (1-1000, default: 100) | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| offset | No | Pagination offset (default: 0) | |
| startAt | No | ISO 8601 start date (e.g. "2026-01-01") | |
| timezone | No | IANA timezone (e.g. "America/New_York"). Falls back to site default. | |
| filter_os | No | Filter by operating system | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| filter_ref | No | Filter by ref URL parameter | |
| filter_via | No | Filter by via URL parameter | |
| filter_city | No | Filter by city | |
| filter_goal | No | Filter by goal name | |
| filter_page | No | Filter by page path | |
| filter_device | No | Filter by device type: desktop, mobile, tablet | |
| filter_region | No | Filter by region | |
| filter_source | No | Filter by source URL parameter | |
| filter_browser | No | Filter by browser name | |
| filter_channel | No | Filter by marketing channel | |
| filter_country | No | Filter by country | |
| filter_hostname | No | Filter by hostname | |
| filter_referrer | No | Filter by referrer domain | |
| filter_utm_term | No | Filter by UTM term | |
| filter_entry_page | No | Filter by entry/landing page | |
| filter_utm_medium | No | Filter by UTM medium | |
| filter_utm_source | No | Filter by UTM source | |
| filter_utm_content | No | Filter by UTM content | |
| filter_utm_campaign | No | Filter by UTM campaign |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Referrer domains with visitor counts for the selected range and filters. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds a small interpretation of what a referrer is, but it does not add behavioral context such as ranking, grouping, or pagination behavior.
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?
A single front-loaded sentence with no filler; the explanatory clause adds meaning without redundant restatement.
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 a read-only referrer report with a rich schema and output schema; annotations cover safety and all parameters are documented. The description is compact but sufficient, though it could mention that results are ranked 'top' referrers.
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 100%, so all 27 parameters are fully documented in structured form. The description adds no parameter-level meaning, matching the baseline for high 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?
States a specific verb ('Get') and resource ('traffic sources') and clarifies that it means websites and domains sending visitors. This distinguishes it from sibling metrics like get_browsers or get_channels.
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 implies the tool is for referrer/traffic-source data, but it does not explicitly state when to prefer it over alternatives or mention exclusions. An agent can infer the use case from the name, but no direct routing guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_regionsGet Visitors by RegionBRead-onlyInspect
Get visitor breakdown by region/state.
| Name | Required | Description | Default |
|---|---|---|---|
| endAt | No | ISO 8601 end date (e.g. "2026-01-31") | |
| limit | No | Max results (1-1000, default: 100) | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| offset | No | Pagination offset (default: 0) | |
| startAt | No | ISO 8601 start date (e.g. "2026-01-01") | |
| timezone | No | IANA timezone (e.g. "America/New_York"). Falls back to site default. | |
| filter_os | No | Filter by operating system | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| filter_ref | No | Filter by ref URL parameter | |
| filter_via | No | Filter by via URL parameter | |
| filter_city | No | Filter by city | |
| filter_goal | No | Filter by goal name | |
| filter_page | No | Filter by page path | |
| filter_device | No | Filter by device type: desktop, mobile, tablet | |
| filter_region | No | Filter by region | |
| filter_source | No | Filter by source URL parameter | |
| filter_browser | No | Filter by browser name | |
| filter_channel | No | Filter by marketing channel | |
| filter_country | No | Filter by country | |
| filter_hostname | No | Filter by hostname | |
| filter_referrer | No | Filter by referrer domain | |
| filter_utm_term | No | Filter by UTM term | |
| filter_entry_page | No | Filter by entry/landing page | |
| filter_utm_medium | No | Filter by UTM medium | |
| filter_utm_source | No | Filter by UTM source | |
| filter_utm_content | No | Filter by UTM content | |
| filter_utm_campaign | No | Filter by UTM campaign |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Regions/states with visitor counts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that the result is a 'breakdown' by region/state, implying aggregated visitor data, but it does not disclose details like date-range behavior, sorting, or aggregation semantics.
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, direct sentence with no wasted words. It is front-loaded with the core action and resource, though it is terse enough that it misses opportunities to add useful routing or behavioral context.
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 output schema, annotations, and highly descriptive parameter schema cover much of the operational detail. Still, the description is thin for a tool amid many similar geographic breakdown siblings, and it lacks guidance on when to use get_regions vs get_countries or get_cities.
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 100%, so every parameter is already documented in the schema. The description adds no additional meaning to parameters such as startAt, endAt, filters, or pagination fields, so it does not exceed the schema baseline.
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 states a specific verb and resource: 'Get visitor breakdown by region/state.' It clearly conveys that the tool returns visitors grouped by region or state, and the title reinforces this. However, it does not explicitly distinguish itself from sibling tools like get_countries or get_cities.
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 no guidance on when to choose this tool over alternatives. It does not mention get_countries, get_cities, or get_breakdown, nor does it state any exclusions or conditions. The intended use is only implied by the name and one-line description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_timeseriesGet Analytics Time SeriesARead-onlyInspect
Get time series analytics data grouped by hour, day, week, or month. Returns timestamped data points with totals. Use for trend analysis and charting.
| Name | Required | Description | Default |
|---|---|---|---|
| endAt | No | ISO 8601 end date (e.g. "2026-01-31") | |
| limit | No | Max results (1-1000, default: 100) | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| fields | No | Comma-separated metrics: visitors, sessions, revenue, conversion_rate, name | |
| offset | No | Pagination offset (default: 0) | |
| startAt | No | ISO 8601 start date (e.g. "2026-01-01") | |
| interval | No | Aggregation interval: hour, day, week, month (default: day) | |
| timezone | No | IANA timezone (e.g. "America/New_York"). Falls back to site default. | |
| filter_os | No | Filter by operating system | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| filter_ref | No | Filter by ref URL parameter | |
| filter_via | No | Filter by via URL parameter | |
| filter_city | No | Filter by city | |
| filter_goal | No | Filter by goal name | |
| filter_page | No | Filter by page path | |
| filter_device | No | Filter by device type: desktop, mobile, tablet | |
| filter_region | No | Filter by region | |
| filter_source | No | Filter by source URL parameter | |
| filter_browser | No | Filter by browser name | |
| filter_channel | No | Filter by marketing channel | |
| filter_country | No | Filter by country | |
| filter_hostname | No | Filter by hostname | |
| filter_referrer | No | Filter by referrer domain | |
| filter_utm_term | No | Filter by UTM term | |
| filter_entry_page | No | Filter by entry/landing page | |
| filter_utm_medium | No | Filter by UTM medium | |
| filter_utm_source | No | Filter by UTM source | |
| filter_utm_content | No | Filter by UTM content | |
| filter_utm_campaign | No | Filter by UTM campaign |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Timestamped data points for the chosen interval with the requested metrics and totals. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds 'Returns timestamped data points with totals,' but this return behavior is largely already provided by the output schema. No additional behavioral context is given about pagination, auth token/domain requirements, or other edge cases beyond what the schema already exposes.
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 with no filler. It front-loads the core purpose, states the return shape, and ends with a clear use case. Every sentence 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?
Given the rich structured context—100% schema description coverage for all 29 parameters, a read-only annotation, non-destructive annotation, and an output schema—the description needs only to orient the agent toward purpose and typical use. It does that clearly. Nothing necessary for correct invocking is missing when the schema and annotations are considered alongside it.
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 100%, so the baseline is 3. The description's grouping mention maps loosely to the 'interval' parameter but adds no meaning beyond the schema's interval enum and description. It does not compensate for or enrich the parameter semantics beyond what the input schema already provides.
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 a specific verb and resource: 'Get time series analytics data grouped by hour, day, week, or month.' This distinguishes it from sibling analytics tools like get_breakdown or get_overview by emphasizing time-series grouping and timestamped data points. It does not explicitly name an alternative tool, so it falls short of a 5.
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 usage context: 'Use for trend analysis and charting.' This tells the agent when the tool is appropriate. However, it does not give explicit when-not-to-use guidance or name a sibling tool as the alternative, so it does not reach a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_visitorGet Visitor ProfileARead-onlyInspect
Get full visitor profile — identity (geo, device, browser, OS), traffic source, activity (visits, pages, goals), revenue (total, customer flag, time to first conversion), identified profile (userId, name, email), and a merged activity timeline. The visitor ID comes from the _fs_vid browser cookie.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| visitorId | Yes | Visitor ID (from _fs_vid cookie) | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Visitor profile with identity, traffic source, activity, revenue, identified profile fields, and an activity timeline. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds the context that the visitor ID comes from the _fs_vid cookie and that the result includes a merged activity timeline, but it does not go beyond that to cover auth requirements, failure behavior, or other operational traits.
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 carry substantial information without waste. The first sentence front-loads the complete list of profile components, and the second sentence states the required input source. Every clause contributes 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?
With a read-only annotation, an existing output schema, and full parameter documentation, the description is sufficient for an agent to select and call the tool correctly. It explains the key prerequisite (the cookie-derived visitor ID) and clearly conveys the tool's scope without needing to restate return format or schema details.
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 100%, so all three parameters are already documented in the input schema. The description repeats the cookie-source detail for visitorId but adds no new parameter-level meaning beyond what the schema provides.
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 'Get' with a clear resource ('full visitor profile') and enumerates the profile contents: identity, traffic source, activity, revenue, identified profile, and merged timeline. This distinguishes it from sibling analytics tools that focus on a single dimension such as get_browers or get_goals.
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 clearly establishes when to use the tool: when a caller has a visitor ID and needs the complete cross-dimension profile of one visitor. It does not explicitly name alternatives or when-not conditions, but the context and title make the intended use obvious relative to the sibling analytics tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_issuesList Detected IssuesARead-onlyInspect
List issues the AI found while analyzing session recordings — bugs, broken flows, and UX problems, deduplicated across sessions and ranked by severity. Each issue includes how many sessions hit it, first/last seen times, and steps to replicate. Also returns open/in-progress/resolved counts.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Order by severity (default) or recency (last seen) | |
| limit | No | Max results | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| offset | No | Pagination offset | |
| search | No | Match against issue title and description | |
| status | No | Filter by status. Default excludes suspended issues | |
| severity | No | Filter by severity | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Issues with severity, status, sessions affected, first/last seen, plus open/in-progress/resolved counts and pagination. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context beyond that: issues are deduplicated across sessions, ranked by severity, include session hit counts and first/last seen times, and callers also receive open/in-progress/resolved counts. This meaningfully clarifies the tool's behavior.
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 with no filler. It front-loads the core action and resource, then efficiently adds the most important behavioral details and return-value highlights. Every sentence 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?
With an output schema present, all 8 optional parameters fully documented in the schema, and a description covering the conceptual output and deduplication behavior, the tool description is sufficiently complete for an agent to invoke it correctly. No critical information is missing.
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 100%, so every parameter is already documented in the input schema. The description mentions severity ranking and deduplication, which indirectly connects to the sort and severity parameters, but it does not add parameter-specific semantics beyond what the schema provides. 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?
The description states a specific verb and resource ('List issues the AI found while analyzing session recordings') and differentiates the tool from siblings like get_issue and update_issue_status by describing the collection-level, deduplicated, severity-ranked nature of the output. This makes it unambiguous what the tool does and how it differs from nearby tools.
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 clearly implies this is the tool to use when you need to browse or query detected issues, including aggregate counts and per-issue impact. It does not explicitly name alternatives like get_issue for single-issue detail or update_issue_status for status changes, so it lacks explicit exclusions, but the context is clear enough for an agent to select it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_websitesList WebsitesARead-onlyInspect
List websites accessible by the current API token. Workspace tokens return every website in the workspace; website keys return only their website. Call this first when using a workspace token.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | List of websites the token can access, with identifiers and domains for use in other tools. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only and non-destructive. The description adds meaningful behavioral detail beyond that by explaining how the result set changes depending on token type, which is important for the agent to interpret the response correctly. No contradictions with 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?
Three short sentences, each carrying useful information: the action, the token-scoped behavior, and a recommended invocation order. No filler 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 zero-parameter read-only discovery tool with an output schema, the description is complete. It explains the auth context, the scope difference between token types, and when to call it first. No further context is needed to invoke it 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?
The tool has zero parameters, so the baseline is 4. The description compensates by clarifying what the result list will contain based on the token type, which is the only semantic information an agent needs beyond the empty 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?
The description uses a specific verb and resource: it lists websites accessible by the current API token. It also distinguishes the two token types and their different scopes, making the tool's purpose unambiguous and distinct from sibling tools like get_overview or get_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?
The description gives clear context on when to call the tool: 'Call this first when using a workspace token.' It explains the difference between workspace and website tokens, though it does not explicitly name alternatives or state when not to use it. Since no sibling tool overlaps with this listing function, 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.
track_goalTrack Goal EventAInspect
Track a custom goal/event for a visitor. The visitor must have at least one recorded pageview. Goal names must be lowercase with only letters, numbers, underscores, and hyphens (max 64 chars).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Goal name — lowercase letters, numbers, underscores, hyphens only (max 64 chars). E.g. "newsletter_signup", "add-to-cart" | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| metadata | No | Up to 10 custom key-value pairs. Keys: lowercase, max 64 chars. Values: max 255 chars. | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| visitorUid | No | Visitor UID from the _fs_vid browser cookie |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Confirmation of the recorded goal event. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate readOnlyHint=false and destructiveHint=false, so the write behavior is implied. The description adds useful context beyond annotations via the pageview prerequisite and goal-name validation rules, but it does not disclose failure behavior, side effects beyond recording, or conditions like idempotency.
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 no filler. The first sentence states the core purpose, and the second adds the prerequisite and validation rule, both of which are operationally useful.
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 tool with a rich schema and output schema, the description covers the essential purpose, prerequisite, and naming constraints. It does not explicitly route between track_goal and track_payment or describe error behavior, but the schema and annotations cover the remaining details.
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 already provides full 100% coverage for all five parameters, including the name pattern and domain/websiteId relationship. The description adds marginal value by reinforcing the name rule and visitor prerequisite, but it does not materially expand parameter semantics beyond the 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?
The description clearly states the action ('Track') and the resource ('a custom goal/event for a visitor'), which is distinct from the get_* read tools and delete_goals. However, it does not explicitly distinguish itself from track_payment, so it falls short of full sibling differentiation.
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 gives a clear usage context: track a custom goal/event, with a prerequisite that the visitor has at least one recorded pageview. It does not explicit state when not use this tool or name alternatives such as track_payment, so it is clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
track_paymentTrack PaymentAInspect
Record a payment for revenue attribution. If you use Stripe, LemonSqueezy, or Polar, payments are tracked automatically — only use this for other providers.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Customer name | |
| No | Customer email | ||
| amount | Yes | Payment amount (e.g. 29.99) | |
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| currency | Yes | Currency code (e.g. "USD", "EUR") | |
| isRefund | No | True for refunded payments | |
| isRenewal | No | True for recurring/renewal payments | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. | |
| customerId | No | Customer ID from payment provider | |
| sessionUid | No | Session ID for the current visitor session | |
| visitorUid | No | Visitor UID from _fs_vid cookie — strongly recommended for accurate revenue attribution | |
| transactionId | Yes | Unique transaction ID from your payment provider |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | Confirmation of the recorded payment. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is not read-only, so the write behavior is expected. The description adds useful context that it affects revenue attribution and warns against duplicate manual tracking for supported providers. However, it does not mention idempotency, duplicate-transaction handling, or other side effects.
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 short, front-loaded sentences. The first states the core purpose, and the second adds the critical exclusion. Every sentence earns its place with no filler.
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 12-parameter write tool, the description plus fully documented schema is sufficient for an agent to select and invoke it. It could have added a sentence about duplicate prevention or the meaning of the response, but the output schema exists and the parameter documentation is comprehensive.
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 100% description coverage for all 12 parameters, so the baseline is 3. The description does not add field-level semantics beyond saying payments are recorded for revenue attribution.
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 and resource ('Record a payment') and adds the business purpose 'for revenue attribution.' It is likely distinguishable from siblings like delete_payments and track_goal by name, but it does not explicitly name or contrast a sibling tool.
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 when-to-use and when-not-to-use guidance: Stripe, LemonSqueezy, and Polar are automatically tracked, so this tool should only be used for other providers. This leaves no ambiguity about when the agent should call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_issue_statusUpdate Issue StatusAInspect
Update an issue's status: open, in_progress, resolved, or suspended. Suspended issues disappear from the default list. Reversible — set any status back at any time.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Website domain to query. Required when using a workspace token unless websiteId is provided. | |
| status | Yes | New status | |
| issueId | Yes | Issue ID from list_issues | |
| websiteId | No | Website ID to query. Required when using a workspace token unless domain is provided. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | No | The updated issue with its new status. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only indicate it is a write operation and not destructive. The description adds important non-obvious behavior: suspended issues disappear from the default list, and all changes are reversible. This is valuable context beyond the structured 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 with no filler. The action and status values are front-loaded, followed by the consequential behavior and reversibility note. Every sentence 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?
The operation, status values, side effects, and reversibility are covered, and the schema documents all parameter details while an output schema exists. It lacks only explicit usage alternatives or prerequisites, which are minor for this simple mutation 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?
The input schema covers 100% of parameters with descriptions, so the baseline is 3. The description repeats the status enum values but adds no additional meaning about issueId, domain, or websiteId.
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?
States a specific verb and resource, 'Update an issue's status', and enumerates the exact accepted statuses: open, in_progress, resolved, suspended. It clearly stands apart from sibling tools, none of which update issues.
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 implies usage through the verb and status list, but does not name alternatives or explicitly state when to use this tool versus another. The reversibility note hints it can undo prior status changes, but there is no when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
27 tool updates
- First observed
delete_goals - First observed
delete_payments - First observed
get_breakdown - First observed
get_browsers - First observed
get_campaigns - First observed
get_channels - First observed
get_cities - First observed
get_countries - First observed
get_devices - First observed
get_goals - First observed
get_hostnames - First observed
get_issue - First observed
get_metadata - First observed
get_operating_systems - First observed
get_overview - First observed
get_pages - First observed
get_realtime - First observed
get_realtime_map - First observed
get_referrers - First observed
get_regions - First observed
get_timeseries - First observed
get_visitor - First observed
list_issues - First observed
list_websites - First observed
track_goal - First observed
track_payment - First observed
update_issue_status
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
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
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
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 Connectors
Real-time web analytics for AI agents: query traffic, funnels, revenue, and manage your sites.
Privacy-first web analytics. Query pageviews, referrers, trends, and AI insights.
Privacy-first, cookieless web analytics: traffic, sources, pages, goals, funnels and site setup.
1Agent analytics: which AI agents read your site, drove signups, and pick you over competitors.
Related MCP Servers
- AlicenseAqualityCmaintenancePrivacy friendly, cookieless web analytics built MCP-first. "Add analytics to my Next.js app" → an AI agent runs the setup_analytics_for_site tool, picks the right install snippet, edits your layout file, and verifies the script is loading. OAuth onboarding, no API keys to paste.28411MIT
- AlicenseAqualityDmaintenanceFirst-party web analytics MCP server for AI agents, providing 42 tools to query traffic, events, funnels, conversions, sources, and performance data.4069MIT
- AlicenseAqualityDmaintenanceEnables AI agents to access website analytics, including visitor sessions, UX friction, conversion funnels, and anomaly alerts.6MIT
- AlicenseNot gradedqualityBmaintenanceReal-time e-commerce analytics: visitors, Shopify/Stripe revenue attribution, funnels, and a live visitor feed. Agents can self-register a website with one no-auth POST and get a site-scoped read-only MCP token back.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool serves a distinct purpose: get_* tools cover different analytics dimensions (browsers, cities, countries, etc.) with clear scopes, while issue management and tracking tools are clearly separated. Even get_breakdown is explicitly scoped to dimensions without dedicated endpoints, avoiding overlap.
All tools follow a consistent verb_noun pattern with snake_case (delete_goals, get_overview, track_goal, update_issue_status). Verbs are specific and predictable (get, delete, track, list, update), and there are no naming style mixes.
At 27 tools, the set exceeds the 25-tool threshold considered 'too many.' While the domain is broad (analytics, tracking, issues), many get_* tools could be consolidated into get_breakdown with filter parameters, making the count feel inflated rather than necessarily well-scoped.
The tool surface covers the full analytics lifecycle: overview, time series, breakdowns, real-time data, visitor profiles, goal/payment tracking and deletion, plus AI issue listing/detail/status updates. Minor gaps exist (e.g., no update for goals/payments, no explicit list of defined goals), but these are non-critical and don't impair typical workflows.