Skip to main content
Glama

Server Details

Browse affiliates, referrals, commissions and payouts, and set up campaigns and affiliates.

Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A3.8/5.0

Scored across 20 tools

Disambiguation5/5

Each tool targets a distinct resource (affiliate, campaign, commission, payout, referral, affiliate coupon, affiliate link) and action (create, get, list, update), with descriptions clarifying sub-resources. There is no overlapping purpose or ambiguity between any tools.

Naming Consistency5/5

All tool names follow a consistent rewardful_<verb>_<noun> pattern using verbs create, get, list, and update with predictable resource names. No deviations or mixed conventions are present.

Tool Count4/5

The 20 tools cover a multi-resource affiliate program API reasonably well, but the count is slightly on the higher side. Each tool appears to earn its place, though consolidation might be possible for some sub-resources.

Completeness3/5

Notable gaps exist: no delete operations for any resource, no update or delete for affiliate coupons, and no get_referral tool (only list). These missing operations could cause agent failures in full lifecycle management.

Available Tools

20 tools
rewardful_create_affiliateCreate an affiliateA
Destructive
Inspect

Add an affiliate (or a customer referrer, by passing stripe_customer_id). Rewardful sends NO welcome email for API-created affiliates. Rewardful: POST /v1/affiliates.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail address.
stateNoAffiliate state. Disabled/suspicious affiliates stop tracking and earning and can't log in.
tokenNoLink token, e.g. `jb007` for ?via=jb007. Letters, numbers and dashes only.
last_nameYesLast name.
first_nameYesFirst name.
wise_emailNoWise address commissions should be paid to.
campaign_idNoCampaign to put the affiliate in (default campaign if omitted on create).
paypal_emailNoPayPal address commissions should be paid to.
stripe_customer_idNoCustomer-referral programs only: the live-mode Stripe customer that receives account credits.
receive_new_commission_notificationsNoEmail the affiliate when they earn a commission (default true).

TDQS

A4/5.0
Behavior4/5

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

With destructiveHint=true already declared, the description adds a genuinely non-obvious behavioral fact: Rewardful sends NO welcome email for API-created affiliates. That is exactly the kind of consequence an agent should surface. It stops short of noting idempotency, duplicate-email handling, or auth requirements.

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-loaded with the action and the referrer branch, and the API endpoint is appended after the substantive content. No 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 10-param creation tool with full schema coverage and no output schema, the description covers identity, the referrer variant, and the email side effect. It leaves the success response shape and conflict behavior unaddressed, but as a create tool it is largely complete.

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 all ten parameters including stripe_customer_id, state, and token are documented in the schema itself. The description only re-frames stripe_customer_id, adding little beyond structured data, so the baseline 3 applies.

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 and resource ('Add an affiliate') plus a scoped variant ('customer referrer, by passing stripe_customer_id'). This clearly separates it from sibling creators like rewardful_create_affiliate_coupon and rewardful_create_affiliate_link.

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

Usage Guidelines3/5

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

It signals one branch of usage (referrer vs affiliate via stripe_customer_id) but gives no guidance on when to prefer this over rewardful_update_affiliate or how to handle an affiliate that already exists. Usage is implied rather than stated.

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

rewardful_create_affiliate_couponCreate an affiliate couponA
Destructive
Inspect

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.

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

TDQS

A3.9/5.0
Behavior4/5

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

With only destructiveHint=true provided, the description adds genuine behavioral context by disclosing two external dependencies (existing Stripe code, campaign coupon configured in dashboard) that would otherwise be unknown. It does not explain what happens if a code is re-assigned or whether the assignment is reversible, which limits it below a 5.

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?

Two front-loaded sentences carry the purpose and the prerequisites with no filler; the trailing 'Rewardful: POST /v1/affiliate_coupons.' is a useful API anchor but slightly redundant overhead.

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 create tool with no output schema, the description covers purpose, required external state, and the source endpoint. Missing only return-value and conflict/overwrite behavior, which are minor for an agent deciding whether to call it.

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 the token property already documents 'the exact coupon / promotion code as defined in Stripe'. The description largely restates that constraint, adding little syntax or format detail beyond what the schema provides, so the 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?

