100+ integrations are ready to connect to your AI.Connect your first MCP

FirstPromoter MCP server for your AI

Ask who your best promoters are, review the commissions waiting for approval, see who is due a payout, and accept new promoters, all in the FirstPromoter account that already runs your affiliate program.

PopMCPFirstPromoter

How is our affiliate program doing, and how much is due to be paid?

Supported FirstPromoter tools

Every route a FirstPromoter API key can call, with the everyday program tools loaded by default, plus one-call answers for how the program is doing, how one promoter is doing and who is owed money.

174 tools in the full catalog: 76 read and 98 write. 37 load by default, and the rest are found with tool search.

firstpromoter_accept_promoters

Accepts promoters into one campaign.

firstpromoter_add_promoters_to_campaign

Adds promoters to one more campaign, keeping the ones they are in.

firstpromoter_block_promoters

Blocks promoters on one campaign, which stops them earning there.

firstpromoter_create_promoter

Adds a promoter.

firstpromoter_get_promoter

Reads one promoter in full.

firstpromoter_list_promoters

Lists promoters (affiliates), with stats and the campaigns each one is in.

firstpromoter_move_promoters_to_campaign

Moves promoters from one campaign to another, keeping their referral id.

firstpromoter_reject_promoters

Rejects promoters from one campaign.

firstpromoter_update_promoter

Changes a promoter's email, cust_id, custom fields or profile.

firstpromoter_get_referral

Reads one referral with its promoter and campaign.

firstpromoter_list_referrals

Lists referrals: the leads and customers promoters brought in.

firstpromoter_get_due_payout_stats

Reads what is due to be paid, with the program's payout terms.

firstpromoter_list_payouts

Lists payouts to promoters.

firstpromoter_list_payouts_by_promoter

Lists what each promoter is owed, grouped by promoter, with their payout method.

firstpromoter_mark_payouts_as_paid

Records payouts as paid, for money sent outside FirstPromoter.

firstpromoter_approve_commissions

Approves commissions, making them payable to promoters.

firstpromoter_create_commission

Creates a commission, which is money owed to a promoter once approved.

firstpromoter_deny_commissions

Denies commissions, so they are not paid.

firstpromoter_get_campaigns_report

Reports each campaign's performance.

firstpromoter_get_overview_report

Reports the whole program over time: revenue, referrals, customers, clicks and more.

firstpromoter_get_promoters_report

Reports each promoter's performance.

firstpromoter_list_commissions

Lists commissions: what promoters earned.

firstpromoter_create_promo_code

Creates a promo code for a promoter.

firstpromoter_get_campaign

Reads one campaign in full.

firstpromoter_list_campaigns

Lists campaigns, with their stats, links and rewards.

firstpromoter_list_promo_codes

Lists promo codes.

firstpromoter_payouts_due

Shows what is due to be paid and who is owed what, with each promoter's payout method and the program's payout terms, in one call.

firstpromoter_program_overview

Shows how the affiliate program stands now in one call: revenue, referrals, customers, promoters, pending commissions, what is due to pay, and who is trending.

firstpromoter_promoter_snapshot

Shows everything about one promoter in one call: profile and campaigns, referral links, results over a date range, and commissions waiting for review.

firstpromoter_search_promoter_campaigns

Finds a promoter campaign by text, such as a promoter's name or email.

firstpromoter_top_promoters

Ranks promoters by one measure over a date range, such as who brought the most revenue last month.

firstpromoter_wait_for_batch

Waits up to about 25 seconds for a bulk action to finish, then answers how many worked and how many failed.

firstpromoter_get_dashboard_stats

Reads the headline numbers on the dashboard: revenue, referrals, customers, promoters and pending commissions.

firstpromoter_list_rewards

Lists reward rules: how promoters earn and what referred customers get.

firstpromoter_track_sale

Records a sale, which creates commissions for the promoter.

firstpromoter_track_signup

Records a signup as a lead for the promoter who referred it.

firstpromoter_get_batch_process

Reads one background job: status, how many it processed and any that failed.

firstpromoter_v1_add_promoter_to_campaign

Older V1 API: adds one promoter to another campaign.

firstpromoter_v1_create_payout

Older V1 API: creates a payout for a promoter from what they are due.

firstpromoter_v1_create_promoter

Older V1 API: adds a promoter.

firstpromoter_v1_create_reward

Older V1 API: gives a non-cash reward such as points, credits or free months.

firstpromoter_v1_delete_lead

Older V1 API: deletes one lead by id, uid or email.

firstpromoter_v1_delete_promoter

Older V1 API: deletes a promoter.

firstpromoter_v1_get_campaigns_report

Older V1 API: reports by campaign.

firstpromoter_v1_get_lead

Older V1 API: reads one lead by id, uid or email.

