Referrals.com MCP by usefulapi

Read brands, campaigns and stats; create or update brands and campaigns in Referrals.com.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
79%
Naming quality
77%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'referrals_com_get_campaign_stats' name length outside 3-30 rangein referrals_com_get_campaign_stats
  • LOWTool 'referrals_com_list_participants' name length outside 3-30 rangein referrals_com_list_participants

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,189Tokens (tool definitions)
~1011 BTypical response size
Moderate attention impact (1.71% of 128k context)

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": {
    "referrals-com": {
      "url": "https://referrals-com.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://referrals-com.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (15)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢referrals_com_get_profile

Get the Referrals.com account that the API key belongs to: name, email and plan. Good first call to confirm the key works. API: GET /v1/members/profile.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢referrals_com_list_brands(page, limit)

List the brands (websites) in the account. A brand owns campaigns. API: GET /v1/brands.

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Items per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢referrals_com_get_brand(brand_id)

Get one brand by id: its URL, domain, description and logo. API: GET /v1/brands/{brandId}.

Input Schema

{
  "type": "object",
  "properties": {
    "brand_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Brand id, from referrals_com_list_brands."
    }
  },
  "required": [
    "brand_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢referrals_com_get_brand_stats(brand_id)

Get analytics for one brand: campaigns, participants, shares, clicks and impressions. API: GET /v1/brands/{brandId}/stats.

Input Schema

{
  "type": "object",
  "properties": {
    "brand_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Brand id."
    }
  },
  "required": [
    "brand_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴referrals_com_create_brand(url, description)

Create a brand (a website that runs referral campaigns). Creates a new record; it is not undone by a retry. API: POST /v1/brands.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "The brand website, for example https://mybrand.com."
    },
    "description": {
      "description": "Short description of the brand.",
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴referrals_com_update_brand(brand_id, description, logo_url)

Change a brand's description or logo URL. Fields you omit stay as they are. API: PUT /v1/brands/{brandId}.

Input Schema

{
  "type": "object",
  "properties": {
    "brand_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Brand id to change."
    },
    "description": {
      "description": "New description.",
      "type": "string"
    },
    "logo_url": {
      "description": "New logo image URL.",
      "type": "string",
      "format": "uri"
    }
  },
  "required": [
    "brand_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢referrals_com_list_campaigns(brand_id, page, limit)

List campaigns, optionally for one brand. API: GET /v1/campaigns.

Input Schema

{
  "type": "object",
  "properties": {
    "brand_id": {
      "description": "Only campaigns of this brand.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ]
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Items per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢referrals_com_get_campaign(campaign_id)

Get one campaign with its widget, reward and contest settings. API: GET /v1/campaigns/{campaignId}.

Input Schema

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Campaign id, from referrals_com_list_campaigns."
    }
  },
  "required": [
    "campaign_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢referrals_com_get_campaign_stats(campaign_id)

Get campaign stats: participants, shares, clicks, impressions and daily signups. API: GET /v1/campaigns/{campaignId}/stats.

Input Schema

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Campaign id."
    }
  },
  "required": [
    "campaign_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴referrals_com_create_campaign(name, brand_id, type_id, reward_type)

Create a campaign under a brand. Creates a new record. The reward_type and type_id codes are not listed in the public docs: check them in the dashboard first. API: POST /v1/campaigns.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Campaign name, for example Summer Promo."
    },
    "brand_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Brand the campaign belongs to (the API field is url_id)."
    },
    "type_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Campaign type code (from the dashboard)."
    },
    "reward_type": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Reward type code (from the dashboard)."
    }
  },
  "required": [
    "name",
    "brand_id",
    "type_id",
    "reward_type"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴referrals_com_update_campaign(campaign_id, name, publish)

Change a campaign's name or publish setting. Fields you omit stay as they are. API: PUT /v1/campaigns/{campaignId}.

Input Schema

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Campaign id to change."
    },
    "name": {
      "description": "New campaign name.",
      "type": "string",
      "minLength": 1
    },
    "publish": {
      "description": "Publish setting as the API takes it, for example public.",
      "type": "string"
    }
  },
  "required": [
    "campaign_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢referrals_com_list_participants(campaign_id, page, limit)

List participants (people who joined a referral campaign), optionally for one campaign. API: GET /v1/participants.

Input Schema

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "description": "Only participants of this campaign.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ]
    },
    "page": {
      "description": "Page number, starting at 1.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Items per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢referrals_com_get_participant(participant_id)

Get one participant with their shares, rewards and invited emails. API: GET /v1/participants/{participantId}.

Input Schema

{
  "type": "object",
  "properties": {
    "participant_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Participant id, from referrals_com_list_participants."
    }
  },
  "required": [
    "participant_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢referrals_com_list_webhooks

List the webhook URLs registered in the account. API: GET /v1/webhooks.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢referrals_com_get_lander(campaign_id)

Get the lander page settings of one campaign: template, header and footer text, background, brand and social links. API: GET /v1/lander.

Input Schema

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        }
      ],
      "description": "Campaign id."
    }
  },
  "required": [
    "campaign_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded15 tools