Skip to main content
Glama
CFP-102

cfp-seo-agent

retry_request

Re-run a failed paid API call once at no extra charge if the provider fails after payment settles; use the request_id and result_token from the error response.

Instructions

FREE. If a PAID call failed at the data provider after payment was settled, re-run it once at no extra charge using request_id and result_token from the error response.

Input Schema

NameRequiredDescriptionDefault
request_idYesThe request_id from the error response of the failed paid call.
result_tokenYesThe result_token returned with that error response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.2
    • addedInput schema / properties / request_id / description
      Added value: +"The request_id from the error response of the failed paid call."
    • addedInput schema / properties / result_token / description
      Added value: +"The result_token returned with that error response."
  2. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already state readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true; the description adds value the annotations can't: the call is free, no second charge accrues, and the retry is permitted exactly once. It is consistent with non-idempotent/non-destructive annotations. Missing is the outcome of a failed retry or whether a fresh request_id is issued.

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?

One sentence, front-loaded with the cost signal 'FREE.' and then the trigger and inputs. Nothing is redundant or filler.

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?

For a two-parameter, no-output-schema recovery tool, the description covers the trigger, the cost, the inputs' origin, and the one-retry limit. The remaining gap is failure handling and any validity window on the token, minor for this tool's complexity.

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% and both properties already document that the values come from the error response, so the description merely restates that same fact. No additional syntax, format, or lifespan detail for request_id/result_token is provided; baseline 3 applies.

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?

Clear verb+resource: re-run a previously paid call that failed at the provider, with the precise condition (payment already settled) and cost (free). It is distinguishable from ordinary data tools, though it never names the closest sibling (get_result) or any alternative path, which keeps it 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.

Usage Guidelines4/5

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

Gives a concrete trigger — use only when a PAID call failed at the data provider after settlement — which implicitly excludes free-call failures and pre-payment failures, and 'once' caps retries. It does not say what to do if the retry also fails, so no fallback path is offered.

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