Skip to main content
Glama

Referral Rock MCP by usefulapi

Add a referral

referralrock_create_referral
Destructive

WRITE: adds a referral (a lead) to the program of the member who owns the given referral code, as if the lead had used that member's link. A status of qualified or approved can trigger the program's configured rewards for the member, which is a financial commitment, so leave status out (new referrals start as pending) unless you mean it. Not idempotent. POST /api/referrals.

Input Schema

NameRequiredDescriptionDefault
noteNoPrivate note tied to the referral.
emailNoReferral email address.
phoneNoReferral phone number.
amountNoOrder amount / total tied to the referral.
statusNoInitial status (default pending). qualified / approved may trigger rewards and need confirm: true.
confirmNoMust be true when status is qualified or approved: confirms rewards may be issued.
last_nameNoReferral last name.
first_nameNoReferral first name.
external_idNoYour own unique id for the referral (an order or customer id), to find it again.
company_nameNoCompany name.
referral_codeYesThe referral code of the member who introduced the referral (see referralrock_list_members).
preferred_contactNoPreferred way to contact the referral.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations (destructive, non-idempotent), the description discloses the critical consequence: setting status to qualified or approved can trigger configured rewards, described as a financial commitment. It also explains the safe default (new referrals start as pending) and notes the endpoint, which is exactly the extra context annotations cannot carry.

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 sentences, front-loaded with a WRITE marker and the core warning; every clause carries information (subject, risk, default, idempotency, endpoint). 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 12-parameter write tool with full schema coverage, the description covers purpose, risk, and defaults adequately. The only gap is return behavior — with no output schema, it does not say what identifier or object comes back after creation.

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 operational meaning by framing status as a dangerous parameter that should be omitted by default, reinforcing the confirm coupling described in the schema. Most remaining parameter detail is already 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 ('WRITE: adds a referral (a lead)') plus the exact scoping condition: it attaches to the member who owns the given referral code, as if the lead used that member's link. This cleanly separates it from siblings like create_member and record_customer.

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 explicit when-to-act guidance ('leave status out unless you mean it') and points to referralrock_list_members as the source for referral_code. It does not explicitly rule out alternatives such as record_customer or update_referral, so it falls short of a full 5.

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.