Skip to main content
Glama

ReferralHero MCP by usefulapi

Promote subscriber (winner)

referralhero_promote_subscriber
DestructiveIdempotent

WRITE: promote a subscriber to the campaign's winners list (contests and giveaways). Only verified subscribers can be promoted; an already promoted subscriber returns an error. POST /lists/{uuid}/subscribers/{id}/promote.

Input Schema

NameRequiredDescriptionDefault
uuidYesCampaign (list) uuid, the 12-character id starting with MF (see referralhero_list_campaigns).
confirmYesMust be true: the user has approved this change. It can unlock rewards and make ReferralHero email or text the subscriber or referrer (automations).
subscriber_idYesSubscriber id, e.g. sub_2bad325a25d7 (the id field of a subscriber).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true and openWorldHint=true, so the mutation risk profile is covered structurally. The description adds beyond that: it explicitly labels the call a WRITE, discloses the verified-subscriber constraint, and warns that an already-promoted subscriber returns an error. The only mildly confusing point is that idempotentHint=true while re-promotion errors, but the description does not contradict the annotations outright.

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 sentences: operation class first, then constraint and error behavior, then endpoint. No filler, no repetition of the title, and the most decision-relevant information is 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?

For a 3-parameter, fully-required mutation with no output schema, the definition covers what it does, the eligibility gate, and the failure mode. The main omission is what a successful response looks like and whether promotion is reversible (demote path), which an agent might want before calling a destructive tool. Annotations and the confirm parameter partially compensate.

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 schema already documents uuid format, subscriber_id format, and the meaning of the confirm gate including its side effects. The description adds no parameter-level detail of its own beyond echoing the path shape. Baseline 3 applies when the schema carries the semantics.

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 ('promote') plus target resource ('subscriber to the campaign's winners list') and a scoping parenthetical clarifying it applies to contests and giveaways. The 'WRITE:' prefix immediately signals the operation class, and the endpoint path reinforces the resource hierarchy. An agent can distinguish this from read-side siblings like get_subscriber or list_subscribers without opening the 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 gives valuable preconditions: only verified subscribers can be promoted, and re-promoting errors out. But it offers no guidance on when to choose this versus nearby mutating siblings such as unlock_promoted_reward or update_subscriber, nor does it say when in a workflow promotion is appropriate. Usage is implied by the precondition rather than stated as routing guidance.

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.