The description states a concrete verb and resource ('Assign a coupon / promotion code to an affiliate') plus the business effect ('so sales using it are credited to them'), which clearly separates it from rewardful_create_affiliate_link and rewardful_create_affiliate. It never names a sibling, so differentiation is implicit rather than explicit.

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 supplies two real preconditions for use: the code must already exist in Stripe, and the affiliate's campaign must already have a campaign coupon set in the dashboard. That is strong when-to-use context, though no alternative tool or failure path is named for cases where those preconditions are unmet.

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

rewardful_create_campaignCreate a campaignA
Destructive
Inspect

Create a new affiliate campaign with its reward rule. For reward_type percent pass commission_percent; for amount pass commission_amount_cents and commission_amount_currency. Rewardful: POST /v1/campaigns.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesBase URL used to build affiliate links, e.g. https://example.com.
nameYesThe campaign's name.
privateNotrue = invite-only; false = anyone can sign up.
reward_typeYesPercent of each sale, or a fixed amount.
stripe_coupon_idNoStripe coupon for double-sided incentives. Growth/Enterprise plans only.
commission_percentNoCommission percentage. Required when reward_type is percent.
minimum_payout_centsNoMinimum cumulative commissions before a payout, in cents of the company's display currency.
commission_amount_centsNoFixed commission in cents. Required when reward_type is amount.
commission_amount_currencyNoISO currency code of the fixed commission, e.g. USD. Required when reward_type is amount.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations only supply destructiveHint=true, so the description must add context, and it does disclose that creation also creates the associated reward rule and that it maps to POST /v1/campaigns. It omits side effects beyond that, such as permission requirements, idempotency/duplicate handling, or whether the reward rule can be revised later.

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?

Three short sentences: purpose first, conditional parameter rule second, API mapping last. Every sentence carries information and nothing is padded.

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 9-parameter creation tool with full schema coverage and no output schema, the description covers the core risks: that it creates two entities (campaign + reward rule) and which parameters pair with which reward_type. It lacks any note on the returned object or on the meaning of optional fields like private/minimum_payout, but the schema carries those.

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 the baseline is 3. The description's conditional guidance duplicates what the schema already states ('Required when reward_type is percent/amount'), adding no syntax, default, or format detail beyond 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 gives a specific verb and resource ('Create a new affiliate campaign with its reward rule'), which cleanly separates it from the get_/list_/update_campaign siblings. It does not explicitly name a sibling it should be chosen over (e.g., update_campaign), so it stops 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 Guidelines3/5

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

It provides conditional usage for the reward parameters ('For reward_type percent pass commission_percent...'), which is genuine when-to-use guidance at the parameter level. However, there is no guidance on when to choose this tool versus rewardful_update_campaign or how it relates to the affiliate-creation siblings, so usage is only partially covered.

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

rewardful_get_affiliateGet one affiliateA
Read-only
Inspect

Fetch a single affiliate by id, including their campaign, links, coupon and visitor/lead/conversion counts. Rewardful: GET /v1/affiliates/:id.

ParametersJSON Schema
NameRequiredDescriptionDefault
affiliate_idYesThe affiliate's id (UUID).

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true), so the bar is low. The description adds real value by disclosing the payload contents (campaign, links, coupon, visitor/lead/conversion counts) that an agent would otherwise not know without an output schema. Error behavior for a missing id is not addressed.

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: the operation and its returned scope come first, and the endpoint reference is appended as supporting metadata. No 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 single-parameter read tool with annotations carrying the safety profile and no output schema, enumerating the returned fields is the key missing piece and it is provided. Minor gaps (not-found/error behavior, naming the list alternative) remain.

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% and the single parameter is fully documented as a UUID. The description only restates 'by id', adding no format, validation, or lookup semantics beyond the schema, so the 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?

