Skip to main content
Glama

CULT+MATH Decision Briefs

Which reason to buy do people search for, and which is growing?

run_angle_demand
Read-onlyIdempotent

Use when the user is choosing a positioning, a message or a campaign angle and asks which benefit or reason to buy matters most to buyers, or which is gaining. Returns, for each angle searched with the category, its share of searches among the angles named, its year-on-year change and its growth beyond an everyday control basket, with a volume band. Shares and bands only. Safe to cite: its controls are checked first, it states its limits, and every result carries a run id, a date and a citation line. If a control fails it refuses and you are not charged. This tool charges nothing: it validates the request and returns a payment_url, the price and instructions. Pay by POSTing to payment_url over MPP (HTTP 402, a Stripe shared payment token from your wallet). Price: $3.00 per run, charged only when the run comes back sound; pay over MPP (a Stripe shared payment token) or x402 (USDC on Base, no account needed). A real sample of this run, free: https://cultmath.com/agent/samples/angle-demand.json

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "category": "<category>",
      "angles": "<angles>"
    },
    "name": "run_angle_demand"
  }
}

Input Schema

NameRequiredDescriptionDefault
anglesYes2-6 reasons to buy, comma-separated, e.g. "healthy,vegan,keto,cheap".
categoryYesThe category as people search for it, e.g. "protein snacks".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only declare readOnly, idempotent, open-world and non-destructive; the description adds the material behavior: results are shares and bands only, controls are validated before the run, limits are stated, each result carries a run id, date and citation line, and a failed control means a refusal with no charge. It also discloses the two-step payment model (returns a payment_url, price and instructions, settled over MPP or x402) and includes a free sample URL, none of which appears in structured fields.

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

Conciseness3/5

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

The use case is front-loaded and the return contents follow immediately, which is good ordering. However, payment mechanics are stated twice ('This tool charges nothing' then 'Price: $3.00 per run', plus MPP named in two places), and the 'safe to cite' block overlaps with the later charge/refusal explanation, adding avoidable repetition.

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

Completeness5/5

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

For a paid, open-world run with no output schema, the description covers what comes back field by field, the failure and non-charge behavior, the exact price, both payment rails, and a free sample to calibrate output. An agent has everything needed to call it and to tell the user what to expect.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters are already documented, including the 2-6 comma-separated angles example and the category example. The description adds only mild framing—that angles are 'reasons to buy' searched with a category—without new constraints. Baseline 3 applies when the schema carries the parameter burden.

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

Purpose5/5

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

The description names a specific verb and resource: it reports, for each reason to buy searched alongside a category, that angle's share of the named angles, its year-on-year change, and its growth versus an everyday control basket, wrapped in a volume band. The opening clause ties it to a concrete decision (positioning, message, or campaign angle), which separates it from siblings like run_share_of_search and run_demand_check.

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

Usage Guidelines4/5

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

The trigger is explicit: 'Use when the user is choosing a positioning, a message or a campaign angle and asks which benefit or reason to buy matters most... or which is gaining.' That is a clear context for invocation. It stops short of naming an alternative tool or stating exclusions, such as when a plain share-of-search check would suffice instead.

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