Skip to main content
Glama

Rewardful MCP by usefulapi

Create an affiliate coupon

rewardful_create_affiliate_coupon
Destructive

Assign a coupon / promotion code to an affiliate so sales using it are credited to them. The code must match one defined in Stripe, and the affiliate's campaign must have a campaign coupon set in the dashboard. Rewardful: POST /v1/affiliate_coupons.

Input Schema

NameRequiredDescriptionDefault
tokenYesThe exact coupon / promotion code as defined in Stripe, e.g. MYCODE.
affiliate_idYesThe affiliate's id (UUID).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observed

TDQS

A3.8/5.0
Behavior3/5

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

With only destructiveHint=true declared, the description adds setup context (Stripe-side code existence, dashboard campaign coupon requirement) but never says what this assignment destroys or overwrites — e.g. whether an existing coupon mapping is replaced, or what errors surface on a mismatch. Adequate but leaves the mutation's blast radius unclear.

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?

Two tight sentences front-loading the action and effect, followed by prerequisites, then the endpoint. Nothing is padded and no sentence is wasted.

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?

Covers action, effect, prerequisites, and the underlying endpoint for a two-parameter mutation with full schema coverage and no output schema. The one gap is conflict/overwrite behavior for a tool annotated destructive, which an agent would want to know before calling.

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 description coverage is 100%, so both parameters are already documented; the description's statement that the code must match Stripe is essentially a restatement of the schema's 'as defined in Stripe' note. Baseline 3 applies since the schema carries the semantics.

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?

States a specific verb and resource ('Assign a coupon / promotion code to an affiliate') plus the effect (sales credited to them), which is more than a restatement of the name. It implicitly separates itself from rewardful_create_affiliate_link, but never names or contrasts a sibling explicitly.

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 two concrete preconditions for use: the code must already exist in Stripe and the affiliate's campaign must have a campaign coupon configured in the dashboard. That is real when-to-use context, though it offers no explicit guidance on when to prefer this over create_affiliate_link or other mapping 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.