Merchant MCP
Run your affiliate program from the agent.
OAuth-secured MCP for one team. Campaigns, affiliates, leads, sales review, tracking checks, assets, and payout setup — from Claude, Cursor, or any MCP client.
TL;DR
- 01
Shipped in app — connect at app.uppercut.co/agents/mcp.
- 02
OAuth 2.1 + PKCE; one team per connection; Bearer token on /mcp.
- 03
18 tools for program ops. REST/Stripe still record sales.
- 04
Not anonymous API keys. Not multi-team tokens. Not unauthenticated.
Connect flow
- 01
Point the client at MCP
POST https://app.uppercut.co/mcp — streamable HTTP.
- 02
Discover or register OAuth
Client uses .well-known metadata or Dynamic Client Registration at /oauth/register.
- 03
Sign in and pick one team
Consent screen: choose the merchant team, Allow.
- 04
Call tools with the token
Bearer access token (uca_…) on /mcp. Scopes: merchant:read and merchant:write.
Scopes
OAuth 2.1 with PKCE. Public clients. Tokens are team-scoped.
- merchant:read
- List and read tools
- merchant:write
- Create/update campaigns, destinations, remove affiliates, approve/reject sales, upload assets, payout funding link
Tools
Eighteen tools for program ops. Write tools need merchant:write.
Setup / status
-
validate_tracking
Click / signup / sale tracking health
-
read_status_board
Merchant status-board tasks
-
lookup_docs
Pointers into docs.uppercut.co
Programs
-
create_campaign
Name, reward_type, reward_value, optional windows + destination
-
get_campaign / update_campaign
Read or change a campaign
-
add_destination
Landing page on a campaign
Affiliates
-
list_affiliates / search_affiliates / get_affiliate
Find and inspect partners
-
remove_affiliate
Requires reason; rejects open sales; permanent ban from rejoining
Sales & leads
-
list_sales / approve_sale / reject_sale
Review conversions before payout
-
list_leads
Signup email / user ID + affiliate attribution
Assets & payouts
-
list_assets / upload_asset
Creative assets from a public URL
-
add_payout_method
Stripe Checkout link to add funding method
Write tools: create_campaign, update_campaign, add_destination, remove_affiliate, approve_sale, reject_sale, upload_asset, add_payout_method
Example prompts
- “Read my status board”
- “List leads with email and affiliate”
- “Validate tracking”
- “Create a 20% campaign for Acme”
Endpoints
MCP is program ops. REST and Stripe still record payments — not the same as /api/track-sale.
- MCP https://app.uppercut.co/mcp
- Authorize https://app.uppercut.co/oauth/authorize
- Token https://app.uppercut.co/oauth/token
- Register (DCR) https://app.uppercut.co/oauth/register
- AS metadata https://app.uppercut.co/.well-known/oauth-authorization-server
- Resource metadata https://app.uppercut.co/.well-known/oauth-protected-resource
FAQ
Common questions
Is Merchant MCP the same as the sales API? + −
No. MCP is program ops for one signed-in team. Recording payments stays on REST and Stripe (including /api/track-sale). Pair them: MCP to run the program, REST/Stripe to attribute sales.
Do I need an API key for MCP? + −
No. Connect with OAuth 2.1 and PKCE. The client gets a team-scoped Bearer token after you sign in and Allow on the consent screen. There is no unauthenticated access and no anonymous API key path for MCP.
Can one connection manage multiple teams? + −
No. Consent picks one team. Tokens are team-scoped. Switch teams by reconnecting and choosing a different team.
Where do agents find how to connect? + −
Start at /llms.txt and /.well-known/mcp.json on uppercut.co, or open the connect guide at /mcp.md. Interactive setup lives at app.uppercut.co/agents/mcp.
Connect your MCP client.
Open the in-app setup, point Claude or Cursor at https://app.uppercut.co/mcp, and approve one team.