GoAffPro MCP by usefulapi
Read affiliates, orders, payouts and traffic; set affiliate status and add coupons in GoAffPro.
Should I use this
Quality & Safety
Findings (1)
- LOWin goaffpro_list_special_commissions
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"goaffpro": {
"url": "https://goaffpro.usefulapi.io/mcp"
}
}
}Remote endpoints
https://goaffpro.usefulapi.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (15)
🟢goaffpro_list_affiliates(id, ref_code, email, coupon, status, ...)
List the affiliates of the program with status, ref code, coupon, group and contact fields. GET /admin/affiliates. Answer: { affiliates: [] }.
Input Schema
{
"type": "object",
"properties": {
"id": {
"description": "Comma-separated affiliate ids.",
"type": "string"
},
"ref_code": {
"description": "Only the affiliate with this ref code.",
"type": "string"
},
"email": {
"description": "Only the affiliate with this email.",
"type": "string"
},
"coupon": {
"description": "Only the affiliate that owns this coupon code.",
"type": "string"
},
"status": {
"description": "Comma-separated statuses: pending, approved, invited, rejected.",
"type": "string"
},
"since_id": {
"description": "Only items with an id greater than this id (paging by id).",
"type": "string"
},
"created_at_min": {
"description": "Only items created at or after this date. Use a date such as 2026-10-01 or 'Sun Jul 26 2019 12:10:07 GMT+0530'.",
"type": "string"
},
"created_at_max": {
"description": "Only items created at or before this date. Use a date such as 2026-10-01 or 'Sun Jul 26 2019 12:10:07 GMT+0530'.",
"type": "string"
},
"updated_at_min": {
"description": "Only affiliates updated at or after this date.",
"type": "string"
},
"updated_at_max": {
"description": "Only affiliates updated at or before this date.",
"type": "string"
},
"fields": {
"description": "Comma-separated list of fields to return.",
"type": "string"
},
"limit": {
"description": "Maximum number of results.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000
},
"offset": {
"description": "Number of results to skip (for paging).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goaffpro_search_affiliates(keyword, in, operator, sort_column, sort_direction, ...)
Search affiliates by a keyword in name, ref_code, email or coupon. GET /admin/affiliates/search. Answer: a list of affiliates.
Input Schema
{
"type": "object",
"properties": {
"keyword": {
"type": "string",
"description": "The text to look for."
},
"in": {
"type": "string",
"description": "Comma-separated columns to search: name, ref_code, email, coupon."
},
"operator": {
"description": "How to match (default starts_with).",
"type": "string",
"enum": [
"starts_with",
"ends_with",
"contains"
]
},
"sort_column": {
"type": "string",
"enum": [
"name",
"ref_code",
"id"
]
},
"sort_direction": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"fields": {
"description": "Comma-separated list of fields to return.",
"type": "string"
},
"limit": {
"description": "Maximum number of results.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000
}
},
"required": [
"keyword",
"in"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goaffpro_list_orders(id, number, customer_email, affiliate_id, status, ...)
List orders that are tied to affiliates, with total, commission, status (approved or rejected) and the date. GET /admin/orders. Answer: { orders: [] }.
Input Schema
{
"type": "object",
"properties": {
"id": {
"description": "Comma-separated order ids.",
"type": "string"
},
"number": {
"description": "Comma-separated order numbers.",
"type": "string"
},
"customer_email": {
"description": "Only orders of this customer email.",
"type": "string"
},
"affiliate_id": {
"description": "Only items for this affiliate id.",
"type": "string"
},
"status": {
"description": "Comma-separated statuses: approved, rejected.",
"type": "string"
},
"since_id": {
"description": "Only items with an id greater than this id (paging by id).",
"type": "string"
},
"created_at_min": {
"description": "Only items created at or after this date. Use a date such as 2026-10-01 or 'Sun Jul 26 2019 12:10:07 GMT+0530'.",
"type": "string"
},
"created_at_max": {
"description": "Only items created at or before this date. Use a date such as 2026-10-01 or 'Sun Jul 26 2019 12:10:07 GMT+0530'.",
"type": "string"
},
"is_new_customer": {
"type": "boolean"
},
"is_subscription": {
"type": "boolean"
},
"is_subscription_renewal": {
"type": "boolean"
},
"fields": {
"description": "Comma-separated list of fields to return.",
"type": "string"
},
"limit": {
"description": "Maximum number of results.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goaffpro_list_rewards(id, affiliate_id, type, status, order_id, ...)
List rewards (bonuses) given to affiliates. GET /admin/rewards. Answer: { rewards: [] }.
Input Schema
{
"type": "object",
"properties": {
"id": {
"description": "Comma-separated reward ids.",
"type": "string"
},
"affiliate_id": {
"description": "Only items for this affiliate id.",
"type": "string"
},
"type": {
"description": "Comma-separated reward types.",
"type": "string"
},
"status": {
"description": "Comma-separated statuses.",
"type": "string"
},
"order_id": {
"description": "Only rewards for this order id.",
"type": "string"
},
"since_id": {
"description": "Only items with an id greater than this id (paging by id).",
"type": "string"
},
"created_at_min": {
"description": "Only items created at or after this date. Use a date such as 2026-10-01 or 'Sun Jul 26 2019 12:10:07 GMT+0530'.",
"type": "string"
},
"created_at_max": {
"description": "Only items created at or before this date. Use a date such as 2026-10-01 or 'Sun Jul 26 2019 12:10:07 GMT+0530'.",
"type": "string"
},
"fields": {
"description": "Comma-separated list of fields to return.",
"type": "string"
},
"limit": {
"description": "Maximum number of results.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goaffpro_list_payments(id, affiliate_id, since_id, created_at_min, created_at_max, ...)
List the payment history to affiliates (amount, method, date). GET /admin/payments. Answer: { payments: [] }.
Input Schema
{
"type": "object",
"properties": {
"id": {
"description": "Comma-separated payment ids.",
"type": "string"
},
"affiliate_id": {
"description": "Only items for this affiliate id.",
"type": "string"
},
"since_id": {
"description": "Only items with an id greater than this id (paging by id).",
"type": "string"
},
"created_at_min": {
"description": "Only items created at or after this date. Use a date such as 2026-10-01 or 'Sun Jul 26 2019 12:10:07 GMT+0530'.",
"type": "string"
},
"created_at_max": {
"description": "Only items created at or before this date. Use a date such as 2026-10-01 or 'Sun Jul 26 2019 12:10:07 GMT+0530'.",
"type": "string"
},
"fields": {
"description": "Comma-separated list of fields to return.",
"type": "string"
},
"limit": {
"description": "Maximum number of results.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000
},
"offset": {
"description": "Number of results to skip (for paging).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goaffpro_list_payment_requests(affiliate_id, since_id, status, limit)
List payment requests that affiliates made from their dashboard. GET /admin/payments/requests. Answer: { PaymentRequests: [] }.
Input Schema
{
"type": "object",
"properties": {
"affiliate_id": {
"description": "Only items for this affiliate id.",
"type": "string"
},
"since_id": {
"description": "Only items with an id greater than this id (paging by id).",
"type": "string"
},
"status": {
"description": "Filter by status, for example in_progress, paid or rejected.",
"type": "string"
},
"limit": {
"description": "Maximum number of results.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goaffpro_get_pending_payouts(affiliate_id, upto)
Show the amount due to each affiliate up to a date. GET /admin/payments/pending. Answer: { pending: [{ affiliate_id, amount }], upto }.
Input Schema
{
"type": "object",
"properties": {
"affiliate_id": {
"description": "Only items for this affiliate id.",
"type": "string"
},
"upto": {
"description": "Amounts due up to this date. Use a date such as 2026-10-01 or 'Sun Jul 26 2019 12:10:07 GMT+0530'.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goaffpro_list_transactions(id, affiliate_id, type, is_paid, payout_id, ...)
List the transaction log (commission credits, payouts, balances) per affiliate. GET /admin/transactions. Answer: { transactions, count, limit, offset }.
Input Schema
{
"type": "object",
"properties": {
"id": {
"description": "Comma-separated transaction ids.",
"type": "string"
},
"affiliate_id": {
"description": "Only items for this affiliate id.",
"type": "string"
},
"type": {
"description": "Entity type filter, comma-separated.",
"type": "string"
},
"is_paid": {
"description": "true = only paid, false = only unpaid.",
"type": "boolean"
},
"payout_id": {
"type": "string"
},
"limit": {
"description": "Maximum number of results.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000
},
"offset": {
"description": "Number of results to skip (for paging).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goaffpro_list_traffic(affiliate_id, since_id, created_at_min, created_at_max, fields, ...)
List visits that affiliate links sent to the store (landing page, referrer, time). GET /admin/traffic. Answer: { traffic: [] }. Max limit 1000.
Input Schema
{
"type": "object",
"properties": {
"affiliate_id": {
"description": "Only items for this affiliate id.",
"type": "string"
},
"since_id": {
"description": "Only items with an id greater than this id (paging by id).",
"type": "string"
},
"created_at_min": {
"description": "Only items created at or after this date. Use a date such as 2026-10-01 or 'Sun Jul 26 2019 12:10:07 GMT+0530'.",
"type": "string"
},
"created_at_max": {
"description": "Only items created at or before this date. Use a date such as 2026-10-01 or 'Sun Jul 26 2019 12:10:07 GMT+0530'.",
"type": "string"
},
"fields": {
"description": "Comma-separated list of fields to return.",
"type": "string"
},
"limit": {
"description": "Maximum number of results.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goaffpro_list_coupons(affiliate_id, code, type, limit, offset)
List the coupon codes that are assigned to affiliates. GET /admin/coupons. Answer: { coupons: [] }.
Input Schema
{
"type": "object",
"properties": {
"affiliate_id": {
"description": "Only items for this affiliate id.",
"type": "string"
},
"code": {
"description": "Only this coupon code.",
"type": "string"
},
"type": {
"description": "Only this coupon type.",
"type": "string"
},
"limit": {
"description": "Maximum number of results.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000
},
"offset": {
"description": "Number of results to skip (for paging).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goaffpro_list_groups(id, fields)
List affiliate groups and their commission settings. GET /admin/groups. Answer: { groups: [] }.
Input Schema
{
"type": "object",
"properties": {
"id": {
"description": "Comma-separated group ids.",
"type": "string"
},
"fields": {
"description": "Comma-separated list of fields to return.",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goaffpro_list_special_commissions
List the special commission rates set for products and collections. GET /admin/commissions. Answer: { commissions: [] }.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢goaffpro_list_connections(affiliate_id, customer_email, since_id, updated_at_min, updated_at_max, ...)
List the links between affiliates and customers. GET /admin/connections.
Input Schema
{
"type": "object",
"properties": {
"affiliate_id": {
"description": "Only items for this affiliate id.",
"type": "string"
},
"customer_email": {
"type": "string"
},
"since_id": {
"description": "Only items with an id greater than this id (paging by id).",
"type": "string"
},
"updated_at_min": {
"description": "Only connections updated at or after this date.",
"type": "string"
},
"updated_at_max": {
"description": "Only connections updated at or before this date.",
"type": "string"
},
"limit": {
"description": "Maximum number of results.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 1000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡goaffpro_set_affiliate_status(affiliate_id, status)
WRITE: approve, reject or set to pending one affiliate. The affiliate may get an email from GoAffPro. PATCH /admin/affiliates/{id}.
Input Schema
{
"type": "object",
"properties": {
"affiliate_id": {
"type": "string",
"description": "The affiliate id (from goaffpro_list_affiliates)."
},
"status": {
"type": "string",
"enum": [
"pending",
"approved",
"rejected"
],
"description": "The new status."
}
},
"required": [
"affiliate_id",
"status"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴goaffpro_add_affiliate_coupon(affiliate_id, code, discount_type, discount_value)
WRITE: add a discount coupon code to one affiliate. This changes the store discounts. A repeat call can create a second coupon. POST /admin/affiliates/{id}/coupons.
Input Schema
{
"type": "object",
"properties": {
"affiliate_id": {
"type": "string",
"description": "The affiliate id (from goaffpro_list_affiliates)."
},
"code": {
"type": "string",
"minLength": 1,
"description": "The coupon code, for example JOHN10OFF."
},
"discount_type": {
"type": "string",
"enum": [
"percentage",
"fixed_amount",
"free_shipping"
],
"description": "The kind of discount."
},
"discount_value": {
"description": "The discount amount or percent (not needed for free_shipping).",
"type": "number",
"minimum": 0
}
},
"required": [
"affiliate_id",
"code",
"discount_type"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence