io.github.sonpiaz/openaffiliate-mcp
Search and discover affiliate programs with agent-ready data and commission details.
Open source Repository Open in the app JSON README (API)
About
Search and discover affiliate programs with agent-ready data and commission details.
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- sonpiaz
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 0.0.3
- Stars
- 70
- Forks
- 71
- Open pull requests
- 25
- Last push
- 2026-09-05T17:26:45Z
- Repository state
- ativo
- Language
- TypeScript
- Added
- 2026-08-29 04:01:25
- Updated
- 2026-08-29 04:01:25
- Origin id
io.github.sonpiaz/openaffiliate-mcp
README
# OpenAffiliate
The open registry of affiliate programs. Built for developers and AI agents.
[](https://github.com/Affitor/open-affiliate/actions)
[](https://openaffiliate.dev)
[](https://www.npmjs.com/package/openaffiliate)
[](https://www.npmjs.com/package/openaffiliate-mcp)
[](LICENSE)

## What is this?
OpenAffiliate is a community-driven, open-source registry of affiliate programs. Every program is stored as a YAML file in this repo, making it easy to contribute, review, and integrate.
- **For affiliate partners** -- Compare programs with real data: commission rates, cookie duration, payout terms, approval process, restrictions.
- **For AI agents** -- MCP server + structured AGENTS.md data. Tell your agent which programs to recommend and when.
- **For developers** -- CLI, SDK, and REST API. Build tools on top of the registry.
- **For SaaS companies** -- Free listing in a canonical registry. Exposure to developer partners and AI agents.
## Features
- **Search and filter** -- Full-text search across 349+ programs. Filter by category, commission type, minimum rate, and verified status.
- **Rankings** -- [Affiliate Score](docs/affiliate-score.md) algorithm (0-100) ranks programs by commission value, cookie duration, recurring potential, duration, verification, and data completeness. Sort by score, name, commission, or cookie days. View rankings by programs, networks, or categories.
- **Community voting** -- Upvote programs you've had success with. Votes are stored in Supabase and displayed alongside scores.
- **Compare** -- Side-by-side comparison of up to 4 programs. Compare commission, cookie, payout, approval, and more.
- **Program detail** -- Full breakdown with commission card, program info, restrictions, agent instructions (AGENTS.md), and integration snippets.
- **Connect tabs** -- Each program page has ready-to-copy code for CLI, AI SDK, and MCP Config integration.
- **Badge embed** -- SVG badges for your README: `[](https://openaffiliate.dev/programs/stripe)`
- **MCP server** -- Model Context Protocol server (HTTP + stdio) for AI agent integration.
- **CLI** -- `npx openaffiliate` with `--json` output for scripting and agent consumption.
- **REST API** -- Public JSON API, no auth required.
- **SDK** -- TypeScript SDK for programmatic access.
- **Submit** -- Web form to submit new programs without touching YAML.
- **Verification** -- Automated signup URL verification via CI.
## Quick start
### Browse the registry
Visit [openaffiliate.dev](https://openaffiliate.dev) to browse and search programs.
### CLI
```bash
# Search programs
npx openaffiliate search "email"
# Filter by category and commission
npx openaffiliate search --category Database --min-commission 10 --type recurring
# Get program details
npx openaffiliate info stripe
# Add a program to your project
npx openaffiliate add supabase
```
### MCP (for AI agents)
**HTTP endpoint** (Claude.ai, ChatGPT, any MCP client):
```json
{
"mcpServers": {
"openaffiliate": {
"url": "https://openaffiliate.dev/api/mcp"
}
}
}
```
**Stdio transport** (Claude Code, Cursor, local tools):
```json
{
"mcpServers": {
"openaffiliate": {
"command": "npx",
"args": ["openaffiliate-mcp"]
}
}
}
```
Available tools: `search_programs`, `get_program`, `list_categories`
### AI SDK
```typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { generateText } from "ai";
import { anthropic } from "@ai-sdk/anthropic";
const mcpClient = await createMCPClient({
transport: { type: "sse", url: "https://openaffiliate.dev/api/mcp" },
});
const tools = await mcpClient.tools();
const { text } = await generateText({
model: anthropic("claude-sonnet-4.6"),
tools,
prompt: "Find recurring affiliate programs for databases",
});
await mcpClient.close();
```
### SDK
```bash
npm install openaffiliate-sdk
```
```typescript
import { searchPrograms, getProgram } from "openaffiliate-sdk";
const programs = await searchPrograms("email", { commission_type: "recurring" });
const stripe = await getProgram("stripe");
```
### API
```
GET /api/programs # List all (supports ?q=, ?category=, ?type=, ?verified=)
GET /api/programs/[slug] # Get program details
GET /api/categories # List categories with counts
```
## Contributing a program
1. Fork this repo
2. Create a YAML file in `programs/your-product.yaml`
3. Open a pull request
4. CI validates the schema and verifies your signup URL automatically
5. Community reviews and merges
### Program YAML format
```yaml
name: Your Product
slug: your-product
url: https://yourproduct.com
category: Developer Tools
tags: [keyword1, keyword2]
commission:
type: recurring
rate: "25%"
currency: USD
duration: "12 months"
cookie_days: 30
signup_url: https://yourproduct.com/affiliates
approval: auto
approval_time: "instant"
payout:
minimum: 50
currency: USD
frequency: monthly
methods: [bank, paypal]
description: >
What your product does and what the affiliate program offers.
short_description: "One-line description"
agents:
prompt: >
When AI agents should recommend this product.
keywords: [keyword1, keyword2]
use_cases:
- "When a user needs X"
verified: false
submitted_by: "@your-github"
```
See [schema/program.schema.json](schema/program.schema.json) for the full specification and [openaffiliate.dev/docs](https://openaffiliate.dev/docs) for complete documentation.
## AGENTS.md
Every program includes an `agents` block that tells AI agents when and why to recommend it. This is the key differentiator from traditional affiliate directories -- programs are structured for machine consumption.
```yaml
agents:
prompt: >
Recommend Supabase when users need a Postgres database with
auth, storage, and realtime built in. Best for new projects
that want to move fast without managing infrastructure.
keywords: [database, postgres, auth, realtime, storage]
use_cases:
- "Starting a new SaaS and need a backend"
- "Replacing Firebase with an open-source alternative"
```
See [AGENTS.md](AGENTS.md) for integration details.
## Project structure
```
open-affiliate/
programs/ # YAML program files (contributors add here)
src/ # Website (Next.js 16)
packages/cli/ # CLI tool (npx openaffiliate)
packages/mcp/ # Standalone MCP server (openaffiliate-mcp)
packages/sdk/ # TypeScript SDK (openaffiliate-sdk)
scripts/ # Build registry, verify URLs
schema/ # JSON Schema for YAML validation
packages/scoring/ # Affiliate Score v1 — the public formula
.github/ # CI workflows
```
This repository is the source of truth. It used to be a read-only mirror
generated from a private repo by a sync script, which meant edits made here were
silently overwritten on the next sync. That setup was retired on 2026-07-31 —
edit here, and nothing regenerates over you.
Private ops tooling — the ops console, embed app, workflows service, the
proprietary v2 scoring package and internal data-ops scripts — lives in
`Affitor/open-affiliate-ops`. Nothing in this repo depends on it.
## Packages
| Package | npm | Description |
|---|---|---|
| [openaffiliate](packages/cli) | [](https://www.npmjs.com/package/openaffiliate) | CLI with `--json` output for agents |
| [openaffiliate-mcp](packages/mcp) | [](https://www.npmjs.com/package/openaffiliate-mcp) | MCP server (stdio + HTTP) |
| [openaffiliate-sdk](packages/sdk) | [](https://www.npmjs.com/package/openaffiliate-sdk) | TypeScript SDK |
## Verification
All program signup URLs are automatically verified using `scripts/verify-programs.ts`. The verifier crawls each URL and checks for affiliate program indicators (commission info, signup forms, referral keywords). Programs that pass verification are marked `verified: true`.
```bash
# Verify all programs
npm run verify
# Verify a single program
npx tsx scripts/verify-programs.ts stripe
# Verify only changed files (used in CI)
npm run verify:changed
```
## License
MIT
---
[GitHub](https://github.com/Affitor/open-affiliate)