MCP server for AI agents
Connect Claude, Cursor and other AI agents to your affiliate program with openpromoter-mcp. It is read-only by default and payouts need a person.
openpromoter-mcp is a Model Context Protocol server that lets AI agents read your program and take everyday actions. It runs locally over stdio and talks to the REST API with an API key you create.
Rules
- Read-only by default. Only the read tools are registered unless you set
OPENPROMOTER_MCP_WRITE=true. - With write tools on, agents can invite partners, change a partner's status, draft campaigns and apply Autopilot suggestions. The API key's scopes set the limits.
- No tool sends money.
prepare_payoutscreates payouts that wait in the dashboard until a signed-in person approves them.
Give the key only the scopes you want the agent to have. See scopes.
Setup
Create a key in Settings > API & webhooks and add the server to your client.
Claude Desktop, Cursor and other clients
{
"mcpServers": {
"openpromoter": {
"command": "npx",
"args": ["-y", "openpromoter-mcp"],
"env": {
"OPENPROMOTER_API_KEY": "op_live_…",
"OPENPROMOTER_URL": "https://app.openpromoter.com",
"OPENPROMOTER_MCP_WRITE": "false"
}
}
}
}
For Claude Desktop this goes in claude_desktop_config.json; for Cursor in .cursor/mcp.json.
Claude Code
claude mcp add openpromoter \
-e OPENPROMOTER_API_KEY=op_live_… \
-e OPENPROMOTER_URL=https://app.openpromoter.com \
-- npx -y openpromoter-mcp
When self-hosting, set OPENPROMOTER_URL to your APP_URL.
| Variable | Description |
|---|---|
OPENPROMOTER_API_KEY |
Required. An API key from Settings > API & webhooks |
OPENPROMOTER_URL |
Your OpenPromoter URL. Defaults to Cloud |
OPENPROMOTER_MCP_WRITE |
true registers the write tools. Leave unset for a read-only server |
Tools
Read tools (always available):
| Tool | What it does |
|---|---|
list_programs |
Programs in the workspace |
program_stats |
Revenue, commissions, clicks, signups, customers, conversion, EPC, MRR and amounts owed for the last N days |
list_partners |
Partners sorted newest first and filterable by status |
get_partner |
One partner with their links |
list_commissions |
The commission ledger, filterable by status and partner |
list_payouts |
Payouts and their status |
autopilot_suggestions |
Autopilot's current suggestions and recent actions |
ask |
A plain-language question answered from the program's data |
Write tools (only with OPENPROMOTER_MCP_WRITE=true):
| Tool | Scope | What it does |
|---|---|---|
invite_partner |
partners:write |
Invite and approve a partner by email |
set_partner_status |
partners:write |
Approve, pause, reject or ban a partner |
draft_campaign |
partners:write |
Create a draft campaign from one sentence; a person launches it |
apply_autopilot_action |
partners:write |
Apply one Autopilot suggestion; payout suggestions only prepare a batch |
prepare_payouts |
payouts:request |
Prepare payouts for partners over the minimum. Never sends money; a person approves them on the Payouts page |
Example prompts
- "Which partners drove the most revenue in the last 30 days?"
- "Invite maya@example.com to the Acme program."
- "Draft a campaign: $50 bounty for every annual plan in December."
- "Prepare this month's payouts and tell me the total."
License
The MCP server is MIT licensed. You can use it in any codebase. The OpenPromoter app itself is AGPL-3.0.