Skip to main content
Affixo exposes your affiliate program as a remote MCP connector: your assistant connects to one URL, you sign in with Affixo, and it can read your program and make safe changes on your behalf. No download, no config file, no key to copy.
  • One click, where the client supports it. Cursor and VS Code install from a link; Claude Code and Codex take one command; Claude and ChatGPT take the URL in their connector settings. See the setup guides.
  • OAuth, never an API key. The connector arrives with no credentials — a browser sign-in mints a workspace-scoped token behind the scenes. Nothing you paste into a config file is secret, so a shared mcp.json leaks nothing.
  • Workspace-scoped. On sign-in you pick which workspace and access level to grant. The connector can only ever see that workspace’s data.
  • Read + safe-configure only. No tool can move money — payouts and payment batches are deliberately not exposed. Configure tools ask for your approval in the client before they run.

Connect

1

Add the connector

Pick your client — most can add it for you, and Affixo has the buttons under Settings → Developer & API → MCP server:

Cursor

One click.

VS Code

One click.

Claude Code

One command.

Codex

Two commands.

Gemini CLI

One command.

Claude

Settings → Connectors.

ChatGPT

Developer mode.
Any other client takes the URL directly as a remote/custom connector:
Windsurf keeps its config at ~/.codeium/windsurf/mcp_config.json, and names the field serverUrl rather than url:
There is no API key in any of these. If a setup asks you to paste an sa_live_ key into a config file, it’s out of date — the connector authenticates in the browser instead.
2

Connect and sign in

Click Connect. Affixo opens in your browser — sign in (or you’re already signed in), then choose the workspace and access level:
  • Read only — inspect campaigns, commissions, promoters and referrals.
  • Read & write — also create/update campaigns, set commission rules (including per-product rates), configure product commissions, and invite affiliates.
You must be an admin of the workspace to authorize a connector.
3

Use it

Affixo’s tools appear in your client. Try: “List my Affixo campaigns” or “Show my pending commissions.”

Tools

Configure (write) tools surface to the client, whose per-tool human approval is the confirmation gate. No tool can move money, whatever access you grant.

Result format

Every tool takes an optional responseFormat: You rarely need to ask for either — your assistant picks. Reach for json when you want a nested field walked precisely, or when the distinction between the string "5" and the number 5 matters; that is the one thing the table form flattens. Nothing else is lost in markdown: every field survives, and a value too structured for a cell is written there as compact JSON rather than dropped.

Per-product commissions

A campaign carries multiple commission rules. Each rule is a rate + recurrence plus an optional scope: product_ids (only those Stripe products) or billing_interval (one_time purchases, monthly plans, or yearly plans). A rule with no scope is the campaign’s default:
  • A sale of a mapped product pays its rule’s rate.
  • Otherwise a sale matching an interval rule pays that rate.
  • Otherwise the sale pays the default rule.
  • With only scoped rules and no match, the sale pays nothing.
  • A product (or an interval) can belong to at most one rule per campaign.
So one campaign can pay, say, 195onGeneralAdmission,195 on General Admission, 300 on VIP, and 10% on everything else — just ask your assistant:
“In my Affixo campaign, pay a flat 195fortheGAproduct,aflat195 for the GA product, a flat 300 for VIP, and 10% for everything else.”
The assistant will call affixo_set_commission_rule once per rate (your client asks you to approve each write). Products come from your Stripe sync or manual entry — check them with “list my Affixo products”.

Non-cash rewards

Any rule — default, per-product, or per-cadence — can pay a non-cash reward (credits, points, free months) instead of a cash commission. Set reward_type="non_cash" with a unit, and amount becomes the count of that unit:
“In my Affixo campaign, give 100 credits for the Starter product and 10% on everything else.”
A non-cash rule records a fulfilment for you to apply on your own system rather than paying money — Affixo never moves funds or applies the credit itself. Each fulfilment fires the fulfilment.pending webhook event when earned (fulfilment.completed / fulfilment.cancelled follow its lifecycle) and appears in the dashboard’s Rewards queue until you mark it fulfilled. Everything else (scope precedence, recurrence) works exactly as it does for cash rules.

Managing access

Each connection is backed by a workspace API key created when you authorize it. To review or revoke access, go to Settings → Developer & API → API keys and delete the connector’s key — the connection stops working immediately. Grant Read only if you just want the assistant to report on your program.