Skip to main content
Glama
Linkly-HQ

Linkly MCP Server

by Linkly-HQ

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a distinct purpose with clear boundaries, targeting specific resources (domains, links, webhooks, analytics) and actions (create, delete, get, list, update, subscribe, unsubscribe, export). There is no overlap or ambiguity; for example, get_analytics and get_analytics_by serve different analytical functions, and webhook tools are clearly separated by scope (link-specific vs. workspace-wide).

    Naming Consistency5/5

    Tool names follow a consistent verb_noun pattern throughout, with verbs like create, delete, get, list, update, subscribe, unsubscribe, export, and search applied to nouns such as domain, link, webhook, analytics, and clicks. There are no deviations in style (e.g., no camelCase or mixed conventions), making the set predictable and readable.

    Tool Count4/5

    With 20 tools, the count is slightly high but reasonable for a link management and analytics domain, covering domains, links, webhooks, and analytics comprehensively. It avoids being excessive (e.g., not over 25) and each tool appears justified, though it could be streamlined slightly without losing functionality.

    Completeness5/5

    The tool set provides complete CRUD/lifecycle coverage for domains (create, list, delete, update_favicon), links (create, get, list, update, delete, search), and webhooks (subscribe, unsubscribe, list for both link-specific and workspace-wide). Analytics tools (get_analytics, get_analytics_by, export_clicks, get_clicks) offer robust data access, leaving no obvious gaps for agent workflows in this domain.

  • Average 3.1/5 across 20 of 20 tools scored.

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

    • 0 of 1 community issues answered or closed in the last 6 months
    • 34 commits in the last 12 weeks
    • No stable releases found
    • 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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool 'Adds' a domain, implying a write/mutation operation, but doesn't cover critical aspects like required permissions, whether the operation is idempotent, potential side effects, or error conditions. The prerequisite about domain configuration is helpful but insufficient for a mutation tool.

    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 concise sentences that are front-loaded with the core purpose and follow with a key prerequisite. Every word earns its place, with no redundancy or fluff, making it highly efficient and easy to parse.

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

    Completeness2/5

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

    Given the tool's complexity as a mutation operation with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., permissions, idempotency), expected outcomes, or error handling, which are crucial for safe and effective use in an AI agent 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?

    The input schema has 100% description coverage, with the 'name' parameter clearly documented as 'The domain name (e.g., 'links.example.com')'. The description doesn't add any meaningful parameter details beyond what the schema provides, such as format constraints or examples, so it meets the baseline for high schema coverage without extra value.

    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 action ('Add a custom domain') and the resource ('to the workspace'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'list_domains' or 'update_domain_favicon' beyond the obvious verb difference, which keeps it from a perfect score.

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

    Usage Guidelines2/5

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

    The description provides a prerequisite ('The domain must be configured to point to Linkly's servers'), which offers some usage context. However, it lacks explicit guidance on when to use this tool versus alternatives like 'list_domains' or 'update_domain_favicon', and doesn't mention any exclusions or complementary tools, leaving gaps in practical application.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. While it mentions that the tool 'Returns the created link with its short URL,' it fails to address critical behavioral aspects such as authentication requirements, rate limits, error conditions, or whether the operation is idempotent. For a creation tool with 23 parameters, this leaves significant gaps in understanding how the tool behaves.

    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 extremely concise with just two sentences that directly state the tool's purpose and return value. Every word serves a clear function with zero redundancy, making it efficiently front-loaded and easy to parse.

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

    Completeness2/5

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

    Given the complexity (23 parameters, creation operation) and absence of both annotations and an output schema, the description is insufficiently complete. It doesn't explain what the return value looks like beyond 'the created link with its short URL,' nor does it cover error handling, permissions, or system constraints. For a tool with this many configuration options, more contextual 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 has 100% description coverage, with each parameter clearly documented (e.g., 'The destination URL for the link (required)'). The description adds no additional parameter information beyond what's in the schema, which is acceptable given the comprehensive schema coverage, resulting in the baseline score of 3.

    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 action ('Create a new Linkly short link') and resource ('short link'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this tool from sibling tools like 'update_link' or 'delete_link' beyond the creation aspect, which prevents a perfect score.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'update_link' for modifying existing links or 'list_links' for viewing. There's no mention of prerequisites, constraints, or typical use cases, leaving the agent without contextual usage instructions.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Remove' implying a destructive mutation, but doesn't specify if this is permanent, requires admin permissions, affects associated data, or has rate limits. This leaves critical behavioral traits unaddressed for a deletion tool.

    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 a single, direct sentence with zero wasted words. It front-loads the core action and resource, making it highly efficient and easy to parse, which is ideal for conciseness.

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

    Completeness2/5

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

    Given the tool's destructive nature, lack of annotations, and no output schema, the description is insufficient. It doesn't cover behavioral aspects like permanence, permissions, or error handling, nor does it hint at return values, leaving significant gaps in context for safe and effective use.

    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 100% description coverage, with 'domain_id' clearly documented as 'The ID of the domain to delete'. The description adds no additional parameter details beyond what the schema provides, so it meets the baseline for high schema coverage without compensating further.

    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 action ('Remove') and resource ('a custom domain from the workspace'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'delete_link' or 'update_domain_favicon', but the specificity of 'custom domain' provides some implicit distinction.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'list_domains' for viewing or 'create_domain' for adding. It lacks context about prerequisites, such as needing an existing domain ID, or warnings about irreversible deletion, leaving usage unclear.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. While 'Delete' implies a destructive operation, it doesn't specify whether deletion is permanent, reversible, requires specific permissions, or has side effects (like affecting associated analytics or webhooks). For a destructive operation with zero annotation coverage, this is insufficient.

    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 a single, efficient sentence that communicates the core functionality without any wasted words. It's appropriately sized for a simple tool with one parameter and gets straight to the point.

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

    Completeness2/5

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

    For a destructive operation with no annotations and no output schema, the description is incomplete. It doesn't address critical context like whether the deletion is permanent, what happens to associated data (clicks, analytics, webhooks), or what confirmation/response to expect. Given the tool's complexity and lack of structured coverage, more behavioral 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?

    Schema description coverage is 100%, with the single parameter 'link_id' fully documented in the schema. The description adds no additional parameter information beyond what's already in the structured schema, so it meets the baseline expectation without adding extra value.

    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 action ('Delete') and resource ('a Linkly link by its ID'), making the purpose immediately understandable. It doesn't explicitly distinguish from sibling tools like 'delete_domain' or 'update_link', but the specificity of 'link' vs 'domain' provides implicit differentiation.

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

    Usage Guidelines2/5

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

    No guidance is provided about when to use this tool versus alternatives like 'update_link' for modification or other deletion tools. The description only states what it does, not when it should be selected over other available options.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states 'Export' but doesn't specify the output format (e.g., CSV, JSON), whether it's a file download or data stream, or any rate limits or permissions required. The mention of 'full information' hints at comprehensive data but lacks operational details.

    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 a single, efficient sentence that front-loads the core action and key details. It avoids redundancy, though it could be slightly more structured by separating purpose from field listings for better readability.

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

    Completeness2/5

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

    For a tool with 6 parameters, no annotations, and no output schema, the description is inadequate. It lacks critical information about the export format, data volume, error handling, and how it differs from sibling tools, leaving significant gaps for an agent to operate effectively.

    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 100%, providing clear documentation for all 6 parameters. The description adds minimal value by implying filtering capabilities through 'detailed click records' and listing fields like 'country' and 'platform', but doesn't explain parameter interactions or default behaviors beyond what the schema already covers.

    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 verb ('Export') and resource ('detailed click records'), and specifies the scope with 'full information' listing key fields. However, it doesn't explicitly differentiate from sibling tools like 'get_clicks' or 'get_analytics', which might offer similar click data but potentially with different formats or filtering capabilities.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'get_clicks' or 'get_analytics'. It mentions 'full information' but doesn't clarify if this is for bulk exports, reports, or other specific use cases, leaving the agent to infer usage from context alone.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read operation ('Get') but doesn't specify details like data recency, pagination, rate limits, or authentication needs. This leaves significant gaps in understanding how the tool behaves beyond basic retrieval.

    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 a single, clear sentence with no wasted words, making it highly concise and front-loaded. It efficiently communicates the core purpose without unnecessary elaboration, earning top marks for brevity and structure.

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

    Completeness2/5

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

    Given the lack of annotations and output schema, the description is incomplete for a data retrieval tool. It doesn't explain what 'recent' means, the format of returned data, or how to handle large datasets, leaving the agent with insufficient context to use the tool effectively beyond basic invocation.

    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 100% description coverage, documenting the optional 'link_id' parameter for filtering. The description adds no additional parameter details beyond what the schema provides, so it meets the baseline score of 3 for adequate but not enhanced parameter semantics.

    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 action ('Get') and resource ('recent click data for the workspace'), making the purpose understandable. However, it doesn't distinguish itself from sibling tools like 'get_analytics' or 'export_clicks', which might also involve click data, leaving some ambiguity about its specific role.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'get_analytics' or 'export_clicks'. It lacks context on prerequisites, such as whether it requires specific permissions or is intended for real-time vs. historical data, offering minimal usage direction.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves details but doesn't specify what details are included, whether authentication is required, if there are rate limits, or the response format. This is a significant gap for a tool with no annotation coverage.

    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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse quickly.

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

    Completeness2/5

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

    Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what details are returned, potential errors, or behavioral traits like permissions needed. For a retrieval tool in a context with multiple sibling tools, more guidance and transparency are warranted.

    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 100%, so the input schema fully documents the 'link_id' parameter. The description adds no additional meaning beyond what the schema provides, such as examples or constraints, but it doesn't need to compensate for low coverage. Baseline 3 is appropriate when the schema handles parameter documentation.

    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 verb ('Get details') and resource ('a specific Linkly link by its ID'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_links' or 'search_links', which also retrieve link information but with different scopes or filters.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives such as 'list_links' for multiple links or 'search_links' for filtered searches. It lacks context on prerequisites or exclusions, leaving the agent to infer usage based on the tool name alone.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool subscribes a webhook, implying a mutation operation, but does not cover critical aspects like authentication requirements, rate limits, error handling, or what happens on success (e.g., confirmation details). This leaves significant gaps in understanding the tool's behavior.

    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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and wastes no space, making it easy to parse quickly.

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

    Completeness2/5

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

    Given the complexity of a mutation tool with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits (e.g., side effects, response format), usage context, and how it integrates with sibling tools, leaving the agent with incomplete information for proper invocation.

    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 100% description coverage, clearly documenting both parameters ('link_id' and 'url'). The description does not add any additional meaning beyond the schema, such as format examples or constraints, but the schema adequately covers the basics, meeting the baseline for high coverage.

    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 action ('Subscribe') and resource ('a webhook URL to receive click events for a specific link'), making the purpose evident. However, it does not explicitly differentiate from sibling tools like 'subscribe_webhook' or 'list_link_webhooks', which might cause confusion about when to use this specific tool versus alternatives.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'subscribe_webhook' or 'unsubscribe_link_webhook'. It lacks context about prerequisites, such as whether the link must exist or if webhooks need prior setup, and does not mention any exclusions or typical use cases.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool's function but fails to describe critical behavioral traits: it doesn't mention whether this is a mutating operation (likely yes, as it 'subscribes'), what permissions are required, if there are rate limits, how events are formatted, or if the subscription is persistent. For a tool that likely modifies system state, this is a significant gap in transparency.

    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 a single, efficient sentence that directly states the tool's purpose without any redundant or unnecessary information. It is appropriately sized and front-loaded, with every word contributing to understanding the core functionality.

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

    Completeness2/5

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

    Given the complexity of a subscription tool with no annotations and no output schema, the description is incomplete. It doesn't explain what happens after subscription (e.g., event format, delivery guarantees), potential errors, or how to manage the subscription later. For a tool that likely involves ongoing system changes, more context is needed to ensure proper 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 has 100% description coverage, with the single parameter 'url' well-documented in the schema. The description adds no additional semantic context about the parameter beyond what's in the schema (e.g., URL format requirements or validation rules). According to the rules, when schema coverage is high (>80%), the baseline score is 3 even with no param info in the description, which applies here.

    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 action ('Subscribe a webhook URL') and the resource ('to receive click events for all links in the workspace'), providing a specific verb+resource combination. However, it doesn't explicitly distinguish this tool from its sibling 'subscribe_link_webhook', which likely subscribes to events for specific links rather than all links, leaving some ambiguity about sibling differentiation.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'subscribe_link_webhook' or other webhook-related tools. It lacks context about prerequisites, such as whether the URL needs to be pre-configured, or exclusions, such as when not to use it. This leaves the agent with minimal usage direction.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. While 'unsubscribe' implies a destructive operation, the description doesn't specify whether this requires specific permissions, whether the action is reversible, what happens if the URL isn't subscribed, or any rate limits. For a mutation tool with zero annotation coverage, this is insufficient.

    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 a single, efficient sentence that communicates the core functionality without any wasted words. It's appropriately sized for a tool with one parameter and gets straight to the point.

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

    Completeness2/5

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

    For a destructive operation tool with no annotations and no output schema, the description is incomplete. It doesn't address important contextual information like what happens after unsubscription, whether there's confirmation feedback, error conditions, or how this interacts with sibling unsubscribe tools. The agent would need to guess about many behavioral aspects.

    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 description coverage is 100%, with the single parameter 'url' clearly documented in the schema as 'The webhook URL to unsubscribe'. The description doesn't add any additional parameter information beyond what's already in the structured schema, so the 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 action ('unsubscribe') and target ('webhook URL from workspace click events'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'unsubscribe_link_webhook' - both involve unsubscribing webhooks but for different scopes (workspace vs link-specific).

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

    Usage Guidelines2/5

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

    No guidance is provided about when to use this tool versus alternatives like 'unsubscribe_link_webhook' or what prerequisites might be needed. The description only states what the tool does, not when it should be selected over other unsubscribe options available in the sibling list.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It implies a mutation ('Update'), but doesn't disclose behavioral traits like required permissions, whether the change is reversible, potential side effects, or rate limits. For a mutation tool with zero annotation coverage, this is a significant gap.

    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 a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It is appropriately sized and front-loaded, making it easy to understand at a glance.

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

    Completeness2/5

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

    Given that this is a mutation tool with no annotations and no output schema, the description is incomplete. It lacks information on behavioral aspects like permissions, reversibility, and response format, which are crucial for safe and effective use by an AI agent.

    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 description coverage is 100%, with both parameters ('domain_id' and 'favicon_url') fully documented in the input schema. The description adds no additional meaning beyond what the schema provides, such as format details or constraints, so it meets the baseline for high schema coverage.

    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 action ('Update') and the specific resource ('favicon URL for a custom domain'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'update_link', but the specificity of 'favicon URL' and 'custom domain' provides enough distinction in context.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives, such as 'update_link' or 'create_domain', nor does it mention prerequisites like needing an existing domain. It states what the tool does but offers no contextual usage advice.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. While 'Update' implies a mutation operation, it doesn't specify whether this requires authentication, what permissions are needed, whether changes are reversible, or what happens when only some fields are provided. For a complex mutation tool with 22 parameters, this is insufficient behavioral context.

    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 a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a tool with extensive schema documentation and follows good front-loading principles by stating the core action immediately.

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

    Completeness2/5

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

    For a complex mutation tool with 22 parameters and no annotations or output schema, the description is inadequate. It doesn't explain what happens when you update a link, what the response looks like, error conditions, or how partial updates work. The combination of high complexity and lack of structured metadata requires more descriptive context than provided.

    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 description coverage is 100%, with all 22 parameters well-documented in the schema itself. The description adds no additional parameter information beyond what's already in the schema, so it meets the baseline of 3 where the schema does the heavy lifting for parameter documentation.

    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 action ('Update') and resource ('an existing Linkly link by its ID'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'create_link' or 'update_domain_favicon', but the specificity about updating links by ID provides good clarity.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'create_link' or 'get_link'. It mentions the required 'link_id' parameter but doesn't explain prerequisites, error conditions, or typical use cases for updating versus creating new links.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a list operation, implying read-only behavior, but doesn't cover critical aspects like pagination, rate limits, authentication needs, or what happens if the link doesn't exist. This leaves significant gaps for a tool with potential complexity.

    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 a single, efficient sentence that directly states the tool's purpose without any wasted words. It's front-loaded and appropriately sized for a simple list operation, earning full marks for conciseness.

    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?

    Given the tool's simplicity (one parameter, no output schema, no annotations), the description is minimally adequate but incomplete. It lacks details on behavioral traits and usage context, which are important even for basic tools, especially with siblings like 'list_webhooks' that could cause confusion.

    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 100% description coverage, with the 'link_id' parameter clearly documented as 'The ID of the link'. The description adds no additional meaning beyond this, such as format examples or constraints, so it meets the baseline for high schema coverage without compensating value.

    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 action ('List all webhook URLs') and resource ('subscribed to a specific link'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from the sibling 'list_webhooks' tool, which appears to be a broader version, so it misses the highest clarity mark.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'list_webhooks' or other sibling tools. It lacks context on prerequisites, such as needing an existing link, or exclusions, leaving the agent without usage direction.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a mutation operation ('Unsubscribe') but doesn't specify whether this requires authentication, what happens on success/failure, or if it's idempotent. For a tool that likely modifies state, this lack of detail is a significant gap.

    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 a single, direct sentence that efficiently conveys the core action without any fluff or redundancy. It's appropriately sized and front-loaded, making it easy to parse quickly.

    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?

    Given the tool's moderate complexity (a mutation with two parameters) and no annotations or output schema, the description is minimally adequate. It covers the basic purpose but lacks details on behavior, error handling, or output, which are needed for full contextual understanding.

    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 100% description coverage, with clear documentation for both parameters ('link_id' and 'url'). The description adds no additional semantic context beyond what the schema provides, such as format examples or relationship between parameters, so it meets the baseline for high schema coverage.

    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 action ('Unsubscribe') and the target ('a webhook URL from a specific link's click events'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'unsubscribe_webhook' or 'subscribe_link_webhook', which would require mentioning scope or context differences for a perfect score.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'unsubscribe_webhook' or 'subscribe_link_webhook', nor does it mention prerequisites such as needing an existing subscription. It only states what the tool does, leaving usage context entirely implicit.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It mentions 'click counts' and 'grouped by a dimension' but lacks behavioral details like whether this is a read-only operation, if it requires authentication, rate limits, pagination, or what the output format looks like. For an analytics tool with 8 parameters, this is a significant gap in transparency.

    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 concise sentences with zero waste: the first states the core functionality, and the second provides usage context. It's front-loaded with the main purpose and efficiently structured.

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

    Completeness2/5

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

    Given the complexity (8 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain the return values (e.g., format of grouped data), behavioral aspects like error handling, or how it differs from sibling tools. For a data retrieval tool with multiple filters, more context is needed to guide effective use.

    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 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema by listing example dimensions (country, platform, browser, etc.), but doesn't provide additional semantics like how grouping works or interactions between parameters. Baseline 3 is appropriate when schema does the heavy lifting.

    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's purpose: 'Get click counts grouped by a dimension' with examples like country, platform, browser. It specifies the verb ('Get') and resource ('click counts'), but doesn't explicitly differentiate from sibling tools like 'get_analytics' or 'get_clicks', which likely provide different analytics views.

    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 provides implied usage context: 'Useful for breakdowns and top-N reports.' This suggests when to use it, but doesn't explicitly state when not to use it or name alternatives among siblings (e.g., 'get_analytics' might be for aggregated totals). No clear exclusions or prerequisites are mentioned.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a list operation, implying read-only behavior, but doesn't cover critical aspects like pagination, sorting, rate limits, authentication needs, or what 'all' entails in terms of scope or performance impact.

    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 a single, clear sentence with zero wasted words. It's front-loaded with the core action and resource, making it highly efficient and easy to parse at a glance.

    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?

    Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate. However, it lacks details on output format, potential limitations, or how it fits with siblings, leaving gaps for an agent to fully understand its use in context.

    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 tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, aligning with the schema. A baseline of 4 is applied since it doesn't add unnecessary details.

    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 action ('List') and resource ('all custom domains in the workspace'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_links' or 'list_webhooks' beyond the domain focus, which prevents a perfect score.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. While the description implies it's for listing domains, it doesn't mention prerequisites, when to choose it over other list tools, or any contextual constraints, leaving usage decisions unclear.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It mentions the return includes 'click statistics', which adds some behavioral context, but lacks details on permissions, rate limits, pagination, or workspace scope. For a read operation with zero annotation coverage, this is insufficient.

    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 concise sentences with zero waste: the first states the action and resource, and the second adds output information. It's front-loaded and efficiently structured.

    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?

    Given the tool's low complexity (0 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and output, but for a list operation in a server with many sibling tools, it should provide more context on behavior and usage to be fully complete.

    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 has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, but this is appropriate given the lack of parameters, warranting a baseline score of 4 for adequate handling.

    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's purpose: 'List all links in the workspace' specifies the verb (list) and resource (links), and 'Returns links with click statistics' adds output detail. However, it doesn't explicitly differentiate from sibling tools like 'search_links' or 'get_link', which would require a 5.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention when to choose 'list_links' over 'search_links' (which might allow filtering) or 'get_link' (which might retrieve a single link), leaving the agent without usage context.

    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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool 'Returns matching links with click statistics,' which adds useful context about the output format beyond a simple list. However, it doesn't cover other behavioral aspects like pagination, rate limits, authentication needs, or error handling, leaving gaps for a search operation.

    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 highly concise and front-loaded, consisting of two clear sentences: one for the search action and one for the return value. Every word earns its place, with no redundancy or unnecessary elaboration, making it efficient and easy to parse.

    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?

    Given the tool's moderate complexity (a search function with one parameter) and no output schema, the description is partially complete. It explains the search scope and return data ('click statistics'), but lacks details on output structure, error cases, or performance considerations. With no annotations, it should do more to compensate, but it's adequate for basic use.

    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 100% description coverage, with the 'query' parameter well-documented as 'Search query to match against link names, URLs, and notes.' The description adds minimal value by restating this ('Search for links by name, URL, or note') but doesn't provide additional syntax, format examples, or constraints beyond the schema. This meets the baseline for high schema coverage.

    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's purpose: 'Search for links by name, URL, or note.' It specifies the verb ('Search') and resource ('links'), and mentions the searchable fields. However, it doesn't explicitly differentiate from siblings like 'list_links' or 'get_link', which could be used for similar retrieval purposes, so it falls short of a perfect score.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention siblings like 'list_links' (which might list all links without filtering) or 'get_link' (which might retrieve a specific link by ID), nor does it specify prerequisites or exclusions. Usage is implied by the search functionality but not explicitly defined.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the return type ('click counts over time') but doesn't describe authentication requirements, rate limits, pagination, error conditions, or what happens with large date ranges. For a data retrieval tool with 9 parameters, this leaves significant behavioral aspects undocumented.

    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 perfectly concise with two sentences that each earn their place: the first states the purpose and context, the second clarifies the return format. It's front-loaded with the core functionality and wastes no 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?

    For a tool with 9 parameters, 100% schema coverage, but no annotations and no output schema, the description provides adequate basic context about what the tool does and returns. However, it lacks information about authentication, rate limits, error handling, and output structure details that would be helpful given the complexity of the filtering options.

    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 100%, so the schema already documents all 9 parameters thoroughly with descriptions, defaults, and enums. The description adds no parameter-specific information beyond what's in the schema, so it meets the baseline of 3 where the schema does the heavy lifting.

    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 specific action ('Get time-series click analytics data for charting') and resource ('click analytics data'), distinguishing it from siblings like get_clicks (which likely returns raw click data) or get_analytics_by (which might have different aggregation). It explicitly mentions the output format ('Returns click counts over time'), making the purpose unambiguous.

    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 charting time-series data, but doesn't explicitly state when to use this tool versus alternatives like get_clicks or get_analytics_by. It provides context about the return format (time-series for charting), but lacks guidance on exclusions or specific scenarios where this tool is preferred over siblings.

    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?

    No annotations are provided, so the description carries full burden. It discloses the tool's read-only nature and the type of data returned (webhook URLs for click events), but lacks details on pagination, rate limits, authentication needs, or error conditions. It adds basic behavioral context but misses operational specifics.

    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 a single, efficient sentence that front-loads the core purpose ('List all webhook URLs') and adds only essential context ('subscribed to the workspace' and 'receive click events for all links'). There is zero wasted verbiage, making it highly concise and well-structured.

    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?

    Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is adequate but minimal. It covers the basic purpose and scope but lacks details on output format (e.g., list structure), error handling, or integration with sibling tools, leaving gaps for a complete understanding in a broader context.

    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 tool has 0 parameters with 100% schema description coverage, so the schema fully documents the absence of inputs. The description does not need to compensate for any parameter gaps, and it appropriately avoids redundant parameter explanations, earning a baseline score above 3 for clarity in a parameterless context.

    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 specific action ('List all webhook URLs') and the resource ('subscribed to the workspace'), with additional context about their function ('receive click events for all links'). It distinguishes from siblings like 'list_link_webhooks' by specifying workspace-level scope versus link-level.

    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 retrieving workspace webhooks but does not explicitly state when to use this tool versus alternatives like 'list_link_webhooks' or 'subscribe_webhook'. No guidance on prerequisites or exclusions is provided, leaving usage context partially inferred.

    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

linkly-mcp-server MCP server

Copy to your README.md:

Score Badge

linkly-mcp-server 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/Linkly-HQ/linkly-mcp-server'

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