Skip to main content
Glama

Youfiliate Smart Links

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
andrewmpierce/youfiliate-mcp
GitHub Stars
0
Server Listing
youfiliate-mcp

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 18 of 18 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct resource or action, from smart link CRUD to health checks, statistics, and YouTube migration lifecycle. There is no meaningful overlap; even similar-sounding tools like get_smart_link and get_smart_link_stats are clearly separated by configuration vs. detailed analytics.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with a uniform 'youfiliate_' prefix, e.g., create_smart_link, get_smart_link, delete_smart_link, and start_migration. No mixed conventions or exceptions are present.

Tool Count4/5

With 18 tools, the set is slightly larger than the ideal 3-15 range but remains well-scoped for the dual domain of smart link management and YouTube migration. Each tool has a clear purpose, and the count is not excessive given the feature coverage.

Completeness5/5

The tool surface covers the full smart link lifecycle (create, read, update, delete, list) plus advanced features like health checks, aggregate/per-link stats, and preferences. The YouTube migration workflow is also complete with connect/disconnect, status, preview, start, list, status, and rollback, leaving no obvious dead ends.

Available Tools

18 tools
youfiliate_connect_youtubeAInspect

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`.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the tool does NOT read or modify YouTube data, that the OAuth flow completes in the browser, and that only the authorization URL is returned. This adds significant behavioral context beyond the annotations, clarifying the side-effect profile and the division of responsibility between tool and user.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with a brief opening sentence, a clear explanation of user action, a note about non-effects, and a bulleted common error. Every sentence serves a purpose, and it is front-loaded with the main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, the presence of an output schema, and annotations, the description covers the operational flow, user responsibilities, side-effect clarity, and a likely error case. It is complete for an agent to understand and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not discuss the response_format parameter, but the input schema already provides a description and default for it. With schema coverage of the single parameter, the description adds no additional semantic value, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Initiate YouTube OAuth connection' and explains it returns a URL to open in the browser. This clearly identifies the tool's specific action and resource, distinguishing it from siblings like disconnect or status check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the user must open the returned URL, and the common error section states that if already connected, one should disconnect first using youfiliate_disconnect_youtube. This provides a clear 'when not to use' and an alternative, though it doesn't explicitly mention checking connection status beforehand.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youfiliate_disconnect_youtubeA
DestructiveIdempotent
Inspect

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.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (destructive, idempotent), the description adds crucial context: it removes stored OAuth tokens, does NOT modify YouTube data, and explains common errors such as 'not connected' and 'confirm=False'. This gives the agent a thorough understanding of consequences and edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with the main action first, followed by important warnings, effects/non-effects, and common errors in bullet form. Every line serves a purpose and the layout improves scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive disconnect operation, the description covers prerequisites (user confirmation), effects (token removal), non-effects (no YouTube data modification), and failure cases. Since an output schema exists, return value details are unnecessary. The description is fully complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, confirm, is thoroughly explained: must be set to true, requires user confirmation, and the error case confirm=False is called out. This fully covers parameter semantics despite the schema coverage signal of 0%, because the description explicitly handles the parameter's meaning and required value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Disconnect your YouTube account from Youfiliate' with a specific verb and resource, distinguishing it from sibling tools like connect_youtube. The purpose is unambiguous and directly reflects the tool's function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: always confirm with the user, set confirm to true, and notes the need to reconnect for auto-migration. It clearly implies when to use the tool, though it does not explicitly name alternative tools beyond this context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youfiliate_get_aggregate_statsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds 'Does NOT modify any data' and lists the returned metrics (total clicks, top countries, devices, referrers), providing useful context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences: first states purpose, second enumerates return data, third confirms non-destructiveness. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers what the tool does, what it returns, and its safety profile. Combined with rich schema annotations, it is well-specified for an agent. It doesn't mention response_format's effect on output structure, but that's in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% — the tool description mentions no parameters. The schema itself describes 'period' and 'response_format' with enums and defaults, but the description adds no additional meaning or guidance for parameter selection.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool aggregates click analytics across all smart links with a specific verb+resource+scope. It says 'Get aggregate click analytics across all your smart links' and lists returned metrics, distinguishing it from sibling tools like get_smart_link_stats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly frames the tool as account-wide aggregate analytics, implying use when high-level trends across all links are needed. However, it doesn't explicitly name alternative tools or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youfiliate_get_migration_statusA
Read-onlyIdempotent
Inspect

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`.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only and idempotent behavior, and the description explicitly says 'Does NOT modify any data' which is redundant but reinforces. It adds value by disclosing the return contents (videos processed, links created, errors) and a common error (not found) with resolution guidance, going beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: two sentences plus a bullet for common errors. It front-loads the main purpose and immediately specifies safety ('Does NOT modify any data'). Every sentence serves a purpose with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (read-only status check) with good annotations and a clear output schema. The description covers what data is returned, explicitly notes non-mutating behavior, and handles the common error case. This is complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides clear descriptions for both 'id' (Migration UUID) and 'response_format' (markdown or json), so the description need not repeat them. However, the description itself does not mention parameter meanings; it only says 'specific migration', which hints at the id parameter. Given the schema's strong coverage, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Get the status and progress of a specific migration.' It identifies the resource (migration), the action (get status), and the scope (specific migration by ID). This distinguishes it from siblings like youfiliate_list_migrations (list all migrations) and youfiliate_preview_migration (preview).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have a migration ID and need status. It provides a helpful alternative in the error case: 'use `youfiliate_list_migrations`'. However, it does not explicitly state 'when to use' vs. 'when not to use' beyond this troubleshooting hint, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youfiliate_get_preferencesA
Read-onlyIdempotent
Inspect

