pypi youfiliate-mcpstreamable-httpMITupdated 4mo ago
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.
Was kannst du mit Youfiliate Smart Links machen?
Youfiliate MCP Server
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
- Log in at youfiliate.com
- Go to Settings → API Keys
- Click Create API Key (e.g. "Claude Desktop")
- 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/B09V3KXJPBwith geo-targeting for UK and Germany.Claude: (calls
youfiliate_create_smart_linkwith 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_statswithperiod="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_migrationwithconfirm=True)
Security Model
- API key auth. Your
youfiliate_sk_...key authenticates the MCP server. - JWT bridge. The server exchanges your API key for short-lived JWTs against the Youfiliate API.
- Token caching. JWTs are cached in memory and auto-refreshed.
- Scoped data access. The server only sees data belonging to the API key's owner.
- 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
Links
- Website: youfiliate.com
- Issues: github.com/andrewmpierce/youfiliate-mcp/issues
- Changelog: CHANGELOG.md
Installation
Youfiliate Smart Links zu deinem Client hinzufügen. Wähl den, den du nutzt.
{
"servers": {
"youfiliate-mcp": {
"type": "http",
"url": "https://youfiliate-mcp.onrender.com/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
claude mcp add youfiliate-mcp -- uvx youfiliate-mcpcodex mcp add youfiliate-mcp -- uvx youfiliate-mcpamp mcp add youfiliate-mcp -- uvx youfiliate-mcp{
"mcpServers": {
"youfiliate-mcp": {
"command": "uvx",
"args": [
"youfiliate-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"youfiliate-mcp": {
"command": "uvx",
"args": [
"youfiliate-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"mcpServers": {
"youfiliate-mcp": {
"command": "uvx",
"args": [
"youfiliate-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"youfiliate-mcp": {
"command": "uvx",
"args": [
"youfiliate-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"youfiliate-mcp": {
"command": "uvx",
"args": [
"youfiliate-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"youfiliate-mcp": {
"type": "local",
"command": "uvx",
"args": [
"youfiliate-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"youfiliate-mcp": {
"command": {
"path": "uvx",
"args": [
"youfiliate-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
uvx youfiliate-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
Score
39 / 100
Unvollständig
- Dokumentation25/25
- Pflege13/25
- Vertrauen13/20
- Funktionsumfang0/15
- Installation15/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 126 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 18 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Versionsverlauf
| Versionen | Veröffentlicht |
|---|---|
| 0.1.1Aktuell | 27. Apr. 2026 |