Server data from the Official MCP Registry
Affiliate network reporting in your AI client. Bring your own keys. Most adapters experimental.
Affiliate network reporting in your AI client. Bring your own keys. Most adapters experimental.
Remote endpoints: streamable-http: https://mcp.agenticaffiliate.ai/mcp
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
Endpoint verified · Requires authentication · 2 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Available as Local & Remote
This plugin can run on your machine or connect to a hosted endpoint. during install.
From the project's GitHub README.
Integrate your affiliate networks with Claude or Codex.
Network operators: most adapters are community-built and
experimental. Adoption gives your team ownership and a verification path; promotion topartialorproductionstill requires current evidence and maintainer review. Find your network's issue under theadopt-this-networklabel.
Affiliate networks have two sides — and neither has a first-class AI workspace integration.
Publishers earn commissions from the programmes they join. Brands (and the agencies who manage them) run those programmes and pay the commissions out. I wanted to chat to my own affiliate data in the AI workspace I already use; none of the networks had shipped an integration for either side, so I built a broad beta set that covers both publisher and advertiser-side work.
If you're a publisher, you can ask:
"What did I earn across all networks last month?"
"Which programmes have transactions still pending after 90 days?"
"Compare my earnings month on month."
If you're on the brand side — running a programme, or an agency managing several — you can ask:
"How is Acme's programme doing this quarter?"
"Show me revenue across all my clients this week."
"Any anomalies in the affiliate data?"
Your AI workspace figures out which networks to call, fetches the data live from their APIs, and gives you the answer. You can use Claude or Codex to turn it into a sheet, an artifact, an email to your boss, whatever you want.
Free and open source. MIT licensed. Bring your own keys. For the product philosophy, read the AI-native affiliate data manifesto.
This tool serves two audiences. Pick the one that fits — or both, if you wear both hats.
You're a publisher. You earn commissions from affiliate programmes, your dashboards can't keep up with how fast you can think, and you want one conversation that spans every network you're on.
You're on the brand side. You run an affiliate programme — or you're an agency managing several brands' programmes. You want one question that fans out across networks and brands, and surfaces what the dashboards bury: publishers trending down, reversal spikes, dead links, programmes drifting toward zero.
Either way, you do not need to know what an API is or write code. The non-technical Claude Desktop track needs:
The technical track uses a terminal, Node.js 20 or newer, and Claude Desktop, Claude Code, Codex, or another compatible local stdio MCP client; check the support states below before relying on an untested client journey.
And if you work for an affiliate network, this is also for you. The
bundled adapters are placeholders until each network adopts its own. See
CONTRIBUTING.md under "Adopting your network".
One question, every network and every brand. "Show me earnings by programme" hits your configured publisher networks in parallel. On the brand side, "show me revenue across all my clients this week" fans out across every brand and network pair you've registered.
Plain English, not filters. No more clicking through date pickers and saved views. "Last quarter, status pending, sorted by amount" is the whole prompt.
Your data, your machine, by default. It runs locally. Your keys live in
~/.affiliate-mcp/.env, locked to your user account. Optional anonymous
usage telemetry is off by default and never contains affiliate data,
credentials, prompts, arguments, results, or error text. The networks see
the same API calls they'd see from their dashboard.
Catches what dashboards bury. Stale transactions, inactive programmes, dead deeplinks and week-on-week drops are surfaced by the packaged skills.
Optional local result cache. Persistent caching is off by default. Set
AFFILIATE_MCP_CACHE=on in ~/.affiliate-mcp/.env to cache selected programme
inventory and closed reporting windows locally with owner-only permissions.
Open and current windows always go live. On a shared machine where you cannot
rely on file permissions, leave caching off. Run
affiliate-networks-mcp cache clear to remove cached results; see
PRIVACY.md for the storage and retention contract.
Choose one of two primary tracks. Both run the same local MCP server and keep your credentials on your machine.
Use the host-native Claude Desktop .mcpb. No Terminal, Node.js, or manual
configuration is required.
affiliate-networks-mcp-<version>.mcpb from the latest
GitHub release.The extension does not update itself: download the latest .mcpb and install it over the top; saved credentials are kept (full steps for every install path).
The native extension currently offers secure setup fields for Awin, CJ, Impact,
and Partnerize. It runs the complete server, so an existing
~/.affiliate-mcp/.env continues to enable every other adapter. A portable
browser setup flow for the remaining networks is planned; until then, use the
technical track below when adding them.
The standalone Electron/DMG setup app is a fixes-only compatibility
fallback for existing macOS users. It is not a third primary onboarding
track. See desktop/README.md for its remaining use
case.
You'll need Node.js 20 or newer installed. If you don't have it, use the Node.js download page.
1. Run the setup wizard. Open Terminal (macOS) or PowerShell (Windows):
npx affiliate-networks-mcp setup
It walks you through one network at a time, asks which side you want, shows where to find each credential, then checks it against the live network.
For brand-side networks, the wizard asks which brands those credentials can
reach, then lets you pick local nicknames. The mapping is saved to
~/.affiliate-mcp/brands.json, see Managing brands.
2. Check everything is wired up.
npx affiliate-networks-mcp test
You should see one line per network: ok for everything that's healthy,
error — <reason> for anything that isn't.
3. Connect it to your local MCP client. Use a host-native package, the CLI installer, or local stdio configuration. The setup wizard offers the shipped CLI installer targets at the end automatically.
Claude Desktop (Mac/Windows app):
npx affiliate-networks-mcp install
Finds your Claude Desktop config, adds the affiliate entry alongside
anything else you already have, takes a timestamped backup first. Restart
Claude Desktop after it finishes. Flags: --desktop / --code / --codex
to pick one, --all to include Codex and skip prompting, --dry-run to
preview, --force-overwrite if
your existing config is malformed JSON.
Claude Code (terminal):
claude plugin marketplace add bobberrisford/affiliatemcp
claude plugin install affiliate-networks-mcp@affiliatemcp
Registers the MCP server and bundled skills in one step. (Or use the
install command above — it detects Claude Code too.) Already inside a
Claude Code session? Just ask it to install the affiliate-mcp plugin and it
runs these commands for you; no terminal juggling needed.
Codex (OpenAI, terminal or IDE extension):
npx affiliate-networks-mcp install --codex
This adds the local stdio MCP server to ~/.codex/config.toml; the same MCP
config is used by the Codex CLI and Codex IDE extension. Manual setup:
codex mcp add affiliate -- npx -y affiliate-networks-mcp
Verify: open Codex, run /mcp, then ask "What affiliate networks do you
have access to?" This is OpenAI/Codex support, not ChatGPT connector
support. ChatGPT requires a reachable HTTPS MCP server and is scoped separately.
Claude Cowork desktop (org accounts):
Cowork syncs plugins from a GitHub repo, but blocks public repos from org
marketplaces — so you need a private mirror first. The setup wizard offers
this at the end, or run install and pick Cowork:
npx affiliate-networks-mcp install # detects your clients, offers Cowork
(Or go straight to it: npx affiliate-networks-mcp cowork-mirror.)
It creates <you>/affiliatemcp-internal as a private repo and mirrors the
upstream into it. If you have the GitHub CLI (gh) signed in, it's used
automatically; otherwise it tells you exactly where to get a GitHub token and
prompts you to paste it — the same "paste a credential" flow as setting up a
network. Re-run with --sync to refresh against new releases.
Then, with org-admin access, in Cowork: Organization settings → Plugins
→ Add plugin → GitHub → enter <you>/affiliatemcp-internal → install
affiliate-networks-mcp from the synced marketplace.
Open the Claude Desktop config file at:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonAdd the affiliate entry inside mcpServers — keep any siblings:
{
"mcpServers": {
"affiliate": {
"command": "npx",
"args": ["affiliate-networks-mcp"]
}
}
}
Restart Claude Desktop after saving.
For another local stdio MCP client, configure the server command
npx -y affiliate-networks-mcp. These clients are compatible in principle,
not yet tested first-party journeys. Draft PR
#49 is the existing
VS Code/Copilot installer candidate.
These labels describe the onboarding journey, not whether every network adapter
is live-verified. "Tested" means repository-owned automated validation, not live
proof against every host version. See REPORT.md for maturity.
| Client or path | Support state | What that means |
|---|---|---|
Claude Desktop .mcpb | Shipped and release-tested | Primary non-technical path. CI builds and smoke-tests the bundle. Secure setup fields currently cover Awin, CJ, Impact, and Partnerize. |
| Claude Desktop CLI/manual config | Shipped and tested | Technical local stdio path. Installer/config behaviour has automated coverage. |
| Claude Code plugin and CLI registration | Shipped and tested | Technical path with packaged skills and local MCP registration. |
| Codex CLI and IDE extension | Shipped and tested | Technical path using the shared local Codex MCP configuration. This is not ChatGPT connector support. |
Hosted connector (mcp.agenticaffiliate.ai) | Shipped and tested, paid | Remote MCP over OAuth, for people who cannot run the local server. Any client that can add a custom connector can use it, including Claude. Covers four networks (Awin, CJ, Impact, Rakuten), not every adapter. Read-only; credentials sit in an encrypted vault and browser-driven operations stay local-only. See PRIVACY.md and the security page. |
| Claude Cowork private mirror | Partially shipped | Requires a private mirror and org-admin follow-through; it is not a simple individual setup path. |
| Cursor, VS Code, and generic local MCP clients | Possible, not yet a tested first-party journey | The local stdio server is compatible in principle. Client-specific setup, packaging, and support ownership are tracked in #207. |
| Portable browser credential setup | Planned, not shipped | Intended to make all network credentials available without a terminal. Its security and DMG-retirement decision is tracked in #206. |
| ChatGPT | Possible through the hosted connector, not yet a tested first-party journey | ChatGPT cannot use this local stdio server directly, so it needs the hosted connector above; the free local path is not available to it. No tested ChatGPT setup walkthrough and no connector-directory listing yet. |
Check it worked. In a new Claude conversation, ask "What affiliate networks do you have access to?" — you should see every network you configured. If you registered any brands, also try "list my brands".
To disconnect later: npx affiliate-networks-mcp uninstall, or
claude plugin uninstall affiliate-networks-mcp for the plugin path.
The project reads aggregate npm and GitHub adoption statistics. npm downloads
are downloads, not users: they include repeated npx runs, CI, caches, and
other automated traffic.
Optional runtime telemetry is explicitly opt-in and sent at most once per active day. It contains package version, launch surface, a random identifier that rotates monthly, and counts by network, operation, and coarse outcome. See the privacy policy for the exact contract.
affiliate-networks-mcp telemetry status
affiliate-networks-mcp telemetry enable
affiliate-networks-mcp telemetry disable
"Unknown skill: plugin" in a Claude session. The /plugin syntax is a
shell command, not a chat slash command. Run claude plugin marketplace add ... from your terminal, not inside the conversation.
Cowork rejects the marketplace repo. Confirm the repo is private.
Public repos are blocked for org-marketplace sync. Run npx affiliate-networks-mcp cowork-mirror to create a private mirror.
What affiliate networks… returns nothing. The MCP server is loaded
but credentials are missing. Trigger the bundled
affiliate-network-setup-help
skill (ask "help me set up my affiliate network credentials") or run
npx affiliate-networks-mcp setup in a terminal.
Stale npm cache. npx --yes affiliate-networks-mcp@latest forces a
fresh fetch. Verify the published version with
npm view affiliate-networks-mcp version.
The packaged skills are pre-written conversation patterns. You don't need to invoke them — Claude picks the right one based on what you type.
client-onboarding, then reports, anomaly watches, and
portfolio rollups use it to frame verdicts. It never authorises a network
write or changes the figures.The repository currently ships 86 adapters across 72 network families. The
breadth is real, but maturity varies; most adapters are experimental. Check
the table below and REPORT.md before relying on one for
production work.
| Network | Setup time | Approval required | Supported ops | Notes |
|---|---|---|---|---|
| 2Performant | 5 min | no | 6 / 7 | no clicks |
| AccessTrade | 10 min | no | 6 / 7 | no clicks |
| Adcell | 10 min | no | 6 / 7 | no clicks |
| Addrevenue | 5 min | no | 7 / 7 | pagination quirks |
| Admitad | 15 min | no | 6 / 7 | clicks gated |
| Admitad (advertiser) | 12 min | no | 7 / 7 | see notes |
| Adrecord | 5 min | no | 6 / 7 | no clicks |
| Adservice | 10 min | no | 6 / 7 | no clicks |
| Adtraction | 5 min | no | 6 / 7 | no clicks |
| Adtraction (advertiser) | 6 min | no | 7 / 7 | see notes |
| Affilae | 5 min | no | 6 / 7 | no clicks |
| Affiliate Future | 5 min | no | 6 / 7 | no clicks |
| Affise | 10 min | no | 7 / 7 | no clicks |
| Afilio | 10 min | no | 6 / 7 | no clicks |
| Amazon Creators | 10 min | yes (~1 days) | 6 / 7 | no clicks |
| AvantLink | 10 min | no | 6 / 7 | no clicks |
| Awin | 5 min | no | 6 / 7 | no clicks |
| Awin (advertiser) | 6 min | no | 7 / 7 | see notes |
| Belboon | 10 min | no | 6 / 7 | no clicks |
| CAKE | 10 min | no | 6 / 7 | no clicks |
| CJ Affiliate | 8 min | no | 6 / 7 | no clicks |
| CJ Affiliate (advertiser) | 8 min | no | 7 / 7 | pagination quirks |
| ClickBank | 10 min | no | 6 / 7 | no clicks |
| Commission Factory | 10 min | no | 6 / 7 | clicks gated |
| Commission Factory (advertiser) | 7 min | no | 7 / 7 | pagination quirks |
| Connexity | 10 min | no | 6 / 7 | no clicks |
| Coupang Partners | 10 min | no | 6 / 7 | no clicks |
| Daisycon | 15 min | no | 6 / 7 | no clicks |
| Daisycon (advertiser) | 15 min | no | 7 / 7 | see notes |
| Digistore24 | 5 min | no | 6 / 7 | no clicks |
| eBay Partner Network | 10 min | yes (~3 days) | 7 / 7 | see notes |
| Eduzz | 10 min | no | 6 / 7 | no clicks |
| Effiliation | 5 min | no | 6 / 7 | no clicks |
| eHUB | 5 min | no | 7 / 7 | see notes |
| Everflow | 10 min | yes (~1 days) | 7 / 7 | see notes |
| Everflow (Advertiser) | 10 min | no | 7 / 7 | no clicks |
| financeAds | 10 min | yes (~2 days) | 6 / 7 | no clicks |
| FirstPromoter | 5 min | no | 6 / 7 | no clicks |
| FlexOffers | 10 min | no | 6 / 7 | no clicks |
| Flipkart Affiliate | 10 min | no | 6 / 7 | no clicks |
| GrowSurf | 10 min | no | 6 / 7 | no clicks |
| Hotmart | 10 min | no | 6 / 7 | no clicks |
| Howl | 5 min | no | 6 / 7 | clicks gated |
| Impact | 6 min | no | 7 / 7 | upstream variability |
| Impact (advertiser) | 8 min | no | 7 / 7 | see notes |
| Indoleads | 5 min | no | 6 / 7 | no clicks |
| Involve Asia | 5 min | no | 6 / 7 | no clicks |
| Kwanko | 10 min | no | 6 / 7 | no clicks |
| Kwanko (advertiser) | 10 min | no | 6 / 7 | no clicks |
| LeadDyno | 5 min | no | 6 / 7 | no clicks |
| Levanta | 5 min | no | 6 / 7 | no clicks |
| LinkConnector | 5 min | no | 6 / 7 | no clicks |
| Lomadee | 15 min | no | 6 / 7 | no clicks |
| Monetizze | 5 min | no | 6 / 7 | no clicks |
| mrge | 10 min | no | 6 / 7 | no clicks |
| NetRefer | 15 min | yes (~5 days) | 6 / 7 | no clicks |
| Offer18 | 10 min | no | 6 / 7 | no clicks |
| Optimise Media | 10 min | no | 6 / 7 | no clicks |
| Partnerize | 10 min | no | 7 / 7 | no clicks |
| Partnerize (Advertiser) | 5 min | no | 6 / 7 | no clicks |
| Partnero | 5 min | no | 6 / 7 | no clicks |
| PartnerStack | 5 min | no | 6 / 7 | no clicks |
| PartnerStack (advertiser) | 6 min | no | 7 / 7 | no clicks |
| Pepperjam | 5 min | no | 6 / 7 | no clicks |
| Post Affiliate Pro | 5 min | no | 6 / 7 | no clicks |
| Profitshare | 5 min | no | 6 / 7 | no clicks |
| Rakuten Advertising | 12 min | yes (~5 days) | 6 / 7 | clicks gated |
| Refersion | 5 min | no | 6 / 7 | no clicks |
| Rewardful | 5 min | no | 6 / 7 | no clicks |
| Scaleo | 10 min | yes (~1 days) | 7 / 7 | see notes |
| ShareASale | 10 min | no | 6 / 7 | no clicks |
| ShopMy | 10 min | no | 6 / 7 | no clicks |
| Skimlinks | 10 min | no | 6 / 7 | no clicks |
| Sovrn Commerce | 10 min | no | 6 / 7 | no clicks |
| Tapfiliate | 5 min | no | 6 / 7 | no clicks |
| Tolt | 5 min | no | 6 / 7 | no clicks |
| Tradedoubler | 15 min | no | 6 / 7 | clicks gated |
| Tradedoubler (Advertiser) | 10 min | no | 7 / 7 | no clicks |
| TradeTracker | 10 min | no | 7 / 7 | see notes |
| Travelpayouts | 5 min | no | 6 / 7 | no clicks |
| TUNE | 10 min | no | 7 / 7 | no clicks |
| ValueCommerce | 10 min | no | 6 / 7 | no clicks |
| ValueCommerce (advertiser) | 10 min | no | 6 / 7 | no clicks |
| Webgains | 10 min | no | 6 / 7 | no clicks |
| Webgains (advertiser) | 10 min | no | 7 / 7 | see notes |
| Yieldkit | 5 min | no | 7 / 7 | see notes |
A few networks make you wait for approval (eBay, Rakuten) before they hand over API access. The setup wizard tells you exactly what to do in each case. "Supported ops" being less than 7/7 just means the network itself doesn't expose that data to its users — not a missing feature on our side.
The (advertiser) rows are the brand-side adapters. They use a
separate credential type from the publisher row (sometimes the same
auth model with a different account behind it; the per-network notes
spell out which), and the brand-id is selected per call rather than
baked into the credential. Every brand-side adapter is read-only at
v0.1 — the client refuses any non-GET HTTP method before it leaves
your machine. The full editorial position, including known upstream
quirks and the read-only stance, lives in REPORT.md.
A first PR shouldn't take longer than an evening. The path:
Pick an issue. Browse the
good-first-pr
queue. Each has a file path, acceptance bullets, and a how-to-test
line. Comment to claim it.
Get to green. One command runs the full pre-PR check — typecheck, lint, tests, build — in a few seconds:
git clone https://github.com/bobberrisford/affiliatemcp.git
cd affiliatemcp
npm install
npm run verify
If npm run verify passes locally, CI will pass.
Open the PR. Use the default template (a short summary + test
plan). First review within 24h on weekdays — see
CONTRIBUTING.md for the full PR process and
the four ranked help-wanted areas.
If you work for an affiliate network, the highest-leverage contribution
is adopting your own adapter — see the
adopt-this-network
issues.
Networks people have asked for but that don't have an adapter yet. If
you work for one of these — or just have API access and want to
contribute — this is the most useful place to start. See
CONTRIBUTING.md for the workflow, and open (or
pile onto) a tracking issue before you start.
| Network | Side wanted | Notes | Tracking issue |
|---|
Awin is the current reference slice for the repo's future shape. It keeps the seven canonical publisher tools and adds Awin-specific tools for accounts, programme details, commission groups, transaction-by-ID lookup, transaction queries, advertiser/creative/campaign reports, Link Builder, Offers, and safe stubs for gated Product Feed and Proof of Purchase APIs.
Start here if you want to understand the product direction:
When you run the setup wizard it writes a single file at
~/.affiliate-mcp/.env on your machine, locked to your user account
(file mode 0600). That's the only place your API keys exist outside the
network dashboards. Both publisher and brand-side credentials live here, each
keyed by network slug; open, edit, delete, or copy it like any other file.
If you registered any brand-side networks, the wizard also writes
~/.affiliate-mcp/brands.json next to it, mapping your local nickname for each
brand (e.g. acme) to the network's brand id on every network the brand is
bound to (empty for the publisher-only path).
That local path stays free and complete; an opt-in hosted tier is live for four networks.
The brand-side flow adds one concept: a local brand slug. You give each
client (or each of your own brands) a short nickname; the tool maps it to the
network's own brand id on every network the brand is registered on. A real
brands.json looks like this:
{
"version": 1,
"brands": {
"acme": [
{ "network": "impact-advertiser", "credentialId": "default", "networkBrandId": "IA-12345" },
{ "network": "cj-advertiser", "credentialId": "default", "networkBrandId": "7654321" }
]
}
}
The same logical brand can appear under multiple networks; that's how
"earnings for Acme across all networks" fans out across the right brand id on
each one. You can hand-edit this file to rename, remove, or add brands, or re-run
npx affiliate-networks-mcp setup to register new ones interactively (the wizard
skips brands already in the file).
Three skills are tuned for the brand side:
programme-performance-report
(single-brand, per-publisher rollup),
agency-portfolio-rollup
(every brand × network, brand-aggregated), and
programme-anomaly-watch
(scheduled week-over-week anomaly scan).
call runs the same registered operations as the MCP server, for quick checks,
scripts, and CI (call --help for full usage). Some calls contact an upstream
network (for example generate_tracking_link mints a link). Schema-aware
key=value parsing keeps string ids, converts numbers, and takes comma-separated
or JSON arrays; --args '<json>' passes a full object. Results are JSON on
stdout; failures are NetworkErrorEnvelope JSON on stderr with a non-zero exit.
npx affiliate-networks-mcp call --list [--network awin]
npx affiliate-networks-mcp call --describe awin list_transactions
npx affiliate-networks-mcp call awin list_transactions from=2026-01-01 limit=50
npx affiliate-networks-mcp doctor
That runs a live diagnostic across every configured network and tells you, in English, what's broken and how to fix it. If a specific network is misbehaving, append its slug:
npx affiliate-networks-mcp doctor rakuten
Most failures are one of three things: an expired token, a network
that needs your approval re-confirmed, or a credential typed with a trailing
space. The JSON also reports clientStrategies health; it never deletes them.
Each network has a short page covering dashboard navigation, where to click for credentials, and common stumbling blocks:
Publisher side:
Brand / advertiser side:
GET /accounts; gated to Accelerate / Advanced plans; read-only.affiliate-mcp has five practical layers. Adapters under src/networks/
handle each network's auth, API quirks, normalisation, and capability metadata.
MCP tools expose typed operations such as affiliate_awin_list_transactions;
six meta-tools cover listing, diagnostics, brand resolution, and advisory client
strategy. Skills and workflows compose tools into affiliate jobs. MCP
prompts are reusable templates and currently Awin-specific. Setup paths
connect the same local server to Claude Desktop, Claude Code, Codex, Cowork, or
another compatible local stdio MCP client.
Documentation truncated — see the full README on GitHub.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.