Get your current smart link preferences/defaults.

Returns default settings applied to newly created smart links. Does NOT create or modify any data.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds value by specifying that it returns defaults for newly created smart links and reinforces that no data is created or modified, going slightly beyond the annotation hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, focused sentences. The description is front-loaded with purpose and adds only necessary context about scope and side effects. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only getter with one optional parameter and an output schema present, the description fully covers what the tool does, what it returns, and that it has no side effects. Nothing significant is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, response_format, is fully described in the input schema with its default and allowed values. The tool description adds no additional parameter meaning, so with schema coverage effectively covering the parameter, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets current smart link preferences/defaults, with a specific verb and resource. It does not explicitly differentiate from sibling tools, but the purpose is unambiguous and distinct enough from related tools like youfiliate_update_preferences.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: it returns default settings applied to newly created smart links and explicitly states it does not modify data. This implies when to use it (to view defaults) but does not explicitly name alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youfiliate_get_youtube_statusA
Read-onlyIdempotent
Inspect

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.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explicitly states 'Does NOT modify any data or initiate any connections,' which adds detail beyond the annotations (readOnlyHint, idempotentHint, destructiveHint). It also describes return values, but no rate limits or other behavioral traits are mentioned. The statement aligns with and reinforces the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the primary purpose. It uses short, scannable paragraphs for returns and common errors. Every sentence adds value, with no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and read-only. The description covers what it does, what it returns, and how to handle the main error case. With an output schema present and annotations covering safety, the description is sufficient for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, response_format, is already well-documented in the input schema with a description, default value, and allowed values. The description adds no additional parameter semantics, but since the schema provides full coverage, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks if a YouTube account is connected, which is a specific verb and resource. It also lists what it returns (connection status, channel name, scope information), distinguishing it from sibling tools like connect/disconnect.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a common error scenario and directs users to an alternative tool ('use youfiliate_connect_youtube to connect') when not connected. This provides clear context for when to use this tool versus the connection tool, though it could explicitly state when to choose this tool over other status-related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youfiliate_list_migrationsA
Read-onlyIdempotent
Inspect

List your YouTube description migrations with pagination.