Specific verb and resource ('Fetch a single affiliate by id') with scope, plus a REST endpoint mapping. It implicitly contrasts with list_affiliates by saying 'single ... by id', but it never names the sibling explicitly, so it falls 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 Guidelines3/5

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

Usage is only implied: 'single affiliate by id' suggests use when you already have an id rather than needing a filtered list. There is no explicit when-to-use, when-not-to-use, or named alternative (e.g., list_affiliates for browsing).

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

rewardful_get_affiliate_couponGet one affiliate couponB
Read-only
Inspect

Fetch a single affiliate coupon by id. Rewardful: GET /v1/affiliate_coupons/:id.

ParametersJSON Schema
NameRequiredDescriptionDefault
coupon_idYesThe affiliate coupon's id (UUID).

TDQS

B3.4/5.0
Behavior3/5

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

The readOnlyHint=true annotation already tells the agent this is a safe, non-mutating lookup, and 'Fetch' is consistent with that. The description adds the API endpoint reference but says nothing about error behavior for missing ids or the shape of the response, so it only marginally exceeds the annotation baseline.

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 short sentences with the action and resource front-loaded and zero wasted text. The endpoint reference is compact and informative rather than padding.

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 single-parameter read tool with no output schema and annotations covering the safety profile, the description supplies everything needed to invoke it correctly. Only minor gaps remain around failure modes for invalid ids.

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% and the single coupon_id parameter is fully documented as a UUID in the schema. The description adds no format, constraint, or sourcing detail beyond what the schema already provides, so the baseline of 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?

The description states a specific verb and resource ('Fetch a single affiliate coupon by id') and notes the underlying endpoint, which distinguishes it from the sibling list_affiliate_coupons by the singular 'single' and the id-based lookup. It is clear without needing the schema, though it does not explicitly name the sibling it complements.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no statement of prerequisites (e.g. needing a valid coupon id), and no contrast with list_affiliate_coupons or other retrieval tools. The 'by id' phrasing implies the caller already holds an id, but that is left to inference.

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

rewardful_get_campaignGet one campaignA
Read-only
Inspect

Fetch a single campaign by id. Rewardful: GET /v1/campaigns/:id.

ParametersJSON Schema
NameRequiredDescriptionDefault
campaign_idYesThe campaign's id (UUID).

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safe-read profile is covered. The description adds the underlying REST mapping (GET /v1/campaigns/:id), which aids error interpretation, but says nothing about failure modes (missing/invalid id) or response shape.

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 short sentences, the action and resource front-loaded, with no filler. Every clause carries information.

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

Completeness3/5

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

For a low-complexity single-resource getter with annotations covering safety, the definition is adequate but thin: with no output schema, a hint at what a campaign object contains would have made it complete.

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% and the single parameter is already documented as 'The campaign's id (UUID)'. The description adds only the phrase 'by id', so baseline 3 is appropriate.

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 ('Fetch') and resource ('a single campaign by id'), and the singular scoping implicitly separates it from list_campaigns. It is clear about what it does, though it does not explicitly name the sibling it is not.

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

Usage Guidelines3/5

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

Usage is only implied: 'by id' suggests the caller must already hold a campaign_id, which distinguishes it from a list operation, but there is no statement of when to prefer rewardful_list_campaigns or what happens when the id is unknown. Minimum viable guidance.

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

rewardful_get_commissionGet one commissionA
Read-only
Inspect

Fetch a single commission by id, with its campaign and the sale (charge, refund and tax amounts, referral, customer, affiliate) that earned it. Rewardful: GET /v1/commissions/:id.

ParametersJSON Schema
NameRequiredDescriptionDefault
commission_idYesThe commission's id (UUID).

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds real value beyond that by enumerating what the response contains (campaign plus the earning sale with charge, refund, tax, referral, customer and affiliate), which is the only place this return shape is documented since there is no output schema.

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 compact sentences: the payload summary is front-loaded and the Rewardful endpoint reference is a useful trailing anchor. Nothing is padded.

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 single-resource read with no output schema, the description partially compensates by sketching the returned fields, which is the key missing structured information. It stops short of describing error behavior for an invalid or unknown id.

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 the single commission_id parameter is fully documented in the schema as a UUID. The description only restates that lookup is by id, adding no syntax or format detail beyond the schema, so the baseline of 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?

