Skip to main content
Glama

Get angle gap

get_angle_gap
Read-only

Which claims the tracked competitors lead with compared with the business's own active ads, as counts of ads (never spend): their ads shown in the last days days against the business's ads active now. coverage says how many of the business's active ads are confirmed (stamped), read (a provisional reading of the copy) or unknown. The verdict names the angle most competitors lead with that none of the business's known ads argue; it is null when withheld says the comparison cannot be made yet (own_ads_unread: call get_own_ad_reading and offer to confirm it; too_few_competitors: fewer than two competitors have classified ads; no_active_ads). When verdict.basis is mixed, say 'as far as we can read them'. Scoped to the active Space — see set_active_space to switch, or pass space_id to override for this one call.

Input Schema

NameRequiredDescriptionDefault
daysNoLook-back window for their ads, in days. Default 30.
space_idNoOverride the active Space for this one call. Defaults to the active Space set via set_active_space (or GROWOMAT_SPACE_ID on the server). Pass to read/write a different Space without changing the session binding.
business_idYesThe business id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / days / description
      Previous value: -"Look-back window in days. Default 90."New value: +"Look-back window for their ads, in days. Default 30."
  2. Added

TDQS

A4.3/5.0
Behavior5/5

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

readOnlyHint already covers safety, yet the description adds substantial behavior: metrics are ad counts 'never spend', the two sides of the comparison use asymmetric windows (their last `days` vs. own ads active now), coverage has three states (stamped/read/unknown), and verdict.basis=mixed requires a hedging phrase in the reply. That is exactly the extra context annotations cannot carry.

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?

The core comparison is front-loaded in sentence one and every subsequent sentence carries information an agent needs (coverage states, null causes, phrasing rule, scope). The third sentence is overloaded with nested parentheticals and could be split, costing it the top mark.

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

Completeness5/5

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

With no output schema, the description takes on the burden of explaining returns and does so: it defines the coverage field, the verdict field, its null/withheld semantics, and verdict.basis. Combined with the Space scoping note and remediation path, an agent has everything needed to call and interpret this tool.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description earns above that by clarifying that `days` applies only to competitor ads while the business's side is 'active now', a semantic asymmetry the schema does not spell out. space_id is only restated in general terms (override for one call), which the schema already says.

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

Purpose4/5

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

The description states a specific comparison: competitor ad angles vs. the business's own active ads, explicitly in ad counts and not spend. The verb+resource are clear, though the opening sentence is convoluted ('Which claims the tracked competitors lead with compared with...'), and it never names a sibling such as get_angle_readout or get_competitor_coverage as the alternative, so differentiation has to be inferred.

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?

It gives concrete branching guidance: when verdict is null, the withheld reason tells the agent what to do (own_ads_unread → call get_own_ad_reading and offer to confirm it), and it enumerates the other withholding causes. It also covers the Space-scoping decision (use active Space vs. pass space_id). What's missing is any statement of when to reach for this tool versus adjacent analysis tools.

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.

Resources