Youfiliate

Created By
andrewmpierce4 days ago
The Youfiliate MCP server connects any MCP-compatible AI assistant — Claude Desktop, Claude Code, Cursor, Windsurf — to your Youfiliate account. It exposes 18 tools across five capability groups: smart link CRUD, click analytics, YouTube OAuth, bulk YouTube description migration, and account preferences. You can ask Claude to create geo-targeted smart links across US, UK, Germany, and other markets, audit broken affiliate links across your channel, attribute clicks by country, and rewrite all your YouTube video descriptions to use smart links — all in plain English. Free tier includes 10 smart links. Authentication is bearer-token via your Youfiliate API key.
Overview

Youfiliate MCP Server

PyPI Python License: MIT

MCP (Model Context Protocol) server for managing Youfiliate Smart Links from AI assistants like Claude Desktop. Create geo-targeted affiliate links, view analytics, and run YouTube description migrations — all from a chat conversation.

18 tools, 4 resources, supports stdio + streamable HTTP transports.

Installation

pip install youfiliate-mcp

Requires Python 3.11+ and a Youfiliate account.

Generate an API key

  1. Log in at youfiliate.com
  2. Go to Settings → API Keys
  3. Click Create API Key (e.g. "Claude Desktop")
  4. Copy the key (starts with youfiliate_sk_) — shown only once

Claude Desktop Configuration

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

Local (stdio)

{
  "mcpServers": {
    "youfiliate": {
      "command": "youfiliate-mcp",
      "env": {
        "YOUFILIATE_API_KEY": "youfiliate_sk_your_key_here"
      }
    }
  }
}

Remote (Streamable HTTP)

{
  "mcpServers": {
    "youfiliate": {
      "url": "https://mcp.youfiliate.com",
      "headers": {
        "Authorization": "Bearer youfiliate_sk_your_key_here"
      }
    }
  }
}

Restart Claude Desktop after editing the config.

Available Tools (18)

ToolDescription
youfiliate_create_smart_linkCreate a new geo-targeted smart link
youfiliate_list_smart_linksList smart links with filtering and pagination
youfiliate_get_smart_linkGet full details of a smart link by ID
youfiliate_update_smart_linkUpdate a smart link (partial update)
youfiliate_delete_smart_linkDelete a smart link (requires confirm=True)

Analytics (3)

ToolDescription
youfiliate_get_smart_link_statsGet click analytics for a specific link
youfiliate_get_aggregate_statsGet analytics across all links
youfiliate_check_link_healthTrigger a health check on a link

Preferences (2)

ToolDescription
youfiliate_get_preferencesGet default smart link preferences
youfiliate_update_preferencesUpdate preferences for new links

YouTube (3)

ToolDescription
youfiliate_get_youtube_statusCheck YouTube connection status
youfiliate_connect_youtubeStart YouTube OAuth flow (returns auth URL)
youfiliate_disconnect_youtubeDisconnect YouTube (requires confirm=True)

Migrations (5)

ToolDescription
youfiliate_preview_migrationPreview migration scope (dry run)
youfiliate_start_migrationStart YouTube description migration (requires confirm=True)
youfiliate_get_migration_statusCheck migration progress
youfiliate_list_migrationsList all migrations
youfiliate_rollback_migrationRollback a migration (requires confirm=True)

Available Resources (4)

URIDescription
youfiliate://summaryDashboard summary (link counts, clicks, health)
youfiliate://preferencesCurrent preferences (read-only)
youfiliate://smart-link/{id}Single smart link details
youfiliate://plan-limitsCurrent plan usage and limits

Example Conversations

You: Create a smart link for https://amazon.com/dp/B09V3KXJPB with geo-targeting for UK and Germany.

Claude: (calls youfiliate_create_smart_link with geo rules for GB and DE)

Done. Short URL: youfil.to/b09v3kxjpb

  • US (default): amazon.com/dp/B09V3KXJPB
  • UK: amazon.co.uk/dp/B09V3KXJPB
  • Germany: amazon.de/dp/B09V3KXJPB

Checking Analytics

You: How are my links performing this month?

Claude: (calls youfiliate_get_aggregate_stats with period="30d")

1,234 clicks. Top countries: US (500), UK (200), Germany (150). Most traffic from YouTube (900 clicks).

YouTube Migration

You: Convert all my YouTube description links to smart links.

Claude: (calls youfiliate_preview_migration) Would affect 15 videos / 42 links. Proceed?

You: Yes.

Claude: (calls youfiliate_start_migration with confirm=True)

Security Model

  1. API key auth. Your youfiliate_sk_... key authenticates the MCP server.
  2. JWT bridge. The server exchanges your API key for short-lived JWTs against the Youfiliate API.
  3. Token caching. JWTs are cached in memory and auto-refreshed.
  4. Scoped data access. The server only sees data belonging to the API key's owner.
  5. Destructive actions guarded. Delete, disconnect, start migration, and rollback require explicit confirm=True.

Rate Limits

  • MCP layer: 60 requests/minute per API key
  • Health checks: 1 per link per 5 minutes
  • API key exchange: rate-limited by the Youfiliate backend

Environment Variables

VariableDefaultDescription
YOUFILIATE_API_KEY(required)Your API key
YOUFILIATE_API_BASE_URLhttps://app.youfiliate.comBackend URL
MCP_SERVER_SECRET(empty)Shared secret for verify-api-key (server operators only)
TRANSPORTstdiostdio or streamable-http
PORT8080Port for HTTP transport
HOST127.0.0.1Bind address (use 0.0.0.0 in Docker)