States a specific verb and resource ('Fetch a single commission by id') and scopes it to one record, which implicitly separates it from the sibling list_commissions. It never names that sibling explicitly, so it falls short of the highest tier of sibling differentiation.

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

Usage Guidelines3/5

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

Usage is only implied: 'by id' suggests you already hold a commission UUID, versus listing/querying for one. There is no explicit when-to-use statement and no named alternative such as rewardful_list_commissions.

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

rewardful_get_payoutGet one payoutA
Read-only
Inspect

Fetch a single payout by id, with the affiliate and the commissions it bundles. Rewardful: GET /v1/payouts/:id.

ParametersJSON Schema
NameRequiredDescriptionDefault
payout_idYesThe payout's id (UUID).

TDQS

A3.7/5.0
Behavior4/5

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

With readOnlyHint=true already declaring a safe read, the description still adds value by disclosing the response shape: the payout comes with the affiliate and the commissions it bundles. Since no output schema exists, that return-content detail is genuinely useful beyond the annotations.

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?

Two compact sentences with the primary action ('Fetch a single payout by id') front-loaded and the response contents following. The trailing 'Rewardful: GET /v1/payouts/:id' is mildly redundant but maps the tool to an endpoint, which is a defensible use of space.

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 simple one-parameter GET with annotation coverage and no output schema, the description supplies the essential missing piece: what the returned payout includes (affiliate plus bundled commissions). Nothing critical to calling it correctly is absent, though return formatting and error behavior remain unstated.

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?

A single parameter (payout_id) is documented at 100% schema coverage as a UUID, so the schema carries the semantics. The description only repeats 'by id' and adds no format, validation, or lookup nuance, so the 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?

States a specific verb and resource ('Fetch a single payout') and scopes it to one record by id, which implicitly contrasts with the sibling rewardful_list_payouts. It stops short of naming the alternative, so sibling differentiation is inferred rather than explicit.

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

Usage Guidelines3/5

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

The phrase 'by id' implies usage: fetch one payout when you already have its identifier. However, there is no explicit when-to-use guidance, no exclusions, and no named alternative (e.g., list_payouts for enumerating payouts). Usage is only implied.

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

rewardful_list_affiliate_couponsList affiliate couponsA
Read-only
Inspect

List affiliate coupon / promotion codes (token, Stripe id, leads, conversions, archived), optionally for one affiliate. Rewardful: GET /v1/affiliate_coupons.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1. See pagination.next_page.
limitNoResults per page, 1-100 (default 25).
affiliate_idNoOnly this affiliate's coupons.

TDQS

A3.7/5.0
Behavior4/5

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

readOnlyHint=true already covers the safety profile, and the description adds the actual returned fields (token, Stripe id, leads, conversions, archived), which is valuable because no output schema exists. It still says nothing about pagination behavior or result ordering, leaving a small gap.

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?

A single dense sentence is front-loaded with the core action and includes the source endpoint and field list efficiently. The parenthetical field enumeration is slightly listy but earns its place given the absent output schema.

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 simple read-only list tool with fully documented params, the description covers purpose, filtering, and return fields. Pagination is handled by the schema, and no output schema means only ordering/pagination semantics are left implicit.

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?

With 100% schema description coverage, the schema already documents page, limit, and affiliate_id semantics. The description's 'optionally for one affiliate' merely mirrors affiliate_id without adding syntax or format detail, so the 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?

The description gives a clear verb+resource ('List affiliate coupon / promotion codes') and enumerates the returned fields, so an agent knows exactly what it retrieves. It does not explicitly name the sibling 'get_affiliate_coupon' as the singular alternative, but the list-vs-get distinction is inferable from the name.

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

Usage Guidelines3/5

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