Returns a paginated list of all migrations. Does NOT modify any data.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the pagination behavior and confirms no data modification, but this mostly reinforces annotations. There is no contradiction, but limited additional behavioral context beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded. The first sentence states the action and resource, and the second adds a safety clarification. Every sentence earns its place, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the annotations (read-only, idempotent) and the existence of an output schema, the description is fairly complete. It clearly states the paginated nature and non-destructive behavior. The only minor gap is no mention of default ordering or field details, but the output schema covers return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides full descriptions for all parameters (limit, offset, response_format), so the baseline is 3. The tool description mentions pagination generally but does not explain parameter syntax or add meaning beyond the schema. Schema coverage is effectively high, so description compensation is not required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'List' and clearly identifies the resource as 'YouTube description migrations.' It also mentions pagination, which distinguishes it from migration status or preview tools. This is unambiguous and differentiates from sibling tools like get_migration_status and preview_migration.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing migrations without modification, but it does not explicitly state when to use this tool over alternatives. No exclusions or alternative tool references are provided. The context is clear but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youfiliate_preview_migrationA
Read-onlyIdempotent
Inspect

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`.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, and the description reinforces this with 'Does NOT modify any data or YouTube descriptions' and 'dry-run.' It adds an important prerequisite—requires a connected YouTube account—and a common error note, providing useful context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, with the purpose in the first sentence. Each subsequent sentence adds a distinct fact: dry-run behavior, no data modification, account prerequisite, and a common error. There is minor redundancy between 'without making changes' and 'Does NOT modify,' but it remains appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a preview/dry-run tool with annotations and an output schema, the description covers the core behavior, safety, prerequisite, and an error case. It gives enough context for an agent to select and invoke it appropriately, and the sibling tool names provide additional context for related operations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool description provides no parameter-level guidance; it does not mention auto_geo_rules, conversion_mode, or response_format. Although the input schema includes descriptions for these fields, the context signal indicates 0% schema description coverage, and the description fails to compensate by explaining how these options affect the preview.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Preview a YouTube description migration,' and immediately clarifies it is a dry-run analysis showing affected videos and links. This clearly distinguishes it from siblings like youfiliate_start_migration and youfiliate_rollback_migration.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states that it performs a dry-run without making changes and requires a connected YouTube account, with a common-error note directing users to youfiliate_connect_youtube. It does not explicitly name youfiliate_start_migration as the alternative for actually executing a migration, so it stops short of full explicit when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youfiliate_rollback_migrationA
Destructive
Inspect

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.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (e.g., destructiveHint=true), the description discloses that execution is asynchronous, it reverts all video descriptions, requires a connected YouTube account, and describes specific failure modes. This is rich behavioral context that helps the agent anticipate side effects and errors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized: a clear one-sentence summary, an important warning, a note on async behavior and prerequisites, and a succinct bulleted list of common errors. Every sentence adds value, and the structure improves scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers prerequisites (connected account), execution model (async), required user confirmation, irreversible effect, and common error conditions. The tool has an output schema, so return values are presumably documented. This is complete for a rollback operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides detailed descriptions for both 'id' and 'confirm', including the confirmation warning. The description adds value by reiterating the confirm=False error and reinforcing the confirmation requirement, but largely relies on the schema. Since schema coverage is effectively high, the slight additional clarification earns a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Roll back'), the target resource ('a completed migration'), and the effect ('restoring original YouTube descriptions'). This unambiguously distinguishes it from sibling tools like start_migration or preview_migration and any other operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: confirm with user, requires connected YouTube account, and lists common errors including rollback-ineligible states and the need to set confirm=True. It does not explicitly name alternative tools, but the guidance is sufficient for an agent to know when to use this tool and what prerequisites must be met.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youfiliate_start_migrationA
Destructive
Inspect

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.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses destructive behavior (modifies YouTube descriptions), asynchronous execution, authentication requirements, and typical failure modes. Annotations already include destructiveHint=true and readOnlyHint=false, but the description adds critical context around user confirmation and error handling, going beyond the structured metadata.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and appropriately sized, with the main purpose and critical warning in the first lines, followed by async behavior, requirements, and errors in a scannable format. Every sentence serves a purpose, and the bullet-point error list improves readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential context: purpose, confirmation workflow, async tracking, authentication, and common errors. It references 'the preview' implying youfiliate_preview_migration, though not naming it explicitly. Since an output schema exists, return value details are not needed, making the description largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not explain the parameters auto_geo_rules, conversion_mode, or response_format, and only indirectly touches on confirm through the common error 'confirm=False: must set confirm=True after user confirmation.' With 0% schema description coverage, the description fails to compensate for parameter-level details that the input schema alone provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Start a YouTube description migration to convert links to smart links,' using a specific verb and resource. It clearly distinguishes the action from sibling tools like youfiliate_preview_migration, youfiliate_get_migration_status, and youfiliate_rollback_migration.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: confirm with the user, describe the scope from the preview, and set confirm=True. It names the prerequisite (connected YouTube account), specifies the tracking tool (youfiliate_get_migration_status), and lists common errors with corrective actions, all of which help an agent decide when and how to invoke this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

youfiliate_update_preferencesA
Idempotent
Inspect

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'.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (idempotent, not destructive), the description adds key behavioral context: changes are not retroactive and no data is deleted. It also mentions common errors with redirect_type, enhancing transparency for the agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and well-structured: purpose first, then scope/safety, then error tips. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema and detailed parameter descriptions in the schema, the tool description is sufficient. It could optionally mention that all parameters are optional, but the schema's defaults and nullability already convey this. Overall, it covers the necessary context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% in the tool description, but the input schema itself provides detailed descriptions for each parameter. The description adds a useful constraint for redirect_type ('301' or '302'), but does not compensate for all parameters. However, the schema carries the semantic load, so a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it updates smart link preferences/defaults, which is a specific verb+resource. It is distinguishable from siblings like get_preferences (read) and update_smart_link (updates a specific link) by using 'preferences/defaults'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says changes apply only to newly created links, which clarifies when to use this tool versus alternatives for modifying existing links. It also notes it does not delete data, but does not explicitly name alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to search products and generate affiliate links across European and global affiliate networks, automating product discovery and link creation for monetization.
    5
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Cross-platform music link resolution for AI agents. Resolve any song or album across Spotify, Apple Music, Amazon, YouTube, and more. Returns affiliate-ready links with click tracking
    4
    68
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to shorten URLs, manage links, and track click analytics through 8 first-class tools, designed for use with Claude Desktop, Cursor, and other MCP clients.
    9
    40
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.