Skip to main content
Glama

Accept the MCP pricing terms

accept_pricing_terms
Idempotent

Records the account's one-time consent to the current Spytrend MCP pricing (search price × number of filters, ×1 after 500 MCP credits a month). Paid tools refuse with pricing_consent_required until it is given. Call WITHOUT confirm to get the terms text and status; show the terms to the user and call with confirm=true and terms_version ONLY after the user explicitly agrees — never accept on the user's behalf. FREE — does not consume quota.

Input Schema

NameRequiredDescriptionDefault
confirmNotrue ONLY after the user explicitly agreed to the terms shown to them; omitted/false returns the terms and the consent status without recording anything
terms_versionNorequired with confirm=true: the terms version the user agreed to (from the terms text or get_usage.pricing.terms_version)

Output Schema

NameRequiredDescriptionDefault
errorNoPresent only when isError is true: machine-readable failure. The human explanation stays in content.
termsNo
paramsNoRequest parameter echo: applied = parameters that shaped this result; normalized = parameters rewritten before applying (alias, type coercion, resolved id); ignored = parameters that were accepted but NOT applied, with the reason.
acceptedNo
terms_urlNo
accepted_atNo
addon_hintsNoAdd-on modules that have additional data for objects of this result (no prices, no paid values). subscription_status=active: the account has the module — use its normal path. Do not push a purchase the user did not ask about.
terms_versionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / addon_hints
      Added value: +{
      +  "description": "Add-on modules that have additional data for objects of this result (no prices, no paid values). subscription_status=active: the account has the module — use its normal path. Do not push a purchase the user did not ask about.",
      +  "items": {
      +    "properties": {
      +      "available_data_types": {
      +        "description": "kinds of data the module confirmedly has for the object",
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "info_url": {
      +        "description": "the object (or its limited breakdown) inside the module on spytrend.com",
      +        "type": "string"
      +      },
      +      "module": {
      +        "description": "nutra | crypto | web2app | search_arb | startups",
      +        "type": "string"
      +      },
      +      "object_id": {
      +        "description": "the ad id, or the site domain for site rows",
      +        "type": "string"
      +      },
      +      "preland_downloadable": {
      +        "description": "Nutra / Crypto: the saved pre-lander can be downloaded in the module",
      +        "type": "boolean"
      +      },
      +      "subscription_status": {
      +        "description": "active | not_connected",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  2. Added

TDQS

A4.9/5.0
Behavior5/5

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

Annotations cover safety (idempotent, non-destructive, closed-world), and the description adds real context beyond them: the consent gate that blocks paid tools, the free/no-quota cost profile, and the no-argument mode that returns terms without recording anything. This is the kind of state-transition detail annotations cannot express.

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

Conciseness5/5

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

Front-loads the effect and the safety-critical instruction in four tight sentences; the parenthetical pricing formula is the only dense piece and it is relevant to informed consent. Nothing is redundant.

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?

Output schema exists, so return-value explanation is unnecessary; the description nonetheless covers both invocation modes, the prerequisite it unlocks, and the cost profile. An agent has everything needed to sequence the call correctly.

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 baseline would be 3, but the description reinforces the semantic distinction between the two modes (without confirm = read terms; with confirm = record) and ties terms_version to its source. It adds workflow meaning rather than restating types.

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?

States a specific verb+resource ('Records the account's one-time consent to ... pricing') and frames the consent-gating role that no sibling tool shares. An agent can identify this as the prerequisite step for paid tools without opening any schema.

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

Usage Guidelines5/5

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

Explicit two-step workflow: call without confirm to retrieve terms and status, then call with confirm=true and terms_version only after explicit user agreement. It also names the behavioral consequence (paid tools refuse with pricing_consent_required) and an explicit prohibition ('never accept on the user's behalf').

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.