It notes that results are 'optionally for one affiliate,' which implies when the affiliate_id filter applies, but there is no explicit when-to-use/when-not guidance or named alternatives among the many sibling tools. Usage is only implied.

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

rewardful_list_affiliatesList affiliatesA
Read-only
Inspect

List affiliates, newest first, with visitors/leads/conversions. Filter by campaign, or look one up by email or Stripe customer id (returns zero or one). Expand campaign, links or commission_stats for more detail. Rewardful: GET /v1/affiliates.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1. See pagination.next_page.
emailNoOnly the affiliate with this email.
limitNoResults per page, 1-100 (default 25).
expandNoNested objects to include for each affiliate.
campaign_idNoOnly affiliates in this campaign.
stripe_customer_idNoOnly the customer-referrer affiliate tied to this Stripe customer (cus_...).

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly hint, so the bar is lower; the description nevertheless adds ordering (newest first), the returned metrics, the zero-or-one semantics of the lookup filters, and that campaign/links/commission_stats can be expanded for depth.

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?

Three tight clauses front-loaded with what/ordering, then filter modes, then expansion, closing with the underlying endpoint. 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?

With no output schema, the description usefully describes the returned fields and the zero-or-one case. It leaves pagination behavior and the default page size to the schema, which is acceptable but not fully complete for an agent unfamiliar with the endpoint.

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 every parameter is already documented in the schema; the description only echoes campaign, email, stripe customer id, and expand without adding format or default detail beyond what the schema provides. Baseline 3 applies.

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 and resource (list affiliates) plus what each row carries (visitors/leads/conversions) and the ordering (newest first). This differentiates it from the singular rewardful_get_affiliate and from the other list_* siblings by naming its own filter modes.

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 clear selection context: filter by campaign for a set, or use email/stripe_customer_id to resolve a single affiliate (returns zero or one). It never names get_affiliate as the alternative for a known id, so it stops short of explicit when-not guidance.

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

rewardful_list_campaignsList campaignsA
Read-only
Inspect

List the affiliate program's campaigns with their reward rules (percent or fixed commission, payout minimum, referral expiry) and totals (visitors, leads, conversions, affiliates). Rewardful: GET /v1/campaigns.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1. See pagination.next_page.
limitNoResults per page, 1-100 (default 25).

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds genuinely useful behavioral context by enumerating the categories of data returned (reward rules and aggregate totals), which no output schema supplies. It stops short of mentioning pagination behavior or the backend endpoint semantics beyond the route reference.

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 dense sentence that front-loads the resource and then the returned fields, followed by a compact API route reference. No redundancy or filler.

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 two-parameter, read-only list tool with no output schema, the description supplies exactly what is missing: what the response contains. Pagination is fully handled by the schema, so nothing an agent needs to invoke this correctly is absent.

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% — page and limit are fully documented with ranges and defaults in the schema — and the description mentions neither. Per the rubric this is the baseline 3, since the schema carries all parameter meaning.

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?

Specific verb (List) and resource (campaigns), and it goes further by naming the payload contents: reward rules (percent/fixed commission, payout minimum, referral expiry) and totals (visitors, leads, conversions, affiliates). It reads as a bulk/list counterpart to rewardful_get_campaign, but it never names that sibling, so differentiation is inferred rather than stated.

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

Usage Guidelines2/5

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

The description offers no when-to-use guidance, no exclusions, and no pointer to alternatives such as get_campaign for a single record. Nothing tells the agent when this list call is the right choice versus the many other list_* siblings.

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

rewardful_list_commissionsList commissionsA
Read-only
Inspect

