Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Create geo-targeted affiliate smart links, pull analytics, and rewrite YouTube descriptions.

README.md

Youfiliate MCP Server

<!-- mcp-name: io.github.andrewmpierce/youfiliate-mcp -->

![PyPI](https://pypi.org/project/youfiliate-mcp/) ![Python](https://pypi.org/project/youfiliate-mcp/) ![License: MIT](https://opensource.org/licenses/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)

Smart Links CRUD (5)

| Tool | Description | |------|-------------| | youfiliate_create_smart_link | Create a new geo-targeted smart link | | youfiliate_list_smart_links | List smart links with filtering and pagination | | youfiliate_get_smart_link | Get full details of a smart link by ID | | youfiliate_update_smart_link | Update a smart link (partial update) | | youfiliate_delete_smart_link | Delete a smart link (requires confirm=True) |

Analytics (3)

| Tool | Description | |------|-------------| | youfiliate_get_smart_link_stats | Get click analytics for a specific link | | youfiliate_get_aggregate_stats | Get analytics across all links | | youfiliate_check_link_health | Trigger a health check on a link |

Preferences (2)

| Tool | Description | |------|-------------| | youfiliate_get_preferences | Get default smart link preferences | | youfiliate_update_preferences | Update preferences for new links |

YouTube (3)

| Tool | Description | |------|-------------| | youfiliate_get_youtube_status | Check YouTube connection status | | youfiliate_connect_youtube | Start YouTube OAuth flow (returns auth URL) | | youfiliate_disconnect_youtube | Disconnect YouTube (requires confirm=True) |

Migrations (5)

| Tool | Description | |------|-------------| | youfiliate_preview_migration | Preview migration scope (dry run) | | youfiliate_start_migration | Start YouTube description migration (requires confirm=True) | | youfiliate_get_migration_status | Check migration progress | | youfiliate_list_migrations | List all migrations | | youfiliate_rollback_migration | Rollback a migration (requires confirm=True) |

Available Resources (4)

| URI | Description | |-----|-------------| | youfiliate://summary | Dashboard summary (link counts, clicks, health) | | youfiliate://preferences | Current preferences (read-only) | | youfiliate://smart-link/{id} | Single smart link details | | youfiliate://plan-limits | Current plan usage and limits |

Example Conversations

Creating a Smart Link

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

| Variable | Default | Description | |----------|---------|-------------| | YOUFILIATE_API_KEY | (required) | Your API key | | YOUFILIATE_API_BASE_URL | https://app.youfiliate.com | Backend URL | | MCP_SERVER_SECRET | (empty) | Shared secret for verify-api-key (server operators only) | | TRANSPORT | stdio | stdio or streamable-http | | PORT | 8080 | Port for HTTP transport | | HOST | 127.0.0.1 | Bind 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

Links

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Maps & Location servers.