firstpromoter_v1_get_overview_report

Older V1 API: reports the whole program.

firstpromoter_v1_get_promoter

Older V1 API: reads one promoter by id, promoter_email, cust_id, ref_id or auth_token.

firstpromoter_v1_get_promoters_report

Older V1 API: reports by promoter.

firstpromoter_v1_list_leads

Older V1 API: lists leads and customers.

firstpromoter_v1_list_payouts

Older V1 API: lists payouts.

firstpromoter_v1_list_promoters

Older V1 API: lists promoters.

firstpromoter_v1_list_rewards

Older V1 API: lists rewards and commissions.

firstpromoter_v1_move_promoter_to_campaign

Older V1 API: moves one promoter between campaigns.

firstpromoter_v1_refresh_promoter_token

Older V1 API: replaces a promoter's auth token, which stops the old one working, and answers the new one.

firstpromoter_v1_track_cancellation

Older V1 API: records that a customer cancelled.

firstpromoter_v1_track_refund

Older V1 API: records a refund, which takes commission back.

firstpromoter_v1_track_sale

Older V1 API: records a sale, creating commissions.

firstpromoter_v1_track_signup

Older V1 API: records a signup.

firstpromoter_v1_track_subscriber

Older V1 API: records a newsletter or mailing list subscriber as a lead.

firstpromoter_v1_update_lead

Older V1 API: changes a lead.

firstpromoter_v1_update_payout

Older V1 API: changes a payout's status.

firstpromoter_v1_update_promoter

Older V1 API: changes a promoter.

firstpromoter_v1_update_reward

Older V1 API: changes a reward's status.

firstpromoter_archive_promoters

Archives promoters, hiding them from everyday lists.

firstpromoter_assign_parent_promoter

Makes one promoter the parent of others, for sub-affiliate commissions.

firstpromoter_get_promoter_chart_data

Reads one promoter's daily or monthly series for one measure: revenue, clicks, referrals, customers or cancellations.

firstpromoter_list_promoter_referral_links

Lists one promoter's referral links: their default link and any campaign or custom links.

firstpromoter_restore_promoters

Brings archived promoters back, with their history.

firstpromoter_approve_referrals

Approves referrals waiting for review.

firstpromoter_create_referral

Adds a referral by hand, credited to one promoter.

firstpromoter_delete_referrals

Deletes referrals.

firstpromoter_disable_referrals

Disables referrals, so they stop earning commissions.

firstpromoter_enable_referrals

Enables disabled referrals again, so they earn commissions.

firstpromoter_import_referral_events

Imports a referral's earlier sales from Stripe, which can create commissions.

firstpromoter_list_custom_referral_statuses

Lists your own referral statuses, such as Contacted or Qualified.

firstpromoter_move_referrals_to_promoter

Moves referrals to another promoter.

firstpromoter_update_custom_referral_statuses

Adds, renames, orders or deletes your own referral statuses.

firstpromoter_update_referral

Changes a referral's email, uid, username, promoter_campaign_id, fraud_check, split_details, or custom status.

firstpromoter_copy_email

Makes a copy of an email, to edit without touching the original.

firstpromoter_create_email

Creates an email to promoters.

firstpromoter_delete_email

Deletes an email.

firstpromoter_delete_invoices

Deletes invoices.

firstpromoter_export_invoices_csv

Answers invoices as CSV text.

firstpromoter_export_invoices_zip

Starts a background job that makes one zip of every invoice PDF.

firstpromoter_finalize_invoices

Finalizes draft invoices, so they can no longer be edited.

firstpromoter_get_email

Reads one email with its full HTML and trigger.

firstpromoter_get_email_template

Reads the HTML theme around all your emails.

firstpromoter_get_invoice

Reads one invoice, with a link to its PDF.

firstpromoter_get_invoice_template

Reads the HTML of the invoice template.

firstpromoter_list_emails

Lists emails to promoters.

firstpromoter_list_invoices

Lists promoter invoices.

firstpromoter_preview_invoice

Renders the invoice a promoter would get, as HTML, creating nothing.

firstpromoter_preview_invoice_template

Renders template HTML as a sample invoice, saving nothing.

firstpromoter_send_email_now

SENDS TO REAL PEOPLE: sends this email to its promoters now, which cannot be undone.

firstpromoter_send_test_email

Sends a test of this email to the account's own user, not to promoters.

firstpromoter_send_test_email_template

Sends a test of the email theme to the account's own user.

firstpromoter_update_email

Replaces an email.

firstpromoter_update_email_template

Replaces the HTML theme around all your emails with html.

firstpromoter_update_invoice_template

Replaces the invoice template with the HTML in html.

firstpromoter_void_invoices

Voids invoices.

firstpromoter_create_payments_batch

Creates a batch to pay all due payouts for one method: paypal, bank, wise, crypto or dots.

firstpromoter_create_webhook

Subscribes a URL to events.

firstpromoter_delete_payments_batch

Deletes a payments batch that has not been paid.

firstpromoter_delete_payouts

Deletes payouts.

firstpromoter_delete_webhook

Deletes a webhook subscription, which stops its events at once.

firstpromoter_get_payout_stats

Reads payout totals.

firstpromoter_get_webhook

Reads one webhook subscription.

firstpromoter_get_webhook_delivery

Reads one webhook delivery with its status and response.

firstpromoter_list_webhook_deliveries

Lists what a webhook sent and whether it arrived.

firstpromoter_list_webhook_event_types

Lists every event a webhook can subscribe to, such as commission.created.

firstpromoter_list_webhooks

Lists webhook subscriptions.

firstpromoter_mark_payouts_as_unpaid

Reverses a paid record, so the payout is due again.

firstpromoter_pay_payments_batch

SENDS REAL MONEY: starts paying a payments batch.

firstpromoter_retry_webhook_delivery

Sends a failed webhook delivery again.

firstpromoter_test_webhook

Sends a sample event to a URL now, to check it works.

firstpromoter_update_webhook

Changes a webhook's URL, events or campaigns, or pauses it with active false.

firstpromoter_delete_commissions

Deletes commissions, removing what promoters are owed.

firstpromoter_download_report

Answers a report as CSV text.

firstpromoter_generate_payouts_for_commissions

Creates payouts now for approved commissions, without waiting for the payout cycle.

firstpromoter_get_promoter_overview_report

Reports one promoter's performance over time.

firstpromoter_get_promoter_traffic_sources_report

Reports where one promoter's traffic comes from, by source and over time.

firstpromoter_get_promoter_urls_report

Reports one promoter's results by landing page URL.

firstpromoter_get_traffic_sources_report

Reports where referral traffic comes from.

firstpromoter_get_urls_report

Reports results by landing page URL.

firstpromoter_mark_commissions_fulfilled

Marks non-cash commissions, such as credits or free months, as delivered.

firstpromoter_mark_commissions_unfulfilled

Marks non-cash commissions as not yet delivered.

firstpromoter_update_commission

Changes a commission's internal_note or external_note.

firstpromoter_create_asset

Adds a marketing asset.

firstpromoter_delete_assets

Deletes assets.

firstpromoter_get_asset

Reads one asset.

firstpromoter_list_asset_categories

Lists asset categories.

firstpromoter_list_assets

Lists marketing assets promoters can use: images, documents, links and text.

firstpromoter_update_asset

Changes an asset.

firstpromoter_update_asset_categories

Adds, renames, orders or deletes asset categories.

firstpromoter_update_assets_category

Moves assets to a category.

firstpromoter_create_contract

Creates an agreement.

firstpromoter_delete_contract

Deletes an agreement.

firstpromoter_get_contract

Reads one agreement.

firstpromoter_get_contract_document

Reads one signed or pending agreement.

firstpromoter_list_contract_documents

Lists the agreements promoters have to sign or have signed.

firstpromoter_list_contracts

Lists affiliate agreements promoters must accept.

firstpromoter_update_contract

Changes an agreement, which can ask promoters to accept it again.

firstpromoter_archive_promo_code

Archives a promo code.

firstpromoter_create_campaign

Creates a campaign.

firstpromoter_create_payout_method

Adds a payout method for a promoter, which decides where their money goes.

firstpromoter_create_product

Adds a product.

firstpromoter_delete_campaign

Deletes a campaign.

firstpromoter_delete_payout_method

Removes a promoter's payout method.

firstpromoter_delete_product

Deletes a product.

firstpromoter_get_payout_method

Reads one payout method.

firstpromoter_get_product

Reads one product.

firstpromoter_get_promo_code

Reads one promo code.

firstpromoter_get_promoter_campaign_chart_data

Reads the series for one measure, for one promoter on one campaign.

firstpromoter_list_payout_methods

Lists one promoter's payout methods.

firstpromoter_list_products

Lists products that can have their own commission rules.

firstpromoter_list_promoter_campaign_referral_links

Lists the referral links for one promoter on one campaign.

firstpromoter_list_promoter_campaigns

Lists promoter campaigns: the records linking one promoter to one campaign.

firstpromoter_update_campaign

Changes a campaign's name, landing page, cookie life, visibility, links or rewards.

firstpromoter_update_payout_method

Changes a payout method, which decides where a promoter's money goes.

firstpromoter_update_product

Changes a product's name, ext_id or prices.

firstpromoter_update_promo_code

Changes a promo code's code, description or promoter.

firstpromoter_update_promoter_campaign

