Skip to main content
Glama

affterms — affiliate program terms

Prepare a featured card

featured_prepare_card
Read-onlyIdempotent

Prepare a featured placement for a company's own affiliate program. Give the program's page; returns whether the program is listed (and in which category: featuring is only in that one), the likeliest category from the company's website if it is not listed (pass category to choose another), a draft card from the company's website (name up to 32 characters, one line up to 90, no figures and no web addresses), and a link where the person checks it and pays. Nothing is booked or charged until they pay there. Never pay, and never enter payment details: pass the link to the person.

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": {
      "program_url": "<program_url>"
    },
    "name": "featured_prepare_card"
  }
}

Input Schema

NameRequiredDescriptionDefault
planNo7d: 7 days for $27, 30d: 30 days for $72.
categoryNoA category, e.g. "seo" or "hosting".
program_urlYesThe company's own affiliate, referral or partner program page.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / category / enum
      Previous value: -[
      -  "hosting",
      -  "email",
      -  "no-code",
      -  "analytics",
      -  "payments",
      -  "design",
      -  "productivity",
      -  "seo",
      -  "devtools",
      -  "cms",
      -  "learning",
      -  "ecommerce",
      -  "shopping",
      -  "crm",
      -  "support",
      -  "hr"
      -]New value: +[
      +  "hosting",
      +  "email",
      +  "no-code",
      +  "analytics",
      +  "payments",
      +  "design",
      +  "video-audio",
      +  "productivity",
      +  "ai-writing",
      +  "seo",
      +  "devtools",
      +  "proxies",
      +  "cms",
      +  "learning",
      +  "ecommerce",
      +  "shopping",
      +  "crm",
      +  "support",
      +  "hr"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / category / enum
      Previous value: -[
      -  "hosting",
      -  "email",
      -  "no-code",
      -  "analytics",
      -  "payments",
      -  "design",
      -  "productivity",
      -  "seo",
      -  "devtools",
      -  "cms",
      -  "learning",
      -  "ecommerce",
      -  "crm",
      -  "support",
      -  "hr"
      -]New value: +[
      +  "hosting",
      +  "email",
      +  "no-code",
      +  "analytics",
      +  "payments",
      +  "design",
      +  "productivity",
      +  "seo",
      +  "devtools",
      +  "cms",
      +  "learning",
      +  "ecommerce",
      +  "shopping",
      +  "crm",
      +  "support",
      +  "hr"
      +]
  3. Added

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses the critical behavioral fact that nothing is booked or charged until payment happens at the returned link, which explains why a preparation step is safe to repeat. It also bounds the agent's actions with "Never pay, and never enter payment details: pass the link to the person," adding a responsibility constraint the annotations cannot convey. This is consistent with readOnlyHint=true and destructiveHint=false.

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 description is front-loaded with the purpose and then enumerates outputs in a single dense sentence; no sentence is filler. It loses a point for the run-on parenthetical about draft card limits, which is harder to scan than a short list would be.

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?

There is no output schema, yet the description fully characterizes the return payload: listing status and its category, the inferred category fallback, the draft card with its character/format limits, and the payment link. Combined with the explicit no-charge behavior, an agent has everything needed to call it and act on the result.

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 adds real meaning: category is the override used specifically when the program is not already listed, and it clarifies why plan matters by tying it to payment at the link. It does not restate the enum values or pricing, appropriately leaving those to the schema.

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 opens with a specific verb and resource: "Prepare a featured placement for a company's own affiliate program," and then enumerates what the call produces (listing status, suggested category, draft card, payment link). That makes the tool's role as a pre-payment drafting step unmistakable, even though no sibling tool is named explicitly to contrast against featured_availability or featured_check_booking.

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 states the required input ("Give the program's page") and gives a conditional workflow rule: if the program is not listed, pass category to choose another. It also directs the agent to hand the payment link to the person rather than paying. What's missing is explicit routing against siblings such as featured_check_booking or featured_availability, so the agent must infer when the workflow advances.

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