Skip to main content
Glama

Measure results

measure
Idempotent

Prove and measure with numbers from the user's Search Console, GA4, Ahrefs or Semrush, including numbers the user pastes. Use it instead of calculating by hand: it handles spelling variants, control groups and trends. Pick with mode: impact = Before and after fixes, against pages you did not touch. Needs pages[{url, before, after, changed, fix}]. ai_citations = AI citations before and after, per engine. Needs pages[{url, before, after, changed}]. ai_referrals = Visits from ChatGPT, Perplexity, Gemini and other assistants, from GA4. Needs rows[{source, sessions, landing_page, period, conversions, revenue}]. brand_split = Brand versus non-brand clicks and how each moved. Needs brand_terms, rows[{query, keyword, clicks, traffic, impressions, position}]. share_of_voice = Share of the clicks against competitors from rank rows. Needs your_domain, rows[{keyword, position, volume, domain, url, group}].

Input Schema

NameRequiredDescriptionDefault
daysNoLength of each period in days.
modeNoDefault impact.
rowsNo
pagesNo
detailNobrief = short summary.
sourceNoWhere the counts come from, for example Ahrefs Brand Radar.
fix_dateNoDate the fixes went live, YYYY-MM-DD.
watch_idsNoOptional watch ids, to list what changed on each page and when.
fix_log_idNoOptional fix log from log_fix: takes the fix date from it and saves the result per fix, with a rollback plan for fixes that did worse.
memory_keyNosite_memory key, records this call.
brand_termsNoBrand and product names, and misspellings.
rows_beforeNoOptional same rows from an earlier period.
your_domainNoYour domain, e.g. example.com.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedOutput schema / description
      Removed value: -"The result as structured data; fields depend on mode."
  2. Changed2 schema fields changed
    • changedInput schema / properties / detail / description
      Previous value: -"brief returns a short summary, default full."New value: +"brief = short summary."
    • changedInput schema / properties / memory_key / description
      Previous value: -"Optional site_memory key, to record this call in the site memory."New value: +"site_memory key, records this call."
  3. Changed1 schema field changed
    • addedInput schema / properties / detail
      Added value: +{
      +  "description": "brief returns a short summary, default full.",
      +  "enum": [
      +    "full",
      +    "brief"
      +  ],
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / memory_key
      Added value: +{
      +  "description": "Optional site_memory key, to record this call in the site memory.",
      +  "maxLength": 80,
      +  "type": "string"
      +}
  5. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=false, idempotent=true, destructive=false), and the description adds real behavioral context beyond them: fix_log_id saves results per fix and produces a rollback plan for fixes that did worse, and memory_key records the call into site_memory. It does not discuss rate limits or failure behavior, but the mutation/persistence semantics are disclosed.

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

Conciseness4/5

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

Front-loaded with purpose and the mode-selection rationale, then compressed into a dense mode-by-mode input list. Every clause carries information, though the packed enumeration reads as terse rather than ideally structured prose.

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

Completeness4/5

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

With 13 parameters, five modes, 85% schema coverage, an output schema, and annotations, the description supplies the mode-to-input mapping and persistence semantics an agent needs to invoke it correctly. Minor gaps remain around default behavior for unlisted optional parameters.

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

Parameters4/5

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

Schema coverage is 85% (baseline 3), and the description goes further by spelling out the concrete field sets required per mode — e.g. pages[{url, before, after, changed, fix}] for impact and rows[{source, sessions, landing_page, period, conversions, revenue}] for ai_referrals. This meaningfully compensates for the untyped nested object arrays the schema leaves bare.

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

Purpose5/5

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

Opens with a specific verb and scope: prove and measure numbers from named sources (Search Console, GA4, Ahrefs, Semrush) plus pasted data. It distinguishes itself from calculation-by-hand and from sibling analytics tools by enumerating the five modes it produces, so an agent can tell what it does without opening the schema.

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

Usage Guidelines4/5

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

Explicitly routes usage ('Use it instead of calculating by hand') and gives per-mode selection guidance with the required input shape for each mode. It does not name a sibling tool to prefer or state when not to use it, so it falls short of full when/when-not/alternative coverage.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.