Skip to main content
The FirstPromoter MCP server is experimental. Tool names and parameters may change without notice.

Reports & analytics

ToolDescription
get_company_contextCampaigns, currency, active/pending promoter counts. The “what is this company?” entry point.
get_dashboard_statsRevenue, referrals, customers, accepted/pending promoters, pending commissions.
get_dashboard_trendingTop 3 trending promoters and campaigns over the last 30 days.
get_overview_reportRevenue, referrals, customers, clicks, sales, refunds, and earnings grouped by day, week, month, or year.
get_promoters_reportPerformance ranking per promoter for a date range.
get_campaigns_reportPerformance ranking per campaign for a date range.
get_urls_reportLanding-page traffic broken down by clicks, customers, sales, and revenue.
get_traffic_sources_reportWhere referral traffic comes from — direct, organic, social, paid.

Campaigns

ToolDescription
list_campaignsEvery campaign with key metrics.
get_campaignFull detail for one campaign by ID.
create_campaignNew campaign in the company’s default program; attach rewards in the same call.
update_campaignChange name, landing URL, cookie life, referral param, visibility, attached rewards.

Promoters

ToolDescription
list_promotersFilterable by status, signup/approval date, campaign, revenue. Supports a q parameter for fuzzy search across email, first/last name, and website.
get_promoterDetailed profile, balances, campaign membership, and all profile fields (name, country, address, social URLs, business details).
create_promoterNew promoter on an initial campaign with profile data.
update_promoterEvery field the admin Edit modal exposes: email, name, website, company name and number, VAT ID, phone, address, country, PayPal email, social URLs (Facebook, Twitter, Instagram, YouTube, LinkedIn, Twitch, TikTok), admin note, custom fields, and behaviour flags.
accept_promoterState change scoped to a single campaign. Verifies the per-campaign state actually persisted before reporting success.
reject_promoterState change scoped to a single campaign.
block_promoterState change scoped to a single campaign.
add_promoter_to_campaignEnrol in an additional campaign without affecting existing memberships.
move_promoter_to_campaignMove between campaigns; optionally soft-move existing referrals.
assign_parent_promoterSet or remove the parent in a sub-affiliate hierarchy.
restore_promoterBring an archived promoter back — history and referrals preserved.
update_promoter_campaignPer-promoter overrides on a specific campaign: ref token, coupon, display coupon, direct URL, state, and reward override.

Referrals

ToolDescription
list_referralsFilter by state, date range, campaign, promoter; sorted newest first.
get_referralSingle referral with promoter, campaign, customer email, and the full event log.

Commissions & payouts

ToolDescription
list_commissionsFilter by status, date, campaign, promoter.
list_payoutsCash rewards paid to promoters; amounts in cents.
mark_commission_fulfilledFor non-monetary commissions only (badges, points, free months).
mark_commission_unfulfilledRevert a fulfilled non-monetary commission.

Rewards

ToolDescription
list_rewardsAll reward rules defined in the company.
get_rewardSingle reward with name, type, schemas, tier level, and coupon.
create_rewardNew commission or discount rule.
update_rewardChange name, type, schemas, coupon, tier.
hide_rewardSoft-delete a reward. Existing attachments and pending commissions keep working, but it can no longer be attached to new campaigns or promoters.

Promo codes

ToolDescription
list_promo_codesCodes attached to promoters or campaigns. Optionally filter by promoter campaign or include archived.
get_promo_codeSingle code with reward and scope details.
create_promo_codeNew code attached to a reward, optionally scoped to a specific promoter and campaign.
update_promo_codeChange code, description, reward, scope.
archive_promo_codeSoft-delete. Preserved for historical reporting; new redemptions are rejected.

Products

ToolDescription
list_productsSKUs that can have product-specific commission rules attached.
get_productSingle product detail.
create_productNew product with name, external billing-provider ID, and prices.
update_productUpdate name, external billing-provider ID, and prices.
delete_productPermanent delete. Historical sales referencing the product keep the name as a snapshot.

Assets

ToolDescription
list_assetsMarketing assets (banners, swipe copy, images) promoters can download.
get_assetSingle asset detail.

Contracts

ToolDescription
list_contractsAffiliate program contracts (Terms of Service, NDAs) that promoters agree to.
get_contractSingle contract detail.

Emails

ToolDescription
list_emailsFilter by status (draft, scheduled, sent, failed) and trigger event (promoter_accepted, lead_signup, reward_created, etc.). Use this to map an existing onboarding sequence.
get_emailFull HTML body and trigger configuration for a single email.
create_emailDraft a new transactional email tied to a trigger event. Created in draft status with the trigger disabled — an admin must review and enable it from the dashboard before anything sends. Merge tags like {{promoter.first_name}} and {{promoter.email}} are supported in the body.
update_emailEdit name, subject, body, or trigger on a non-sent email. Cannot touch emails already in sent status, and cannot flip a draft into a scheduled send.
Broadcast emails and send-now actions are not exposed via MCP — those remain dashboard-only.