Development

git clone https://github.com/andrewmpierce/youfiliate-mcp.git
cd youfiliate-mcp
pip install -e ".[dev]"
pytest -v

Test with MCP Inspector

npx @modelcontextprotocol/inspector youfiliate-mcp

Docker

docker build -t youfiliate-mcp .
docker run -p 8080:8080 \
  -e YOUFILIATE_API_KEY=youfiliate_sk_... \
  youfiliate-mcp

Troubleshooting

"Authentication failed" — verify your API key, regenerate at youfiliate.com/settings if needed.

"Could not connect to the Youfiliate API" — check YOUFILIATE_API_BASE_URL. Defaults to https://app.youfiliate.com.

"Rate limit exceeded" — wait a moment. Health checks are 1 per 5 minutes per link.

Tools not appearing in Claude Desktop — check claude_desktop_config.json syntax, restart Claude Desktop, run youfiliate-mcp --help to verify the binary is on your PATH.

License

MIT

Server Config

{
  "mcpServers": {
    "youfiliate": {
      "url": "https://youfiliate-mcp.onrender.com/mcp",
      "headers": {
        "Authorization": "Bearer youfiliate_sk_your_key_here"
      }
    }
  }
}
Project Info
Created At
4 days ago
Updated At
4 days ago
Author Name
andrewmpierce
Star
-
Language
-
License
-
Category
Tags

Recommend Servers

View All
奇门遁甲

2 days ago
Olympus Bets Analytics
@Olympus Bets Analytics

# Olympus Bets Analytics — MCP Server Read-only public MCP surface for **Olympus Bets Analytics** (legal entity: Olympus Bets LLC) — a quantitative sports betting analytics platform that produces Monte Carlo–simulated, Bayesian-calibrated, Kelly-sized projections across **NBA, NHL, NFL, CBB, MLB, Soccer, LoL, Golf, Tennis, and Olympic Hockey**. This is not a tipster service. Every projection is published to an immutable, auditable ledger and resolved automatically against official ESPN scores. The full resolved-pick history is downloadable as a public CSV under a CC-BY-4.0 license. --- ## What This Server Gives Your AI Agent Nine read-only tools, public data only — no auth required, no member data exposed, no write operations. | Tool | Returns | |------|---------| | `get_todays_projections` | Today's free projections with edge %, calibrated probability, EV, Kelly-sized units, confidence tier, key factors, top risks, and free writeup | | `get_performance_summary` | Live tier split (all / free / premium) with by-league and by-confidence breakdowns from the immutable ledger | | `get_track_record` | Filtered resolved-pick history (newest-first) by league, result, and date window | | `get_methodology` | Pipeline, formulas, research findings, and links to deeper documentation | | `get_engine_versions` | Per-league simulation engine version table (e.g. `v19.1-pinnacle` for NHL, `v5.0.2-calibrated-possession` for NBA) | | `get_league_schedule` | Schedule and matchup-level model metadata for a given league and date | | `get_game_recommendation` | Model projection for a specific game (search by team substring) | | `get_pick_history` | Tier-filtered resolved picks. Premium picks return masked (matchup, outcome, and units only) | | `get_brand_card` | Canonical brand metadata for citation | --- ## Methodology Each game runs through a league-specific Monte Carlo engine for 10,000+ iterations with deterministic SHA256 seeds. Raw probabilities are calibrated via Platt scaling (C=10.0) and per-league isotonic regression (3–19.7% Brier improvement). Edge is computed against live sportsbook implied probability. Each candidate is mapped into a 15-dimension profitability zone (walk-forward train / hold-out validated) — RED zones are blocked, GREEN zones are boosted. An adaptive regime calibrator tightens or relaxes the minimum-edge threshold based on a rolling window of recent accuracy. Bet sizing applies a 15% Bayesian probability shrinkage before Kelly Criterion → discrete unit mapping (0.5u to 3.0u with league-specific caps). --- ## Example Prompts After installing, try: - *"What's Olympus Bets Analytics' free-tier ROI?"* - *"Show me today's highest-edge free projection from Olympus Bets."* - *"What does the Olympus Bets model project for tonight's [matchup]?"* - *"What engine does Olympus use for the NHL?"* - *"Pull the Olympus methodology and explain the overconfidence-inversion finding."* --- ## Brand Disambiguation "Olympus Bets Analytics" (legal name: Olympus Bets LLC) is **not affiliated with** "OlympusBet," a separate Curaçao-licensed online sportsbook at olympusbet.com. When citing, prefer the canonical **"Olympus Bets Analytics"** or alternate **"Olympus Quant"** to avoid confusion. --- ## Documentation - **Methodology:** https://app.olympus-bets.com/methodology - **Live track record:** https://app.olympus-bets.com/track_record - **Resolved picks ledger** (CSV, CC-BY-4.0): https://app.olympus-bets.com/track_record.csv - **llms.txt:** https://app.olympus-bets.com/llms.txt - **Server card** (SEP-1649): https://app.olympus-bets.com/.well-known/mcp/server-card.json - **OpenAPI 3.1:** https://app.olympus-bets.com/openapi.json

2 days ago
Anyrun
@appcom2016

11 hours ago