Skip to main content
Glama
andrewmpierce

youfiliate-mcp

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.1

  • Disambiguation5/5

    Each tool has a clearly distinct purpose, covering separate actions like CRUD on smart links, YouTube connection management, migration operations, and preferences. There is no overlap or ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent pattern: 'youfiliate_' + verb_noun in snake_case (e.g., youfiliate_create_smart_link, youfiliate_get_youtube_status). No deviations or mixed conventions.

    Tool Count5/5

    With 18 tools, the set is comprehensive yet focused—covering smart link management, migrations, YouTube integration, and preferences. The count is appropriate for the server's scope.

    Completeness5/5

    The tool surface covers the full lifecycle of smart links (create, read, update, delete, list, stats, health), migrations (preview, start, status, list, rollback), YouTube connection, and preferences. No obvious gaps.

  • Average 4.2/5 across 18 of 18 tools scored. Lowest: 3.3/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true and idempotentHint=true. The description reinforces that it does not modify data and returns a paginated list. It adds context about pagination but does not disclose additional behavioral traits like rate limits or the structure of the returned data. With strong annotations, this is adequate but not exceptional.

    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 with two sentences, front-loading the purpose. Every sentence adds value: it states what the tool does, that it returns a paginated list, and that it does not modify data. No wasted words.

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

    Completeness3/5

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

    The description provides the core purpose and safety assurance, but lacks details about the return format (though there is an output schema), pagination behavior details, filtering options, and differentiation from sibling tools. For a simple listing tool, it is minimally complete but could be improved with more context.

    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 reported as 0%, meaning the schema does not describe its parameters (though the provided schema has descriptions for limit and offset, but the signal indicates 0% coverage). The description only mentions 'with pagination', which vaguely hints at pagination but does not explain the limit, offset, or response_format parameters. The description fails to compensate for the lack of schema descriptions.

    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 it lists migrations with pagination and returns a paginated list. It uses a specific verb 'List' and resource 'migrations'. However, it does not explicitly differentiate from the sibling tool 'youfiliate_get_migration_status', which might get a single migration's status.

    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 mentions 'Does NOT modify any data', indicating safe usage. However, it does not provide when-to-use guidance versus alternatives like 'youfiliate_get_migration_status' or any prerequisites (e.g., needing a YouTube connection). The usage context is implied but not explicit.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description reinforces non-modification and adds return field details. However, it does not disclose additional behaviors like rate limits or data freshness beyond what annotations already convey.

    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 two sentences with no superfluous words: first sentence states purpose, second sentence lists return fields and safety guarantee. Efficient and front-loaded.

    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 presence of an output schema (implied by 'Has output schema: true') and clear parameter schema, the description adequately covers purpose, return fields, and safety. It lacks explicit contrast with per-link stats but is otherwise complete for a simple aggregate query tool.

    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 input schema provides full descriptions for both parameters ('period' and 'response_format'), so schema coverage is high. The description adds 'for the specified period' but does not detail enum values or format options. Baseline 3 is appropriate as the schema carries the semantic load.

    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 it retrieves aggregate click analytics across all smart links, specifying return fields (total clicks, top countries, devices, referrers) and scope (entire account). It is distinguishable from the sibling tool `youfiliate_get_smart_link_stats` by the word 'aggregate', but does not explicitly name the alternative.

    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 notes the tool is read-only ('Does NOT modify any data'), but does not provide explicit guidance on when to use this tool versus per-link stats or other alternatives. The usage context is implied by the word 'aggregate', but no when-not or alternative names are given.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description reinforces idempotence by stating 'Does NOT create or modify any links' and adds pagination context. No new behavioral traits are disclosed beyond annotations, but consistency is maintained.

    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 with a clear front-loaded purpose, bullet-style argument listing, and a helpful common errors section. 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?

    The description covers the main functionality, pagination, filtering, and a common error. With an output schema present, return type details are not needed. However, it could mention that results can be formatted as markdown or json based on response_format parameter.

    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 lists key filters (health_status, search, ordering, limit, offset) but misses response_format. The input schema provides detailed descriptions for all nested parameters, so the description adds a concise summary but does not significantly enhance meaning beyond the schema.

    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 lists smart links with optional filters and pagination. It explicitly says 'Does NOT create or modify any links,' distinguishing it from sibling tools like create_smart_link and update_smart_link.

    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 filtering and searching links but does not explicitly guide when to use this tool over alternatives like get_smart_link or other list tools. The common error note provides some context but lacks explicit when-to-use/when-not-to-use guidance.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds 'Does NOT modify any data' and outlines return content (videos processed, links, errors), but does not significantly extend beyond 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 at 5 lines, immediately states purpose, includes key behavioral notes, and a helpful error section. Every sentence is informative and front-loaded.

    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?

    For a read-only status tool with an output schema, the description covers usage, safety, and common errors. It lacks some detail on return format but the output schema fills that gap. Adequate for the tool's complexity.

    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 provides no information about parameters (id, response_format). Schema descriptions handle this, but the description adds no value beyond the structured input schema, resulting in low parameter guidance.

    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 'Get the status and progress of a specific migration' with a specific verb and resource. It differentiates from sibling tools by focusing on a single migration ID and references youfiliate_list_migrations for finding IDs.

    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?

    Explicitly states 'Does NOT modify any data' and provides common errors including a suggestion to use youfiliate_list_migrations if the ID is not found. Clear context for when to use, though no explicit 'when not to use' exclusions.

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

  • Behavior4/5

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

    Annotations already provide readOnlyHint, destructiveHint, idempotentHint. Description adds value by specifying non-modification and detailing the breakdown dimensions (country, device, referrer, day), as well as listing common 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?

    Description is concise and front-loaded, delivering key information in two sentences plus a brief error note. Every sentence adds value without 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?

    Given output schema for return format, annotations for safety, and schema descriptions for parameters (though not in description), the tool is well-documented for a read-only stats retrieval. Includes error handling hints.

    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% per context signals, meaning the description text must compensate. However, the description does not explain any parameters (id, period, response_format), leaving the agent to rely solely on the schema, which is insufficient for full understanding.

    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?

    Description clearly states it gets click analytics for a specific smart link, breaking down counts by country, device, referrer, and day. Title in annotations and verb+resource structure distinguish it from siblings like get_aggregate_stats.

    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?

    Provides clear context on what it returns and that it does not modify data. However, it does not explicitly state when to use this tool versus alternatives or provide exclusions, such as when to use get_aggregate_stats instead.

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

  • Behavior4/5

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

    Annotations already indicate read-only and idempotent behavior. The description reinforces this with 'Does NOT modify the link' and adds details about returned data (geo rules, deep link config, click stats) and common errors, providing behavioral context beyond 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 (three sentences plus error hint) and front-loads the core purpose. Every sentence adds value, 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 tool's simplicity (one required param) and the existence of an output schema, the description adequately covers purpose, behavior, and common errors. It could briefly mention the response_format parameter, but overall it is sufficiently 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?

    Schema description coverage is 0%, but the description does not explain the parameters (id UUID format, response_format enum). It only mentions 'by ID' without elaboration. The description should compensate for the missing schema descriptions but fails to do so.

    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 retrieves full details of a single smart link by ID, listing specific configuration elements (geo rules, deep link config, click stats) and explicitly notes it does not modify. This distinguishes it from list and stats-only sibling tools.

    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 suggests using youfiliate_list_smart_links if the ID is not found, providing guidance on when not to use this tool. However, it doesn't explicitly contrast with youfiliate_get_smart_link_stats or other similar tools.

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

  • Behavior4/5

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

    Annotations provide idempotentHint=true and destructiveHint=false. Description adds behavioral details: partial update, geo rules replaced entirely, does NOT delete the link. This enriches understanding beyond annotations.

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

    Conciseness4/5

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

    The description is well-structured: first sentence states purpose, second lists fields, third covers errors. It is concise and front-loaded but could be slightly tighter.

    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 tool's complexity (optional fields, nested objects), the description covers partial update, geo rules replacement, and common errors. It does not explain return values (mitigated by output schema) or deep link replacement behavior, but is adequate overall.

    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?

    Each parameter in the schema has a detailed description. The description lists updatable fields but adds little extra meaning beyond the schema. It notes geo_rules replacement and common errors, which is helpful but not essential.

    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 'Update an existing smart link' with partial update behavior, distinguishing it from sibling tools like create, delete, or get. The title from annotations is also clear.

    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 partial update behavior and that geo rules are replaced entirely. It also lists common errors. However, it does not explicitly state when to use this tool versus alternatives like create or delete, though it is contextually clear.

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

  • Behavior4/5

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

    Annotations already indicate destructiveness (destructiveHint: true). The description adds key details: the tool modifies YouTube descriptions, runs asynchronously, and requires explicit confirmation. It also mentions common errors. No contradictions.

    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 well-structured. It front-loads the core purpose, then provides critical usage notes, async behavior, prerequisites, and common errors in a scannable format. Every sentence adds value.

    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 tool's purpose, key behavioral aspects, prerequisites, and common errors. It explains async tracking but does not explicitly state the return value (migration ID). Given that an output schema exists, this gap is minor.

    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 input schema already describes all parameters in detail, including the critical 'confirm' field's purpose. The tool description reinforces these points and adds usage context but does not introduce new parameter semantics beyond what the schema specifies.

    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: starting a migration to convert YouTube description links to smart links. It distinguishes from sibling tools like preview_migration and rollback_migration by noting that the migration runs asynchronously and requires confirmation.

    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 usage guidelines: requires user confirmation after previewing scope, mentions tracking with get_migration_status, and lists common errors including prerequisites like YouTube connection. It strongly implies that preview_migration should be used first to determine scope.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, covering safety. The description adds context that it returns default settings and does not create/modify data, reinforcing the read-only nature without contradicting 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 with two short sentences that front-load the purpose and add necessary behavioral context. Every sentence adds value without 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?

    Given the tool's simplicity (one parameter, no nested objects) and the presence of an output schema, the description adequately covers the tool's behavior and purpose. No additional information is needed.

    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 input schema includes one parameter (response_format) with a description in the schema itself. The tool description does not mention parameters, but the schema provides sufficient meaning. With high schema description 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 retrieves current smart link preferences/defaults, using specific verb 'Get' and resource 'preferences/defaults'. It distinguishes from sibling tools like update_preferences and create_smart_link by specifying it returns default settings for new links without modification.

    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 states it does not create or modify data, implying it's a read-only operation. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., checking preferences before creating links), but the context is clear enough for an AI agent.

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

  • Behavior4/5

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

    Annotations already provide idempotentHint=true and destructiveHint=false. The description adds that no data is deleted and changes only affect new links, which supplements the annotations without contradiction.

    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 three sentences plus a bullet list, efficiently covering purpose, scope, and common errors. Front-loaded with the main action, 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?

    Given the output schema exists (return values not needed), the description fully covers what the tool does, its behavioral constraints, and error handling. It is complete for an agent to understand invocation requirements.

    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 mentions one parameter (redirect_type) and its valid values. Schema coverage is 0% (parameters not described in tool description), but the schema itself has descriptions for each parameter. The description adds minimal extra meaning beyond the schema, but not for all parameters.

    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 'Update your smart link preferences/defaults,' specifying the verb and resource. It distinguishes from siblings like 'youfiliate_get_preferences' (read) and 'youfiliate_create_smart_link' (create) by focusing on 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 explains that changes apply only to newly created links, guiding when to use. However, it lacks explicit exclusions or alternatives (e.g., for existing links, use youfiliate_update_smart_link). Common errors are listed, aiding correct invocation.

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

  • Behavior5/5

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

    Annotations indicate readOnlyHint=false and destructiveHint=false, which are consistent with a creation tool. The description adds value by stating it does not modify existing links and lists common errors (slug taken, plan limit, invalid URL), providing behavioral insight beyond 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 at 7 sentences, starting with a clear purpose, then optional features, then a clarification of non-modification, then return value, then common errors. 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?

    The description mentions the return value includes the short URL and smart link details, which compensates for the missing output schema. However, it does not detail all possible fields in the response. Given the tool's complexity (geo rules, deep linking), the description is fairly complete but could elaborate more on the response structure.

    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 input schema has detailed descriptions for all parameters, so the description adds little new semantic meaning. It summarizes the purpose of key parameters (slug, geo_rules, deep_link_config) but does not provide additional depth beyond the schema. Baseline 3 is appropriate given high schema coverage.

    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 creates a new geo-targeted smart link with optional custom slug, redirects visitors, and configurable geo rules and deep linking. It distinguishes from siblings by explicitly noting it does not modify existing links, which separates it from update and delete tools.

    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 for usage: to create a smart link with optional geo-targeting and deep linking. It implicitly guides against modifying existing links via the 'does NOT modify' statement, but does not explicitly name alternatives or when not to use this tool. The sibling tool list provides additional context.

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

  • Behavior4/5

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

    Annotations already indicate destructive and non-read-only. Description adds context: permanent deletion, slug cooldown, no side effects on other resources.

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

    Conciseness4/5

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

    Structured with sections, front-loaded with core action. Some redundancy in repeating confirm parameter details, but overall efficient.

    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?

    Covers all essential context: destructive nature, user confirmation requirement, common errors, and what is not affected. With output schema present, it is complete for safe invocation.

    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 has good descriptions for id and confirm. The tool description reinforces the confirm requirement and adds context about slug cooldown, but schema coverage is actually high (not 0% as indicated).

    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 states 'Delete a smart link permanently' with specific verb and resource, and distinguishes from siblings like create or update.

    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?

    Explicitly warns to confirm with user before executing, and notes that other links and YouTube descriptions are unaffected. Could mention alternatives but sufficient.

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

  • Behavior5/5

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

    Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds value by detailing the rate limit, the scope of health check (all URLs), and the return status values. It confirms non-modification, which is consistent with annotations. No contradictions.

    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 well-structured, with a clear opening statement, then bullet-like details on scope, rate limit, and common errors. Every sentence serves a purpose without 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?

    Given the tool has only one required parameter, an output schema (not shown but indicated), and annotations covering safety, the description fully addresses what the tool does, its limitations, and error handling. No additional information is needed for correct usage.

    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 input schema includes descriptions for both parameters (id and response_format), reducing the need for description to add further semantics. The description mentions 'smart link UUID' implicitly but does not elaborate on response_format options. With schema already covering the parameters, the description adds marginal value, warranting a baseline score of 3.

    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 triggers a health check for a specific smart link. It explains what is checked (default URL and geo-rule URLs) and what is returned (health status). This distinguishes it from sibling tools like create, get, update, and delete by emphasizing it is a read-only 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 provides clear usage context, including rate limiting (once per 5 minutes per link) and common errors. It explicitly states it does NOT modify the link configuration, helping agents avoid using it for mutation. However, it lacks explicit comparison to sibling tools or when not to use it beyond the rate limit.

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

  • Behavior5/5

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

    Annotations already indicate readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description reinforces this by stating 'Does NOT modify any data or YouTube descriptions' and explains the dry-run behavior. No contradictions.

    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 with 5 sentences, front-loaded with the core purpose, and includes usage guidance and errors without unnecessary detail.

    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 complexity (previewing a migration), the description covers purpose, safety, prerequisites, error handling, and references a sibling tool. An output schema exists, reducing need to describe 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 description adds no parameter details, but the input schema provides comprehensive descriptions for all three parameters (conversion_mode, auto_geo_rules, response_format). Schema coverage is effectively high via schema, so the description's lack of parameter info is acceptable but not additive.

    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: 'Preview a YouTube description migration without making changes.' It specifies the verb 'preview' and resource 'migration', and distinguishes itself from sibling tools like youfiliate_start_migration by emphasizing it is a dry-run.

    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 when to use: 'before making changes' (implied by 'dry-run'), and prerequisites: 'Requires a connected YouTube account.' It also provides common errors and a link to a sibling tool for resolution. Lacks explicit comparison to alternatives but context is sufficient.

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

  • Behavior5/5

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

    Beyond annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), the description adds that the tool does NOT read or modify YouTube data, that the OAuth flow is completed by the user in the browser, and that it only returns a URL. This provides critical behavioral context for safe invocation.

    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 yet thorough, starting with the core action, then explaining the workflow, followed by clarifying non-modification, and concluding with common errors. Every sentence adds value without 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?

    Given the tool's simplicity and the presence of annotations and an output schema, the description covers all key aspects: purpose, usage steps, behavioral side effects, and error handling. It references the sibling disconnect tool, making it contextually 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 input schema has one required parameter 'params' with an optional nested property 'response_format'. Schema description coverage is 0% for the top-level parameter, but the description does not mention this parameter at all, failing to add value beyond the schema for guiding agent 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 initiates a YouTube OAuth connection and returns an authorization URL. It distinguishes itself from sibling tools like youfiliate_disconnect_youtube and youfiliate_get_youtube_status by specifying the action and output.

    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 explicitly instructs the user to open the returned URL in a browser, explains that the OAuth callback is handled in the browser, and provides a common error case (already connected) with a suggested action (disconnect first). This provides clear when-to-use and when-not-to-use guidance.

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

  • Behavior5/5

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

    Annotations already declare readOnlyHint true and destructiveHint false, but description adds value by explicitly stating it does not modify data or initiate connections, confirming no side effects.

    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?

    Extremely concise with two sentences and a bullet point. Front-loaded with the main purpose, no redundant 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 tool, the description covers purpose, behavior, error handling, and alternative tool. Output schema existence handles return value details, so no need to elaborate further.

    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 mention the single parameter (response_format). Although the schema provides a description, the tool description fails to add any context about this parameter, which is a gap given the 0% schema description coverage.

    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 YouTube account connection status and returns specific information. It distinguishes itself from sibling tools like youfiliate_connect_youtube.

    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?

    Explicitly states when to use (check status) and when not (if not connected, use youfiliate_connect_youtube). Provides a clear alternative action.

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

  • Behavior5/5

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

    Disclosures beyond annotations: modifies YouTube descriptions, asynchronous operation, requires confirmation. Annotations provide destructiveHint=true, but description adds critical context about user confirmation and asynchronicity.

    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?

    Description is concise and well-structured: main action first, then important warnings, then common errors. No unnecessary sentences.

    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 tool with 2 parameters and an output schema, the description covers purpose, usage, prerequisites, and error conditions comprehensively. The output schema likely covers return values, so no need to duplicate.

    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?

    Despite schema description coverage of 0% (though schema actually includes descriptions), the tool description thoroughly explains the confirm parameter and its importance. It reiterates the id parameter's purpose (Migration UUID) and provides usage guidance.

    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?

    Description clearly states 'Roll back a completed migration, restoring original YouTube descriptions.' This provides a specific verb and resource, and distinguishes from sibling tools like youfiliate_start_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?

    Description explicitly instructs to confirm with the user before executing and lists common errors including the need for confirm=True. It also mentions the prerequisite of a connected YouTube account. However, it does not explicitly state when not to use this tool versus alternatives.

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

  • Behavior5/5

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

    Discloses that it removes OAuth tokens and does not modify YouTube data, adding context beyond annotations. Annotations include destructiveHint=true, and the description confirms this without contradiction.

    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?

    Well-structured with clear sections (action, important note, common errors). Every sentence adds value, and the content is appropriately concise for a simple tool.

    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 one parameter and simple functionality, the description covers behavior, safety, errors, and output, making it complete. An output schema exists but isn't shown here.

    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, including its necessity and the requirement for user confirmation. The description adds meaningful context beyond the schema's parameter description.

    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. It distinguishes from sibling tools like connect_youtube and check_link_health.

    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?

    Explicitly states the need for user confirmation and provides common errors. While it doesn't mention alternative tools, the purpose is clear enough for correct selection.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

youfiliate-mcp MCP server

Copy to your README.md:

Score Badge

youfiliate-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/andrewmpierce/youfiliate-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server