List commissions (rewards owed for referred customers' payments) newest first, with amount in cents, currency and state (pending, due, paid, voided). Filter by affiliate or state; expand the sale (with referral, customer and affiliate) or campaign. Rewardful: GET /v1/commissions.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1. See pagination.next_page.
limitNoResults per page, 1-100 (default 25).
stateNoOnly commissions in these states.
expandNoNested objects to include for each commission.
affiliate_idNoOnly this affiliate's commissions.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true; the description goes further by disclosing result ordering ('newest first'), the shape of returned values (amount in cents, currency, state with enumerated values) and the underlying GET /v1/commissions endpoint. It stops short of discussing pagination behavior or default result limits, which is the remaining gap.

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 dense sentences: the first leads with the core action and return shape, the second covers filtering and expansion. Every clause carries information and the endpoint is tucked at the end rather than front-loaded.

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?

With no output schema, the description carries the burden of describing returns and partially does so (amount, currency, state, ordering), plus filter and expand options. Pagination behavior and the unpaginated default are not addressed, which is a minor omission for a list tool.

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 the baseline is 3, but the description adds meaning beyond the schema by enumerating the state values and clarifying what expand actually returns ('the sale (with referral, customer and affiliate) or campaign'). It does not mention page/limit, though those are self-describing in the schema.

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 and resource (list commissions) and immediately defines the domain term as 'rewards owed for referred customers' payments'. The explicit ordering ('newest first') and REST endpoint make the operation unambiguous and separable from siblings like get_commission or list_payouts.

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

Usage Guidelines3/5

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

Usage is implied by the filtering affordances ('filter by affiliate or state'), but there is no explicit when-to-use guidance and no routing to alternatives such as rewardful_get_commission for a single record. Adequate but leaves the agent to infer context.

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

rewardful_list_payoutsList payoutsA
Read-only
Inspect

List payouts — bundles of an affiliate's payable commissions — newest first, with amount, currency and state (pending, due, processing, paid). Filter by affiliate or state; expand affiliate or commissions. Rewardful: GET /v1/payouts.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1. See pagination.next_page.
limitNoResults per page, 1-100 (default 25).
stateNoOnly payouts in these states.
expandNoNested objects to include for each payout.
affiliate_idNoOnly this affiliate's payouts.

TDQS

A4.1/5.0
Behavior4/5

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

readOnlyHint=true already establishes a safe read, but the description adds real behavioral detail beyond annotations: default sort order (newest first), the enumerated payout states, and the ability to expand nested affiliate/commission objects. It omits pagination defaults and result-size behavior, but those are covered by the schema.

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?

A single dense paragraph that is well front-loaded: what it is, ordering, returned fields, filters, and the underlying API endpoint. Every clause carries information, though the trailing 'Rewardful: GET /v1/payouts' is marginally useful for an agent that cannot make raw HTTP calls.

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?

With no output schema and no nested object docs, the description usefully previews the return shape (amount, currency, state) and the default ordering, which an agent needs to interpret results. Pagination semantics are left entirely to the schema, which is reasonable given its full coverage.

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 every parameter (page, limit, state, expand, affiliate_id) is already documented in the schema. The description restates the state and expand filters but adds no syntax, format, or default value beyond what the schema provides, so the baseline 3 applies.

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 and resource ('List payouts') and immediately defines the domain term ('bundles of an affiliate's payable commissions'), which distinguishes it from rewardful_get_payout and rewardful_list_commissions without opening a schema. Ordering ('newest first') and returned fields (amount, currency, state) are stated up front.

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?

Tells the agent when to reach for filtering by affiliate or state and when to use expansion ('expand affiliate or commissions'), which is genuine usage context. It never names the sibling it competes with (rewardful_get_payout for a single record) or states exclusions, so it stops short of full routing guidance.

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

rewardful_list_referralsList referralsA
Read-only
Inspect

List referrals — visitors who arrived via an affiliate link — newest first, with their conversion state (visitor, lead, conversion), customer and link. Filter by affiliate, state, email, Stripe customer or an updated-at window. Rewardful: GET /v1/referrals.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, from 1. See pagination.next_page.
emailNoOnly referrals with this customer email.
limitNoResults per page, 1-100 (default 25).
expandNoInclude the full affiliate object for each referral.
affiliate_idNoOnly this affiliate's referrals.
updated_sinceNoISO 8601 timestamp: only referrals updated after it.
updated_untilNoISO 8601 timestamp: only referrals updated before it.
conversion_stateNoOnly referrals currently in these conversion states.
stripe_customer_idNoOnly referrals with this Stripe customer (cus_...).

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so safety is covered. The description adds genuine behavioral context beyond that: results are returned 'newest first', and each row carries its conversion state, customer, and link. It stops short of describing pagination or auth behavior, but the ordering and row-shape disclosures are real value-adds.

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-loaded with the resource definition and return shape, then the filter surface, then the endpoint reference. No filler and nothing buried.

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?

This is a no-required-param, read-only list tool with a fully documented schema and no output schema. The description supplies the return field preview and sort order, which is enough for an agent to call it correctly; only the omission of pagination nuance keeps it short of a 5.

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 all nine parameters (page, limit, email, expand, affiliate_id, updated_since/until, conversion_state, stripe_customer_id) are already documented in the schema. The description enumerates the filter axes but adds no syntax or format detail beyond what the schema provides — the correct baseline of 3.

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?

Specific verb (list) plus resource (referrals), and it goes further to define what a referral is — 'visitors who arrived via an affiliate link'. This definitional framing distinguishes it from sibling list tools like rewardful_list_commissions and rewardful_list_affiliates without the agent needing to open 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 Guidelines3/5

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

The description conveys the tool's scope (list referrals with filters by affiliate, state, email, Stripe customer, or updated-at window), which is enough to infer usage. However, it gives no explicit when-to-use/when-not guidance and never names a sibling as an alternative — nothing tells the agent to prefer this over, say, list_commissions for a given question.

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

rewardful_update_affiliateUpdate an affiliateA
Destructive
Inspect

Change an affiliate's name, email, payout emails, notifications, campaign (moves them) or state. Setting state to disabled stops tracking and earning; set it back to active to undo. Rewardful: PUT /v1/affiliates/:id.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoEmail address.
stateNoAffiliate state. Disabled/suspicious affiliates stop tracking and earning and can't log in.
last_nameNoLast name.
first_nameNoFirst name.
wise_emailNoWise address commissions should be paid to.
campaign_idNoCampaign to put the affiliate in (default campaign if omitted on create).
affiliate_idYesThe affiliate's id (UUID).
paypal_emailNoPayPal address commissions should be paid to.
stripe_customer_idNoCustomer-referral programs only: the live-mode Stripe customer that receives account credits.
receive_new_commission_notificationsNoEmail the affiliate when they earn a commission (default true).

TDQS

A4/5.0
Behavior4/5

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

Annotations only supply destructiveHint=true with no explanation. The description adds real behavioral context beyond that: setting state to disabled halts tracking and earning, and the change is reversible ('set it back to active to undo'). It stops short of describing partial-vs-full update behavior or auth requirements, but it meaningfully enriches the safety picture.

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?

Two dense, front-loaded sentences covering fields and consequences, followed by an endpoint mapping. The 'Rewardful: PUT /v1/affiliates/:id' line is mild filler but useful for endpoint mapping; overall there's little waste.

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

Completeness3/5

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

For a tool with 10 parameters, only 1 required and no output schema, the description is decent but leaves a key gap: it doesn't state whether omitted fields are left unchanged or cleared (partial vs. full replace), which directly affects how an agent should call a PUT-style update. Auth/permission requirements are also unaddressed.

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 is 3, but the description adds meaning the schema doesn't: noting that setting campaign 'moves them' and that 'payout emails' map to the wise_email/paypal_email fields. That is incremental semantic value on top of well-documented parameters.

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?

Specific verb ('Change') plus resource ('an affiliate's') with an explicit enumeration of mutable fields (name, email, payout emails, notifications, campaign, state). This clearly separates it from the sibling create/get/list affiliate tools.

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

Usage Guidelines3/5

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

Usage is implied by the field list and by the state semantics, but the description never states prerequisites (e.g., needing an existing affiliate_id) or when to prefer create_affiliate versus this update. No explicit alternatives are named.

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

rewardful_update_campaignUpdate a campaignA
Destructive
Inspect

Change a campaign's name, URL, visibility, reward rule, payout minimum or coupon. Only the fields you pass change. Rewardful: PUT /v1/campaigns/:id.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoBase URL used to build affiliate links, e.g. https://example.com.
nameNoThe campaign's name.
privateNotrue = invite-only; false = anyone can sign up.
campaign_idYesThe campaign's id (UUID).
reward_typeNoPercent of each sale, or a fixed amount.
stripe_coupon_idNoStripe coupon for double-sided incentives. Growth/Enterprise plans only.
commission_percentNoCommission percentage. Required when reward_type is percent.
minimum_payout_centsNoMinimum cumulative commissions before a payout, in cents of the company's display currency.
commission_amount_centsNoFixed commission in cents. Required when reward_type is amount.
commission_amount_currencyNoISO currency code of the fixed commission, e.g. USD. Required when reward_type is amount.

TDQS

A3.5/5.0
Behavior3/5

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

The destructiveHint annotation already flags this as a mutating operation, so the bar is lower. The description usefully clarifies that it is a partial update rather than a full overwrite, but says nothing about reversibility, permission/plan requirements, or what happens to fields left unset beyond that one clause.

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?

Two short sentences, front-loaded with the action and field scope, followed by a compact endpoint reference. Nothing is padded, though the 'Rewardful: PUT /v1/campaigns/:id' line is informational rather than decision-relevant.

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 mutation tool with 10 schema-documented parameters, a destructive annotation and no output schema, the description covers the essential action and partial-update behavior. Side effects on downstream artifacts (affiliate links, coupons) and the response shape are unspecified, but the structured fields carry most of the remaining burden.

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% and every parameter (including the conditional 'required when reward_type is X' rules) is documented in the schema itself. The description's field list merely restates a subset of those names, adding no format, unit, or constraint detail beyond what the schema provides.

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 specific verb+resource ('Change a campaign's...') with an explicit enumeration of the mutable fields (name, URL, visibility, reward rule, payout minimum, coupon). The verb alone separates it from rewardful_create_campaign, rewardful_get_campaign and rewardful_list_campaigns, though no sibling is named outright.

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

Usage Guidelines3/5

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

'Only the fields you pass change' communicates partial-update semantics, which tells the agent it need not supply all ten parameters. However there is no guidance on when to prefer this over create_campaign or update_affiliate, and no stated prerequisites (e.g. the Growth/Enterprise requirement that only appears in the schema).

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 20 tool updates
    • First observedrewardful_create_affiliate
    • First observedrewardful_create_affiliate_coupon
    • First observedrewardful_create_affiliate_link
    • First observedrewardful_create_campaign
    • First observedrewardful_get_affiliate
    • First observedrewardful_get_affiliate_coupon
    • First observedrewardful_get_affiliate_link
    • First observedrewardful_get_campaign
    • First observedrewardful_get_commission
    • First observedrewardful_get_payout
    • First observedrewardful_list_affiliate_coupons
    • First observedrewardful_list_affiliate_links
    • First observedrewardful_list_affiliates
    • First observedrewardful_list_campaigns
    • First observedrewardful_list_commissions
    • First observedrewardful_list_payouts
    • First observedrewardful_list_referrals
    • First observedrewardful_update_affiliate
    • First observedrewardful_update_affiliate_link
    • First observedrewardful_update_campaign

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    C
    maintenance
    Enables users to manage affiliate marketing directly within Claude by connecting to the Affilync platform. Affiliates can search campaigns and track earnings, while brands can create campaigns, monitor performance, and manage affiliate applications through natural language.
    20
    1
    -
  • A
    license
    B
    quality
    A
    maintenance
    Enables AI agents to create, configure, and manage GrowSurf referral and affiliate programs, track participants, and analyze campaign performance using plain language.
    63
    1,331 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for managing affiliate and referral programs. Track referrals, manage affiliates, process conversions, and handle payouts through AI assistants like Claude, Cursor, and ChatGPT.
    18
    42 npm
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.