Changes one promoter's terms on one campaign: ref_token, state, coupon, display_coupon, direct_url, or their own rewards.

firstpromoter_create_reward

Creates a reward rule.

firstpromoter_get_dashboard_chart_data

Reads the dashboard's series for one measure: revenue, commissions, clicks, referrals, customers or cancellations.

firstpromoter_get_dashboard_payouts_and_commissions

Reads the dashboard's payout and commission totals.

firstpromoter_get_dashboard_trendings

Reads the trending promoters and campaigns.

firstpromoter_hide_reward

Hides a reward so it cannot be attached to anything new.

firstpromoter_track_cancellation

Records that a customer cancelled, which lowers the monthly revenue they count for.

firstpromoter_track_refund

Records a refund, which takes commission back.

firstpromoter_update_reward

Changes a reward rule.

firstpromoter_get_batch_progress

Reads the progress of background jobs.

firstpromoter_list_batch_processes

Lists background jobs from bulk actions.

firstpromoter_create_embed_login_token

Mints a short-lived login token for one promoter, for embedding their dashboard in your own app.

firstpromoter_end_embed_login_sessions

Ends a promoter's embedded dashboard sessions.

Connect FirstPromoter to Claude, ChatGPT and Claude Code

Credentials off one FirstPromoter screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.

In FirstPromoter open Settings, then Integrations, then Manage API Keys. Add a new key, copy it, and paste it into PopMCP with the Account ID shown in the same panel. There is no app to review and nothing to deploy.

API key••••••••••••3f7a
Account ID123456
V1 API key••••••••••••3f7a
ConnectionVerified

Then just ask for the work

  • “How is our affiliate program doing, and how much is due to be paid?”

    • program_overview
  • “Who were our top ten promoters by revenue last month?”

    • top_promoters
  • “Show me everything on ann@example.com: her links, recent results and commissions waiting”

    • promoter_snapshot
  • “Which commissions are waiting for approval? Approve the ones for Ann”

    • list_commissions
    • approve_commissions
    • wait_for_batch
  • “Who is due a payout, and how does each of them get paid?”

    • payouts_due
  • “Which promoters are waiting for review? Accept the ones with a company website”

    • list_promoters
    • accept_promoters
  • “Add Priya Shah as a promoter on the partners campaign and give her the code PRIYA20”

    • list_campaigns
    • create_promoter
    • search_promoter_campaigns
    • create_promo_code
  • “Which referrals became customers this month, and which landing pages brought them in?”

    • list_referrals
    • get_urls_report

Use FirstPromoter from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

FirstPromoter MCP server questions

What teams ask before putting FirstPromoter behind an AI client.

What does PopMCP need to connect FirstPromoter?

An API key and your Account ID, both from Settings, Integrations, Manage API Keys in FirstPromoter. PopMCP stores them encrypted and checks them against FirstPromoter when you connect. They never reach your AI client.

Which FirstPromoter plan do I need?

Any of them. FirstPromoter's pricing page lists its developer APIs and webhooks on Starter, Business and Enterprise. Embedding the promoter dashboard in your own app needs Business or higher and a custom domain.

Can I give the AI read-only access?

Yes, and new connections start that way. A FirstPromoter API key can always do everything in the account, so the limit is PopMCP's: while write actions are off, every tool that changes something is hidden and refused.

Can the AI send money to my promoters?

Only if you allow write actions and ask for it. Marking a payout as paid is only a record. Paying through FirstPromoter takes a payment batch and a one-time code that only you can give, and that tool stays out of the default set.

Does the AI see my promoters' bank details?

No. Bank account and wallet numbers are cut to their last four characters before they reach the AI, and promoter login tokens are removed from every answer.

How is this different from FirstPromoter's own MCP server?

FirstPromoter describes its own server as experimental, and it leaves out paying promoters, invoices and creating commissions. PopMCP covers those routes too, behind the same read-only switch and team controls as the rest of your connectors.

Do I need a separate key for the older V1 tools?

Only if FirstPromoter refuses your main key on them. The form has an optional V1 API key field under More options. The newer tools cover almost everything, so most people can leave it blank.

Do I have to run or host the FirstPromoter MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

How do I connect FirstPromoter to Claude Code?

Connect FirstPromoter in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking FirstPromoter on the consent screen. The FirstPromoter tools are then available in that session, and no FirstPromoter credential is stored on your machine.

Why do only 37 of the 174 tools load by default?

Loading 174 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 37-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.

What is the difference between a tool and a trigger?

A tool is something your AI calls, and there are 174 here. A trigger is something PopMCP watches for you: 20 FirstPromoter events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into FirstPromoter.

Connect FirstPromoter to your AI in minutes

Launch a hosted MCP endpoint for FirstPromoter, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP