Youfiliate Smart Links

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

我該用這個嗎

品質與安全性

B
說明品質
100%
結構描述完整度
60%
命名品質
78%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(2)

  • LOWTool 'youfiliate_get_smart_link_stats' name length outside 3-30 range在 youfiliate_get_smart_link_stats 中
  • LOWTool 'youfiliate_get_migration_status' name length outside 3-30 range在 youfiliate_get_migration_status 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~7,633Token(工具定義)
~3.6 KB典型回應大小
顯著的注意力影響(128k 上下文的 5.96%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "youfiliate-mcp": {
      "command": "uvx",
      "args": [
        "youfiliate-mcp"
      ]
    }
  }
}

可執行的套件

pypiyoufiliate-mcp0.1.1stdio

遠端端點

https://youfiliate-mcp.onrender.com/mcpstreamable-http

它能做什麼

工具清單

工具(18)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟡youfiliate_create_smart_link(params)

Create a new geo-targeted smart link with an optional custom slug. Creates a smart link that redirects visitors to the destination URL. Optionally configure country-specific geo rules and deep linking for iOS/Android apps. Does NOT modify any existing links. Returns the created smart link details including its short URL (youfil.to/<slug>). Common errors: - Slug already taken: choose a different slug or omit for auto-generation. - Plan limit reached: upgrade your plan to create more links. - Invalid URL: ensure the destination URL is a valid HTTP/HTTPS URL.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/CreateSmartLinkInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "CreateSmartLinkInput": {
      "additionalProperties": false,
      "description": "Input for creating a new smart link.",
      "properties": {
        "default_url": {
          "description": "The destination URL for this smart link",
          "pattern": "^https?://.+",
          "title": "Default Url",
          "type": "string"
        },
        "slug": {
          "anyOf": [
            {
              "maxLength": 50,
              "pattern": "^[a-z0-9-]+$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Custom short URL slug (auto-generated if omitted). Lowercase alphanumeric + hyphens only.",
          "title": "Slug"
        },
        "title": {
          "anyOf": [
            {
              "maxLength": 200,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Human-readable label for this link",
          "title": "Title"
        },
        "redirect_type": {
          "default": "302",
          "description": "HTTP redirect type. Use 302 (default) for links that may change, 301 for permanent.",
          "enum": [
            "301",
            "302"
          ],
          "title": "Redirect Type",
          "type": "string"
        },
        "geo_rules": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/GeoRuleInput"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Country-specific destination URLs for geo-targeting",
          "title": "Geo Rules"
        },
        "deep_link_config": {
          "anyOf": [
            {
              "$ref": "#/$defs/DeepLinkConfigInput"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "iOS/Android app-opening configuration"
        },
        "response_format": {
          "$ref": "#/$defs/ResponseFormat",
          "default": "markdown",
          "description": "Output format: 'markdown' or 'json'"
        }
      },
      "required": [
        "default_url"
      ],
      "title": "CreateSmartLinkInput",
      "type": "object"
    },
    "DeepLinkConfigInput": {
      "additionalProperties": false,
      "description": "iOS/Android app-opening configuration.",
      "properties": {
        "ios_app_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "iOS app deep link URL (e.g., 'amazon://...')",
          "title": "Ios App Url"
        },
        "ios_fallback_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Fallback URL if iOS app is not installed",
          "title": "Ios Fallback Url"
        },
        "android_app_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Android app deep link URL",
          "title": "Android App Url"
        },
        "android_fallback_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Fallback URL if Android app is not installed",
          "title": "Android Fallback Url"
        }
      },
      "title": "DeepLinkConfigInput",
      "type": "object"
    },
    "GeoRuleInput": {
      "additionalProperties": false,
      "description": "Country-specific destination URL.",
      "properties": {
        "country_code": {
          "description": "ISO 3166-1 alpha-2 country code (e.g., 'GB', 'DE', 'JP')",
          "pattern": "^[A-Z]{2}$",
          "title": "Country Code",
          "type": "string"
        },
        "destination_url": {
          "description": "URL to redirect visitors from this country to",
          "pattern": "^https?://.+",
          "title": "Destination Url",
          "type": "string"
        }
      },
      "required": [
        "country_code",
        "destination_url"
      ],
      "title": "GeoRuleInput",
      "type": "object"
    },
    "ResponseFormat": {
      "description": "Output format for tool responses.",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "ResponseFormat",
      "type": "string"
    }
  },
  "title": "youfiliate_create_smart_linkArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_create_smart_linkOutput"
}
🟢youfiliate_list_smart_links(params)

List your smart links with optional filtering, search, and pagination. Returns a paginated list of smart links. Use filters to narrow results. Does NOT create or modify any links. Args: params: Filters include health_status, search (title/URL), ordering, limit (1-100, default 20), and offset. Common errors: - No links found: you may not have created any links yet.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/ListSmartLinksInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "ListSmartLinksInput": {
      "additionalProperties": false,
      "description": "Input for listing smart links with optional filters.",
      "properties": {
        "limit": {
          "default": 20,
          "description": "Maximum results to return (1-100, default 20)",
          "maximum": 100,
          "minimum": 1,
          "title": "Limit",
          "type": "integer"
        },
        "offset": {
          "default": 0,
          "description": "Number of results to skip for pagination (default 0)",
          "minimum": 0,
          "title": "Offset",
          "type": "integer"
        },
        "response_format": {
          "$ref": "#/$defs/ResponseFormat",
          "default": "markdown",
          "description": "Output format: 'markdown' (default) or 'json'"
        },
        "health_status": {
          "anyOf": [
            {
              "enum": [
                "healthy",
                "broken",
                "unknown"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Filter by health status",
          "title": "Health Status"
        },
        "search": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Search by title or URL",
          "title": "Search"
        },
        "ordering": {
          "anyOf": [
            {
              "enum": [
                "created_at",
                "-created_at",
                "total_clicks",
                "-total_clicks",
                "daily_clicks",
                "-daily_clicks",
                "weekly_clicks",
                "-weekly_clicks",
                "title",
                "-title"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sort field (e.g., '-created_at', 'total_clicks', '-total_clicks')",
          "title": "Ordering"
        }
      },
      "title": "ListSmartLinksInput",
      "type": "object"
    },
    "ResponseFormat": {
      "description": "Output format for tool responses.",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "ResponseFormat",
      "type": "string"
    }
  },
  "title": "youfiliate_list_smart_linksArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_list_smart_linksOutput"
}
🟢youfiliate_get_smart_link(params)

Get full details of a single smart link by ID. Returns all configuration including geo rules, deep link config, and click stats. Does NOT modify the link. Common errors: - Smart link not found: check the ID or use `youfiliate_list_smart_links`.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/GetSmartLinkInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "GetSmartLinkInput": {
      "additionalProperties": false,
      "description": "Input for getting a single smart link.",
      "properties": {
        "id": {
          "description": "Smart link UUID",
          "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
          "title": "Id",
          "type": "string"
        },
        "response_format": {
          "$ref": "#/$defs/ResponseFormat",
          "default": "markdown",
          "description": "Output format: 'markdown' or 'json'"
        }
      },
      "required": [
        "id"
      ],
      "title": "GetSmartLinkInput",
      "type": "object"
    },
    "ResponseFormat": {
      "description": "Output format for tool responses.",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "ResponseFormat",
      "type": "string"
    }
  },
  "title": "youfiliate_get_smart_linkArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_get_smart_linkOutput"
}
🔴youfiliate_update_smart_link(params)

Update an existing smart link (partial update — only provided fields change). You can update the destination URL, slug, title, redirect type, geo rules, or deep link config. Geo rules are replaced entirely (not merged). Does NOT delete the link. Common errors: - Smart link not found: check the ID. - Slug already taken: choose a different slug.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/UpdateSmartLinkInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "DeepLinkConfigInput": {
      "additionalProperties": false,
      "description": "iOS/Android app-opening configuration.",
      "properties": {
        "ios_app_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "iOS app deep link URL (e.g., 'amazon://...')",
          "title": "Ios App Url"
        },
        "ios_fallback_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Fallback URL if iOS app is not installed",
          "title": "Ios Fallback Url"
        },
        "android_app_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Android app deep link URL",
          "title": "Android App Url"
        },
        "android_fallback_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Fallback URL if Android app is not installed",
          "title": "Android Fallback Url"
        }
      },
      "title": "DeepLinkConfigInput",
      "type": "object"
    },
    "GeoRuleInput": {
      "additionalProperties": false,
      "description": "Country-specific destination URL.",
      "properties": {
        "country_code": {
          "description": "ISO 3166-1 alpha-2 country code (e.g., 'GB', 'DE', 'JP')",
          "pattern": "^[A-Z]{2}$",
          "title": "Country Code",
          "type": "string"
        },
        "destination_url": {
          "description": "URL to redirect visitors from this country to",
          "pattern": "^https?://.+",
          "title": "Destination Url",
          "type": "string"
        }
      },
      "required": [
        "country_code",
        "destination_url"
      ],
      "title": "GeoRuleInput",
      "type": "object"
    },
    "ResponseFormat": {
      "description": "Output format for tool responses.",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "ResponseFormat",
      "type": "string"
    },
    "UpdateSmartLinkInput": {
      "additionalProperties": false,
      "description": "Input for updating a smart link (partial update).",
      "properties": {
        "id": {
          "description": "Smart link UUID to update",
          "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
          "title": "Id",
          "type": "string"
        },
        "default_url": {
          "anyOf": [
            {
              "pattern": "^https?://.+",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "New destination URL",
          "title": "Default Url"
        },
        "slug": {
          "anyOf": [
            {
              "maxLength": 50,
              "pattern": "^[a-z0-9-]+$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "New custom slug",
          "title": "Slug"
        },
        "title": {
          "anyOf": [
            {
              "maxLength": 200,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "New title/label",
          "title": "Title"
        },
        "redirect_type": {
          "anyOf": [
            {
              "enum": [
                "301",
                "302"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "New redirect type",
          "title": "Redirect Type"
        },
        "geo_rules": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/GeoRuleInput"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Replace geo rules (full replacement, not merge)",
          "title": "Geo Rules"
        },
        "deep_link_config": {
          "anyOf": [
            {
              "$ref": "#/$defs/DeepLinkConfigInput"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Replace deep link config"
        },
        "response_format": {
          "$ref": "#/$defs/ResponseFormat",
          "default": "markdown",
          "description": "Output format: 'markdown' or 'json'"
        }
      },
      "required": [
        "id"
      ],
      "title": "UpdateSmartLinkInput",
      "type": "object"
    }
  },
  "title": "youfiliate_update_smart_linkArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_update_smart_linkOutput"
}
🔴youfiliate_delete_smart_link(params)

Delete a smart link permanently. The short URL will stop working. IMPORTANT: Always confirm with the user before executing this action. The `confirm` parameter must be set to true. This is a destructive action that cannot be undone — the slug becomes available for reuse after a cooldown period. Does NOT affect other links or YouTube descriptions. Common errors: - Smart link not found: check the ID. - confirm=False: you must set confirm=True after getting user confirmation.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/DeleteSmartLinkInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "DeleteSmartLinkInput": {
      "additionalProperties": false,
      "description": "Input for deleting a smart link.",
      "properties": {
        "id": {
          "description": "Smart link UUID to delete",
          "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
          "title": "Id",
          "type": "string"
        },
        "confirm": {
          "default": false,
          "description": "Must be set to true to confirm deletion. IMPORTANT: Always confirm with the user before setting this to true.",
          "title": "Confirm",
          "type": "boolean"
        }
      },
      "required": [
        "id"
      ],
      "title": "DeleteSmartLinkInput",
      "type": "object"
    }
  },
  "title": "youfiliate_delete_smart_linkArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_delete_smart_linkOutput"
}
🟢youfiliate_get_smart_link_stats(params)

Get click analytics for a specific smart link. Returns click counts broken down by country, device, referrer, and day for the specified period. Does NOT modify any data. Common errors: - Smart link not found: check the ID.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/GetSmartLinkStatsInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "GetSmartLinkStatsInput": {
      "additionalProperties": false,
      "description": "Input for getting click analytics for a single smart link.",
      "properties": {
        "id": {
          "description": "Smart link UUID",
          "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
          "title": "Id",
          "type": "string"
        },
        "period": {
          "default": "30d",
          "description": "Time period for stats: '7d', '30d', '90d', or 'all'",
          "enum": [
            "7d",
            "30d",
            "90d",
            "all"
          ],
          "title": "Period",
          "type": "string"
        },
        "response_format": {
          "$ref": "#/$defs/ResponseFormat",
          "default": "markdown",
          "description": "Output format: 'markdown' or 'json'"
        }
      },
      "required": [
        "id"
      ],
      "title": "GetSmartLinkStatsInput",
      "type": "object"
    },
    "ResponseFormat": {
      "description": "Output format for tool responses.",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "ResponseFormat",
      "type": "string"
    }
  },
  "title": "youfiliate_get_smart_link_statsArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_get_smart_link_statsOutput"
}
🟢youfiliate_get_aggregate_stats(params)

Get aggregate click analytics across all your smart links. Returns total clicks, top countries, devices, and referrers across your entire account for the specified period. Does NOT modify any data.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/GetAggregateStatsInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "GetAggregateStatsInput": {
      "additionalProperties": false,
      "description": "Input for getting aggregate analytics across all smart links.",
      "properties": {
        "period": {
          "default": "30d",
          "description": "Time period for stats: '7d', '30d', '90d', or 'all'",
          "enum": [
            "7d",
            "30d",
            "90d",
            "all"
          ],
          "title": "Period",
          "type": "string"
        },
        "response_format": {
          "$ref": "#/$defs/ResponseFormat",
          "default": "markdown",
          "description": "Output format: 'markdown' or 'json'"
        }
      },
      "title": "GetAggregateStatsInput",
      "type": "object"
    },
    "ResponseFormat": {
      "description": "Output format for tool responses.",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "ResponseFormat",
      "type": "string"
    }
  },
  "title": "youfiliate_get_aggregate_statsArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_get_aggregate_statsOutput"
}
🟢youfiliate_check_link_health(params)

Trigger a health check for a specific smart link. Checks the default URL and all geo-rule URLs for availability. Returns the health status (healthy/broken/unknown). Rate limited to once per 5 minutes per link. Does NOT modify the link configuration. Common errors: - Rate limit: wait 5 minutes between health checks for the same link. - Smart link not found: check the ID.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/CheckLinkHealthInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "CheckLinkHealthInput": {
      "additionalProperties": false,
      "description": "Input for triggering a health check on a smart link.",
      "properties": {
        "id": {
          "description": "Smart link UUID to check",
          "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
          "title": "Id",
          "type": "string"
        },
        "response_format": {
          "$ref": "#/$defs/ResponseFormat",
          "default": "markdown",
          "description": "Output format: 'markdown' or 'json'"
        }
      },
      "required": [
        "id"
      ],
      "title": "CheckLinkHealthInput",
      "type": "object"
    },
    "ResponseFormat": {
      "description": "Output format for tool responses.",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "ResponseFormat",
      "type": "string"
    }
  },
  "title": "youfiliate_check_link_healthArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_check_link_healthOutput"
}
🟢youfiliate_get_preferences(params)

Get your current smart link preferences/defaults. Returns default settings applied to newly created smart links. Does NOT create or modify any data.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/GetPreferencesInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "GetPreferencesInput": {
      "additionalProperties": false,
      "description": "Input for getting user preferences.",
      "properties": {
        "response_format": {
          "$ref": "#/$defs/ResponseFormat",
          "default": "markdown",
          "description": "Output format: 'markdown' or 'json'"
        }
      },
      "title": "GetPreferencesInput",
      "type": "object"
    },
    "ResponseFormat": {
      "description": "Output format for tool responses.",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "ResponseFormat",
      "type": "string"
    }
  },
  "title": "youfiliate_get_preferencesArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_get_preferencesOutput"
}
🔴youfiliate_update_preferences(params)

Update your smart link preferences/defaults. Changes apply to newly created links only — existing links are not affected. Does NOT delete any data. Common errors: - Invalid redirect_type: must be '301' or '302'.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/UpdatePreferencesInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "ResponseFormat": {
      "description": "Output format for tool responses.",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "ResponseFormat",
      "type": "string"
    },
    "UpdatePreferencesInput": {
      "additionalProperties": false,
      "description": "Input for updating user preferences.",
      "properties": {
        "default_redirect_type": {
          "anyOf": [
            {
              "enum": [
                "301",
                "302"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Default redirect type for new smart links",
          "title": "Default Redirect Type"
        },
        "default_geo_rules_enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Whether geo-targeting is enabled by default for new links",
          "title": "Default Geo Rules Enabled"
        },
        "default_deep_linking_enabled": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Whether deep linking is enabled by default for new links",
          "title": "Default Deep Linking Enabled"
        },
        "response_format": {
          "$ref": "#/$defs/ResponseFormat",
          "default": "markdown",
          "description": "Output format: 'markdown' or 'json'"
        }
      },
      "title": "UpdatePreferencesInput",
      "type": "object"
    }
  },
  "title": "youfiliate_update_preferencesArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_update_preferencesOutput"
}
🟢youfiliate_get_youtube_status(params)

Check if your YouTube account is connected. Returns connection status, channel name, and scope information. Does NOT modify any data or initiate any connections. Common errors: - Not connected: use `youfiliate_connect_youtube` to connect.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/GetYouTubeStatusInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "GetYouTubeStatusInput": {
      "additionalProperties": false,
      "description": "Input for checking YouTube connection status.",
      "properties": {
        "response_format": {
          "$ref": "#/$defs/ResponseFormat",
          "default": "markdown",
          "description": "Output format: 'markdown' or 'json'"
        }
      },
      "title": "GetYouTubeStatusInput",
      "type": "object"
    },
    "ResponseFormat": {
      "description": "Output format for tool responses.",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "ResponseFormat",
      "type": "string"
    }
  },
  "title": "youfiliate_get_youtube_statusArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_get_youtube_statusOutput"
}
🟡youfiliate_connect_youtube(params)

Initiate YouTube OAuth connection. Returns a URL the user must open in their browser. The user must open the returned URL in their web browser to authorize Youfiliate to access their YouTube channel. The OAuth callback is handled in the browser — this tool only returns the authorization URL. Does NOT read or modify any YouTube data. The OAuth flow is completed in the user's browser. Common errors: - Already connected: disconnect first with `youfiliate_disconnect_youtube`.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/ConnectYouTubeInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "ConnectYouTubeInput": {
      "additionalProperties": false,
      "description": "Input for initiating YouTube OAuth connection.",
      "properties": {
        "response_format": {
          "$ref": "#/$defs/ResponseFormat",
          "default": "markdown",
          "description": "Output format: 'markdown' or 'json'"
        }
      },
      "title": "ConnectYouTubeInput",
      "type": "object"
    },
    "ResponseFormat": {
      "description": "Output format for tool responses.",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "ResponseFormat",
      "type": "string"
    }
  },
  "title": "youfiliate_connect_youtubeArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_connect_youtubeOutput"
}
🔴youfiliate_disconnect_youtube(params)

Disconnect your YouTube account from Youfiliate. IMPORTANT: Always confirm with the user before executing this action. The `confirm` parameter must be set to true. This removes stored OAuth tokens. You will need to reconnect to use the auto-migration feature. Does NOT modify any YouTube data or video descriptions. Common errors: - Not connected: no YouTube account to disconnect. - confirm=False: you must set confirm=True after getting user confirmation.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/DisconnectYouTubeInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "DisconnectYouTubeInput": {
      "additionalProperties": false,
      "description": "Input for disconnecting YouTube account.",
      "properties": {
        "confirm": {
          "default": false,
          "description": "Must be set to true to confirm disconnection. IMPORTANT: Always confirm with the user before setting this to true.",
          "title": "Confirm",
          "type": "boolean"
        }
      },
      "title": "DisconnectYouTubeInput",
      "type": "object"
    }
  },
  "title": "youfiliate_disconnect_youtubeArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_disconnect_youtubeOutput"
}
🟢youfiliate_preview_migration(params)

Preview a YouTube description migration without making changes. Performs a dry-run analysis showing how many videos and links would be affected. Does NOT modify any data or YouTube descriptions. Requires a connected YouTube account. Common errors: - YouTube not connected: connect first with `youfiliate_connect_youtube`.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/PreviewMigrationInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "PreviewMigrationInput": {
      "additionalProperties": false,
      "description": "Input for previewing a YouTube description migration.",
      "properties": {
        "conversion_mode": {
          "default": "affiliate_only",
          "description": "Which links to convert: 'all' converts every link, 'affiliate_only' only converts detected affiliate links",
          "enum": [
            "all",
            "affiliate_only"
          ],
          "title": "Conversion Mode",
          "type": "string"
        },
        "auto_geo_rules": {
          "default": true,
          "description": "Whether to auto-generate geo rules (e.g., Amazon international storefronts)",
          "title": "Auto Geo Rules",
          "type": "boolean"
        },
        "response_format": {
          "$ref": "#/$defs/ResponseFormat",
          "default": "markdown",
          "description": "Output format: 'markdown' or 'json'"
        }
      },
      "title": "PreviewMigrationInput",
      "type": "object"
    },
    "ResponseFormat": {
      "description": "Output format for tool responses.",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "ResponseFormat",
      "type": "string"
    }
  },
  "title": "youfiliate_preview_migrationArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_preview_migrationOutput"
}
🔴youfiliate_start_migration(params)

Start a YouTube description migration to convert links to smart links. IMPORTANT: This modifies YouTube video descriptions. Always confirm with the user before executing. Describe the scope (number of videos/links affected from the preview) and ask for explicit confirmation. The migration runs asynchronously. Use `youfiliate_get_migration_status` to track progress. Requires a connected YouTube account. Common errors: - YouTube not connected: connect first. - Migration already in progress: wait for it to complete. - confirm=False: must set confirm=True after user confirmation.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/StartMigrationInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "ResponseFormat": {
      "description": "Output format for tool responses.",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "ResponseFormat",
      "type": "string"
    },
    "StartMigrationInput": {
      "additionalProperties": false,
      "description": "Input for starting a YouTube description migration.",
      "properties": {
        "conversion_mode": {
          "default": "affiliate_only",
          "description": "Which links to convert",
          "enum": [
            "all",
            "affiliate_only"
          ],
          "title": "Conversion Mode",
          "type": "string"
        },
        "auto_geo_rules": {
          "default": true,
          "description": "Whether to auto-generate geo rules",
          "title": "Auto Geo Rules",
          "type": "boolean"
        },
        "confirm": {
          "default": false,
          "description": "Must be set to true to confirm migration. IMPORTANT: This modifies YouTube video descriptions. Always describe the scope (number of videos/links) and ask for explicit user confirmation before setting this to true.",
          "title": "Confirm",
          "type": "boolean"
        },
        "response_format": {
          "$ref": "#/$defs/ResponseFormat",
          "default": "markdown",
          "description": "Output format: 'markdown' or 'json'"
        }
      },
      "title": "StartMigrationInput",
      "type": "object"
    }
  },
  "title": "youfiliate_start_migrationArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_start_migrationOutput"
}
🟢youfiliate_get_migration_status(params)

Get the status and progress of a specific migration. Returns detailed status including videos processed, links created, and any errors. Does NOT modify any data. Common errors: - Migration not found: check the ID or use `youfiliate_list_migrations`.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/GetMigrationStatusInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "GetMigrationStatusInput": {
      "additionalProperties": false,
      "description": "Input for getting a specific migration's status.",
      "properties": {
        "id": {
          "description": "Migration UUID",
          "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
          "title": "Id",
          "type": "string"
        },
        "response_format": {
          "$ref": "#/$defs/ResponseFormat",
          "default": "markdown",
          "description": "Output format: 'markdown' or 'json'"
        }
      },
      "required": [
        "id"
      ],
      "title": "GetMigrationStatusInput",
      "type": "object"
    },
    "ResponseFormat": {
      "description": "Output format for tool responses.",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "ResponseFormat",
      "type": "string"
    }
  },
  "title": "youfiliate_get_migration_statusArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_get_migration_statusOutput"
}
🟢youfiliate_list_migrations(params)

List your YouTube description migrations with pagination. Returns a paginated list of all migrations. Does NOT modify any data.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/ListMigrationsInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "ListMigrationsInput": {
      "additionalProperties": false,
      "description": "Input for listing migrations.",
      "properties": {
        "limit": {
          "default": 20,
          "description": "Maximum results to return (1-100, default 20)",
          "maximum": 100,
          "minimum": 1,
          "title": "Limit",
          "type": "integer"
        },
        "offset": {
          "default": 0,
          "description": "Number of results to skip for pagination (default 0)",
          "minimum": 0,
          "title": "Offset",
          "type": "integer"
        },
        "response_format": {
          "$ref": "#/$defs/ResponseFormat",
          "default": "markdown",
          "description": "Output format: 'markdown' (default) or 'json'"
        }
      },
      "title": "ListMigrationsInput",
      "type": "object"
    },
    "ResponseFormat": {
      "description": "Output format for tool responses.",
      "enum": [
        "markdown",
        "json"
      ],
      "title": "ResponseFormat",
      "type": "string"
    }
  },
  "title": "youfiliate_list_migrationsArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_list_migrationsOutput"
}
🔴youfiliate_rollback_migration(params)

Roll back a completed migration, restoring original YouTube descriptions. IMPORTANT: This modifies YouTube video descriptions. Always confirm with the user before executing. This reverts all video descriptions to their pre-migration state. The rollback runs asynchronously. Requires a connected YouTube account. Common errors: - Migration not found or not in a rollback-eligible state. - YouTube not connected: reconnect first. - confirm=False: must set confirm=True after user confirmation.

輸入結構描述

{
  "type": "object",
  "properties": {
    "params": {
      "$ref": "#/$defs/RollbackMigrationInput"
    }
  },
  "required": [
    "params"
  ],
  "$defs": {
    "RollbackMigrationInput": {
      "additionalProperties": false,
      "description": "Input for rolling back a migration.",
      "properties": {
        "id": {
          "description": "Migration UUID to roll back",
          "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
          "title": "Id",
          "type": "string"
        },
        "confirm": {
          "default": false,
          "description": "Must be set to true to confirm rollback. IMPORTANT: This reverts YouTube video descriptions to their pre-migration state. Always confirm with the user before setting this to true.",
          "title": "Confirm",
          "type": "boolean"
        }
      },
      "required": [
        "id"
      ],
      "title": "RollbackMigrationInput",
      "type": "object"
    }
  },
  "title": "youfiliate_rollback_migrationArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "youfiliate_rollback_migrationOutput"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本18 個工具
已驗證未記錄版本18 個工具
已驗證未記錄版本18 個工具