Referral Rock MCP by usefulapi
Read Referral Rock programs, members, referrals, rewards and payouts; add members and referrals.
我該用這個嗎
品質與安全性
發現項目(2)
- LOW在 referralrock_list_pending_payouts 中
- LOW在 referralrock_list_payout_transactions 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"referral-rock": {
"url": "https://referral-rock.usefulapi.io/mcp"
}
}
}遠端端點
https://referral-rock.usefulapi.io/mcpstreamable-http它能做什麼
工具清單
工具(15)
🟢referralrock_list_programs(program, offset, count)
List the referral programs in the account: id, name, type (Web or Form), active flag, title, the member and referral offers and the share/widget URLs. Use the ids (or names) to filter members, referrals and rewards. GET /api/programs.
輸入結構描述
{
"type": "object",
"properties": {
"program": {
"description": "Only the program with this id.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"offset": {
"description": "Starting index, 0 based (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"count": {
"description": "Results per page, 1-200 (default 20).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢referralrock_get_program(name)
One referral program by its exact name: id, active flag, offers and URLs. GET /api/program/getsingle.
輸入結構描述
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "The program's exact name (see referralrock_list_programs)."
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢referralrock_list_reward_rules(program_id)
The reward rules of one program: what triggers a reward (referral status, referral count or sales limits), how the amount is worked out (fixed or percent), the payout type and delivery delay. GET /api/rewardrules.
輸入結構描述
{
"type": "object",
"properties": {
"program_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Program id (a GUID; see referralrock_list_programs)."
}
},
"required": [
"program_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢referralrock_list_members(program, query, show_disabled, sort, date_from, ...)
List members (the people who refer others), newest first by default, with their referral code and share URL, referral counts, rewards earned and activity dates. Filter by program, by an email / id / external id / referral code, by created date, or active vs disabled. GET /api/members.
輸入結構描述
{
"type": "object",
"properties": {
"program": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Program id, program name or program title."
},
"query": {
"description": "A member's email address, id, external id or referral code.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"show_disabled": {
"description": "true = disabled members, false = active members. Leave out for the default.",
"type": "boolean"
},
"sort": {
"description": "Sort order (default Create_Dt_Desc).",
"type": "string",
"enum": [
"Create_Dt_Desc",
"Create_Dt_Asc",
"Member_Views_Desc",
"Member_Views_Asc",
"Page_Views_Desc",
"Page_Views_Asc",
"Lead_Count_Desc",
"Lead_Count_Asc",
"Reward_Issued_Total_Desc",
"Reward_Issued_Total_Asc",
"Member_Full_Name_Desc",
"Member_Full_Name_Asc"
]
},
"date_from": {
"description": "Only members created after this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"date_to": {
"description": "Only members created before this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"offset": {
"description": "Starting index, 0 based (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"count": {
"description": "Results per page, 1-200 (default 20).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢referralrock_get_member_stats(member, time_period)
Sharing, referral and reward statistics of one member over a time period: views, shares, referrals (pending / qualified / approved), reward amounts pending and issued, last share and activity dates. GET /api/memberstats/getsingle.
輸入結構描述
{
"type": "object",
"properties": {
"member": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "The member's email address, id, external id or referral code."
},
"time_period": {
"description": "All (default), MonthToDate, LastMonth, Last7Days or Last30Days.",
"type": "string",
"enum": [
"All",
"MonthToDate",
"LastMonth",
"Last7Days",
"Last30Days"
]
}
},
"required": [
"member"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢referralrock_list_referrals(program, status, member_id, query, sort, ...)
List referrals (the people members referred), newest first by default, with status (pending, qualified, approved, denied), amount, the referring member, notes and dates. Filter by program, status, referring member, free-text query or created date. GET /api/referrals.
輸入結構描述
{
"type": "object",
"properties": {
"program": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Program id, program name or program title."
},
"status": {
"description": "Only referrals in this status.",
"type": "string",
"enum": [
"pending",
"qualified",
"approved",
"denied"
]
},
"member_id": {
"description": "Only referrals made by this member id.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"query": {
"description": "A referral's email address, id, external id or referral code.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"sort": {
"description": "Sort order (default Create_Dt_Desc).",
"type": "string",
"enum": [
"Create_Dt_Desc",
"Create_Dt_Asc",
"Amount_Desc",
"Amount_Asc",
"Qualified_Dt_Desc",
"Qualified_Dt_Asc",
"Closed_Dt_Desc",
"Closed_Dt_Asc"
]
},
"date_from": {
"description": "Only referrals created after this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"date_to": {
"description": "Only referrals created before this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"offset": {
"description": "Starting index, 0 based (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"count": {
"description": "Results per page, 1-200 (default 20).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢referralrock_get_referral(referral_id, email, external_id)
One referral by id, email address or external id (at least one is required): status, amount, referring member, notes, custom fields and dates. GET /api/referral/single.
輸入結構描述
{
"type": "object",
"properties": {
"referral_id": {
"description": "The referral's id.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"email": {
"description": "The referral's email address.",
"type": "string",
"minLength": 1,
"maxLength": 254
},
"external_id": {
"description": "The referral's external identifier.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢referralrock_list_rewards(program, member_id, query, status, sort, ...)
List rewards, newest first by default: recipient, amount, status (Pending, Processing, Issued), payout type, eligibility and issue dates, the member and referral behind it. Filter by program, member, status, recipient query or created date. GET /api/rewards.
輸入結構描述
{
"type": "object",
"properties": {
"program": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Program id, program name or program title."
},
"member_id": {
"description": "Only rewards of this member id.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"query": {
"description": "The recipient's email address, id, external id or member referral code.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"status": {
"description": "Only rewards in this status.",
"type": "string",
"enum": [
"Pending",
"Processing",
"Issued"
]
},
"sort": {
"description": "Sort order (default Create_Dt_Desc).",
"type": "string",
"enum": [
"Create_Dt_Desc",
"Create_Dt_Asc",
"Reward_Action_Desc",
"Reward_Action_Asc",
"Recipient_Name_Desc",
"Recipient_Name_Asc",
"Complete_Dt_Desc",
"Complete_Dt_Asc"
]
},
"date_from": {
"description": "Only rewards created after this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"date_to": {
"description": "Only rewards created before this date (yyyy-mm-dd).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"offset": {
"description": "Starting index, 0 based (default 0). Pass the previous reply's next_offset.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"count": {
"description": "Results per page, 1-200 (default 20).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢referralrock_list_pending_payouts(recipient_id, include_ineligible)
Payouts that are owed but not yet transferred: recipient, program, number of rewards and total amount. Optionally for one recipient, and optionally including rewards whose eligibility date is still in the future. GET /api/payouts/pending.
輸入結構描述
{
"type": "object",
"properties": {
"recipient_id": {
"description": "Only the payouts owed to this recipient id.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"include_ineligible": {
"description": "Also include payouts for rewards with an eligibility date in the future (default false).",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢referralrock_list_payout_transactions(recipient_id, transaction_id)
Payout transactions already transferred to program participants (type, amount, date, status, destination, vendor errors) and the balance left in the account to cover pending payouts. Optionally for one recipient or one transaction. GET /api/payouts/transactions.
輸入結構描述
{
"type": "object",
"properties": {
"recipient_id": {
"description": "Only the transactions paid to this recipient id.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"transaction_id": {
"description": "Only this transaction id.",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴referralrock_create_member(program_id, first_name, email, last_name, phone, ...)
WRITE: creates a new member (advocate) in a referral program and returns the member with their referral code and share URL. Not idempotent: a repeat call may create a duplicate or fail. When send_confirmation_email is true Referral Rock emails the member the program's confirmation email, which is a message to a real person; the default is false. POST /api/members.
輸入結構描述
{
"type": "object",
"properties": {
"program_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Program id to add the member to (see referralrock_list_programs)."
},
"first_name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Member first name."
},
"email": {
"type": "string",
"minLength": 1,
"maxLength": 254,
"description": "Member email address."
},
"last_name": {
"description": "Member last name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"phone": {
"description": "Member phone number.",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"external_id": {
"description": "Your own id for this member, to link it to another system.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"referral_code": {
"description": "A custom referral code; Referral Rock generates one when left out.",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"send_confirmation_email": {
"description": "Email the member the program's confirmation email (default false; needs confirm: true).",
"type": "boolean"
},
"confirm": {
"description": "Must be true when send_confirmation_email is true: confirms an email goes to the member.",
"type": "boolean"
}
},
"required": [
"program_id",
"first_name",
"email"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴referralrock_update_member(member_id, referral_code, email, external_id, program_id, ...)
WRITE: changes contact details of an existing member, or disables / re-enables the member (a disabled member can no longer take part in the programs). Only the fields you pass are changed. The member is found by id, referral code, or email / external id plus program_id or program_name; Referral Rock updates it only when it is uniquely identified. POST /api/members/update.
輸入結構描述
{
"type": "object",
"properties": {
"member_id": {
"description": "The member's id (preferred).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"referral_code": {
"description": "The member's referral code.",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"email": {
"description": "The member's current email address (needs program_id or program_name).",
"type": "string",
"minLength": 1,
"maxLength": 254
},
"external_id": {
"description": "The member's current external identifier (needs program_id or program_name).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"program_id": {
"description": "Program id; needed together with email or external_id (or give program_name).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"program_name": {
"description": "Program name; needed together with email or external_id (or give program_id).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"new_first_name": {
"description": "New first name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"new_last_name": {
"description": "New last name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"new_email": {
"description": "New email address.",
"type": "string",
"minLength": 1,
"maxLength": 254
},
"new_phone": {
"description": "New phone number.",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"new_external_id": {
"description": "New external identifier.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"disabled": {
"description": "true disables the member, false re-enables.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴referralrock_create_referral(referral_code, first_name, last_name, email, phone, ...)
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.
輸入結構描述
{
"type": "object",
"properties": {
"referral_code": {
"type": "string",
"minLength": 1,
"maxLength": 50,
"description": "The referral code of the member who introduced the referral (see referralrock_list_members)."
},
"first_name": {
"description": "Referral first name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"last_name": {
"description": "Referral last name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"email": {
"description": "Referral email address.",
"type": "string",
"minLength": 1,
"maxLength": 254
},
"phone": {
"description": "Referral phone number.",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"preferred_contact": {
"description": "Preferred way to contact the referral.",
"type": "string",
"enum": [
"email",
"callMorning",
"callAfternoon",
"callEvening"
]
},
"external_id": {
"description": "Your own unique id for the referral (an order or customer id), to find it again.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"amount": {
"description": "Order amount / total tied to the referral.",
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"company_name": {
"description": "Company name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"note": {
"description": "Private note tied to the referral.",
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"status": {
"description": "Initial status (default pending). qualified / approved may trigger rewards and need confirm: true.",
"type": "string",
"enum": [
"pending",
"qualified",
"approved",
"denied"
]
},
"confirm": {
"description": "Must be true when status is qualified or approved: confirms rewards may be issued.",
"type": "boolean"
}
},
"required": [
"referral_code"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴referralrock_update_referral(referral_id, external_id, email, program_id, program_name, ...)
WRITE: changes the status, amount or notes of an existing referral. Moving a referral to qualified or approved can trigger the program's configured rewards for the referring member (a financial commitment that may be paid out automatically), and denied stops them: confirm with the user first. Only the fields you pass are changed. The referral is found by id, or by external id / email plus program_id or program_name. POST /api/referral/update.
輸入結構描述
{
"type": "object",
"properties": {
"referral_id": {
"description": "The referral's id (preferred).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"external_id": {
"description": "The referral's external identifier (needs program_id or program_name).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"email": {
"description": "The referral's email address (needs program_id or program_name).",
"type": "string",
"minLength": 1,
"maxLength": 254
},
"program_id": {
"description": "Program id; needed together with external_id or email (or give program_name).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"program_name": {
"description": "Program name; needed together with external_id or email (or give program_id).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"status": {
"description": "New status.",
"type": "string",
"enum": [
"pending",
"qualified",
"approved",
"denied"
]
},
"amount": {
"description": "New order amount / total (used for percentage rewards).",
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"note": {
"description": "New private note.",
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"public_note": {
"description": "New public note.",
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"confirm": {
"description": "Must be true when status is qualified or approved, or amount is set: confirms rewards may be issued or changed.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴referralrock_record_customer(email, external_id, first_name, last_name, phone, ...)
WRITE: reports a paying customer to Referral Rock. A customer whose email matches a pending referral turns that referral to approved, which triggers the program's configured rewards for the referring member (a financial commitment that may be paid out automatically). A customer with no matching referral is added as a pre-loaded member to every program that has Preload New Customers on. Returns the outcome per customer (ReferralApproved, MemberPreloaded, Skipped…). Not idempotent. POST /api/customerfeed.
輸入結構描述
{
"type": "object",
"properties": {
"email": {
"type": "string",
"minLength": 1,
"maxLength": 254,
"description": "The customer's email address; the match key against pending referrals and members."
},
"external_id": {
"description": "Your own id for this customer (for example a CRM id).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"first_name": {
"description": "Customer first name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"last_name": {
"description": "Customer last name.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"phone": {
"description": "Customer phone number.",
"type": "string",
"minLength": 1,
"maxLength": 50
},
"amount": {
"description": "Purchase amount; feeds percentage rewards (default 0).",
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
"purchase_date": {
"description": "Purchase date, ISO 8601 (default: now, UTC).",
"type": "string",
"maxLength": 40
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Must be true: confirms a matching pending referral may be approved and its rewards issued."
}
},
"required": [
"email",
"confirm"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社群
證據