linkly
Server Details
Create and manage short links, track clicks, and automate URL management
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- Linkly-HQ/linkly-mcp-server
- GitHub Stars
- 1
- Server Listing
- Linkly MCP Server
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.6/5 across 25 of 25 tools scored. Lowest: 2.9/5.
Most tools have distinct purposes, but there is some overlap between `list_links` and `search_links`, and between the several analytics/click tools. However, descriptions clarify their differences, reducing ambiguity.
Most tools follow snake_case verb_noun pattern, but `batchDeleteLinks` uses camelCase, breaking consistency. Additionally, `ping` and `test_authentication` deviate from the resource-based naming.
25 tools is on the higher end but appropriate for the scope, covering links, domains, analytics, webhooks, and workspace management. Each tool has a clear role, though the count could be slightly reduced by merging some analytics tools.
The tool surface is comprehensive, covering CRUD for links and domains, analytics (raw and aggregated), webhook management, workspace settings, and authentication checks. No obvious gaps for a URL shortening service.
Available Tools
25 toolsbatchDeleteLinksBDestructiveInspect
Batch delete multiple links
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Array of link IDs to delete |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description confirms the destructive nature already indicated by destructiveHint=true but adds no further behavioral context (e.g., error handling, idempotency, or data relationships).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, appropriate for a simple operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple one-param tool and existing annotations, the description is adequate but lacks details like batch size limits or behavior on invalid IDs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage and a clear description for the lone parameter 'ids', the description adds no extra semantic value beyond the schema, earning a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Batch delete multiple links' clearly states the verb (delete), resource (links), and scope (batch/multiple). It distinguishes itself from sibling tool 'delete_link' which handles single deletions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 over the single delete alternative, nor are any prerequisites or limitations mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_domainAInspect
Add a custom domain to the workspace. The domain must be configured to point to Linkly's servers.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The domain name (e.g., 'links.example.com') |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| workspace_id | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false, consistent with the write operation described. The description adds critical prerequisite info (DNS configuration) beyond annotations, but does not disclose error behavior or idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundancy. Action is front-loaded. Every word provides value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and an output schema, the description covers the core action and a key requirement. It lacks mention of uniqueness or return details, but output schema likely fills gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter description, but the tool description adds useful semantic context about the domain pointing prerequisite, enhancing understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Add a custom domain to the workspace' using a specific verb and resource. It distinguishes from sibling tools like delete_domain or list_domains by focusing on creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for adding custom domains but does not explicitly state when to use vs alternatives or provide when-not guidance. No exclusions or comparisons are made.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_linkBInspect
Create short links and URL shorteners. Use this when the user asks to shorten a URL, create a short link, or make a link shorter.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The destination URL for the link (required) | |
| name | No | A nickname for the link to identify it later | |
| note | No | A private note about this link | |
| slug | No | Custom slug/suffix for the link (must start with /). Only valid together with domain: setting slug without a workspace-owned domain is rejected by the API. | |
| domain | No | Custom domain for the short link (without trailing /). Must be a domain that already belongs to this workspace — call list_domains to get valid values. Required whenever slug is set. | |
| gtm_id | No | Google Tag Manager container ID | |
| enabled | No | Whether the link is active (default: true) | |
| cloaking | No | Hide destination URL by opening in an iframe | |
| og_image | No | Open Graph image URL for social media previews | |
| og_title | No | Open Graph title for social media previews | |
| utm_term | No | UTM term parameter | |
| block_bots | No | Block known bots and spiders from following the link | |
| ga4_tag_id | No | Google Analytics 4 tag ID | |
| utm_medium | No | UTM medium parameter | |
| utm_source | No | UTM source parameter | |
| fb_pixel_id | No | Meta/Facebook Pixel ID for tracking | |
| utm_content | No | UTM content parameter | |
| utm_campaign | No | UTM campaign parameter | |
| hide_referrer | No | Hide referrer information when users click | |
| forward_params | No | Forward URL parameters to the destination | |
| og_description | No | Open Graph description for social media previews | |
| expiry_datetime | No | ISO 8601 datetime when the link should expire | |
| expiry_destination | No | Fallback URL after expiry (404 if blank) |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | Link ID |
| url | No | Destination URL |
| name | No | |
| note | No | |
| slug | No | |
| rules | No | |
| domain | No | |
| gtm_id | No | |
| deleted | No | |
| enabled | No | |
| cloaking | No | |
| full_url | No | Full short-link URL |
| og_image | No | |
| og_title | No | |
| password | No | |
| utm_term | No | |
| webhooks | No | |
| body_tags | No | |
| head_tags | No | |
| qr_styles | No | |
| block_bots | No | |
| ga4_tag_id | No | |
| utm_medium | No | |
| utm_source | No | |
| fb_pixel_id | No | |
| utm_content | No | |
| notify_slack | No | |
| replacements | No | |
| utm_campaign | No | |
| workspace_id | No | |
| expiry_clicks | No | |
| hide_referrer | No | |
| linkify_words | No | |
| forward_params | No | |
| og_description | No | |
| expiry_datetime | No | |
| notify_user_ids | No | |
| reddit_pixel_id | No | |
| tiktok_pixel_id | No | |
| pinterest_tag_id | No | |
| public_analytics | No | |
| twitter_pixel_id | No | |
| snapchat_pixel_id | No | |
| created_by_user_id | No | |
| expiry_destination | No | |
| linkedin_partner_id | No | |
| microsoft_uet_tag_id | No | |
| skip_social_crawler_tracking | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=false and destructiveHint=false, and the description states 'Create' which is consistent. However, the description adds no additional behavioral details such as side effects, authentication requirements, rate limits, or response shape. With only minimal annotation coverage, the description should compensate but does not go beyond stating the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is two sentences: first defines the tool's function, second gives usage guidance. It is front-loaded and contains no filler. Every sentence serves a purpose, 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema and 23 optional parameters, the description is minimal. It does not mention critical constraints like slug requiring a / prefix and domain requiring workspace ownership (present in schema but not highlighted). It also does not explain the return value or how to interpret results. Given the tool's complexity, the description is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions for all 23 parameters. The tool description does not add any parameter-specific meaning beyond what the schema already provides. According to guidelines, when schema coverage is high (above 80%), baseline is 3, and the description does not improve upon this.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool creates short links and URL shorteners. The second sentence provides specific user intents ('shorten a URL, create a short link, or make a link shorter') that map directly to the tool. While siblings like update_link and delete_link exist, the description implicitly differentiates by focusing on creation actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explicitly says 'Use this when the user asks to shorten a URL, create a short link, or make a link shorter.' This gives clear context for when to invoke the tool. It does not mention when not to use it or alternatives like search_links for existing links, but for a creation tool the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_domainADestructiveInspect
Remove a custom domain from the workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| domain_id | Yes | The ID of the domain to delete |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The destructiveHint annotation already sets expectations of destructiveness. The description adds minimal extra context ('remove from workspace'), but does not disclose irreversibility, impact on associated links, or any confirmation steps. Given annotation coverage, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no extraneous words, making it highly concise and front-loaded for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple with one parameter and annotations convey destructiveness, the description lacks completeness in explaining post-deletion effects or the return value (output schema exists but is unhelpful). It meets minimum viability but has identifiable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the single parameter 'domain_id', so the schema already provides clear meaning. The tool description does not add additional semantic context beyond what is in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Remove' and the resource 'custom domain', and it effectively distinguishes from sibling tools like create_domain and list_domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor are there any prerequisites or consequences mentioned. The agent is left to infer context from the tool name and destructiveHint annotation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_linkADestructiveInspect
Delete a Linkly link by its ID
| Name | Required | Description | Default |
|---|---|---|---|
| link_id | Yes | The ID of the link to delete |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description matches the destructiveHint annotation, adding minimal extra information. It confirms the destructive nature but does not disclose other behavioral traits (e.g., irreversibility, permissions needed). Annotations already provide the core safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with 5 words, perfectly front-loaded with the verb, containing no fluff. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a simple one-parameter delete tool and an existing output schema, the description is nearly complete. It lacks mention of error conditions or prerequisites, but the core action is well-covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents the parameter. The description adds no additional meaning beyond stating the parameter is an ID, which is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 (Linkly link) and is specific about operating by ID. It distinguishes from siblings like delete_domain and batchDeleteLinks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (delete a single link by ID) but does not explicitly state when not to use it or mention alternatives like batchDeleteLinks. Usage context is clear but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_clicksBRead-onlyIdempotentInspect
Export detailed click records with full information (timestamp, browser, country, URL, platform, referer, bot, ISP, params).
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | End date in YYYY-MM-DD format (default: yesterday) | |
| bots | No | Bot filtering | |
| start | No | Start date in YYYY-MM-DD format (default: 30 days ago) | |
| country | No | Filter by country code | |
| link_id | No | Filter by specific link ID | |
| platform | No | Filter by platform |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, and non-destructive behavior. The description adds that the tool exports 'full information' and lists specific fields, which is consistent and slightly enriches context, but does not disclose any additional behavioral traits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that immediately conveys the tool's purpose and key output fields. No unnecessary words; front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (context signal) and annotations are present, the description adequately covers the tool's function. It lists output fields and implies an export action. However, it does not mention output format or file handling, which could be useful for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all 6 parameters are well-documented in the schema. The description does not add meaning beyond what the schema provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports detailed click records and lists included fields (timestamp, browser, etc.). However, it does not explicitly differentiate from sibling tools like 'get_clicks', which may also return click data, so the distinction is implied but not explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like 'get_clicks' or 'get_analytics'. The agent must infer usage context from the tool name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_analyticsARead-onlyIdempotentInspect
Get time-series click analytics data for charting. Returns click counts over time.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | End date in YYYY-MM-DD format (default: today) | |
| bots | No | Bot filtering: include (default), exclude, or only | |
| start | No | Start date in YYYY-MM-DD format (default: 30 days ago) | |
| unique | No | Count unique clicks only (by IP) | |
| browser | No | Filter by browser name | |
| country | No | Filter by country code (e.g., 'US', 'GB') | |
| link_id | No | Filter by specific link ID | |
| platform | No | Filter by platform (e.g., 'desktop', 'mobile', 'tablet') | |
| frequency | No | Time granularity: 'day' (default) or 'hour' |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds that it returns click counts over time, which is useful but doesn't disclose additional behavioral traits like rate limits or result size limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Front-loaded with the core action and output. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of output schema and rich annotations, the description is sufficiently complete. It states the return type and purpose. Minor gap: doesn't explicitly mention time granularity, but that is in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with parameter descriptions. Description does not add per-parameter meaning beyond the schema, but the context of 'time-series' and 'charting' helps interpret the role of parameters like frequency and filters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Get', the resource 'time-series click analytics data', the purpose 'for charting', and the output 'returns click counts over time'. This differentiates it from sibling 'get_analytics_by' which likely aggregates differently.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies use for charting time-series data but does not explicitly state when to use this tool vs alternatives like 'get_analytics_by'. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_analytics_byARead-onlyIdempotentInspect
Get click counts grouped by a dimension (country, platform, referrer, etc.). Useful for breakdowns and top-N reports.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | End date in YYYY-MM-DD format (default: today) | |
| bots | No | Bot filtering | |
| start | No | Start date in YYYY-MM-DD format (default: 30 days ago) | |
| unique | No | Count unique clicks only | |
| counter | Yes | Dimension to group by (required) | |
| country | No | Filter by country code | |
| link_id | No | Filter by specific link ID | |
| platform | No | Filter by platform |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds the key behavioral context of grouping click counts by a dimension, which is not covered by annotations. It does not detail filtering or default behavior, but the schema covers those.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences, front-loaded with the core function and followed by a practical use case. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With complete schema coverage and an output schema present, the description is sufficient for the tool's complexity. It could mention filtering and defaults, but those are already in the schema, so the description provides the necessary purpose and context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters. The description adds no additional parameter semantics beyond re-listing example dimensions already present in the enum. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get click counts grouped by a dimension' with examples, providing a specific verb and resource. It effectively distinguishes itself from sibling tools like get_analytics by emphasizing the grouping behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes 'Useful for breakdowns and top-N reports,' giving clear context for when to use the tool. It does not explicitly mention alternatives or when not to use it, but the intended use case is evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clicksBRead-onlyIdempotentInspect
Get recent click data for the workspace
| Name | Required | Description | Default |
|---|---|---|---|
| link_id | No | Optional: filter clicks by link ID |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so safety profile is clear. Description adds 'recent' but does not specify time range, pagination, or other key behaviors. With strong annotations, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise and front-loaded. However, the description could be more informative without losing conciseness, e.g., specifying what 'recent' means.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple with one optional param and output schema exists. However, missing details like the typical time window for 'recent' and whether results are paginated. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'link_id', which already has a description. The tool description adds no further meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb+resource ('Get recent click data') and scope ('workspace'). It is clear but does not differentiate from siblings like 'export_clicks' or 'get_analytics' which may also involve click data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives such as 'export_clicks' or 'get_analytics_by'. No context on prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_linkARead-onlyIdempotentInspect
Get details of a specific Linkly link by its ID
| Name | Required | Description | Default |
|---|---|---|---|
| link_id | Yes | The ID of the link to retrieve |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | Link ID |
| url | No | Destination URL |
| name | No | |
| note | No | |
| slug | No | |
| rules | No | |
| domain | No | |
| gtm_id | No | |
| deleted | No | |
| enabled | No | |
| cloaking | No | |
| full_url | No | Full short-link URL |
| og_image | No | |
| og_title | No | |
| password | No | |
| utm_term | No | |
| webhooks | No | |
| body_tags | No | |
| head_tags | No | |
| qr_styles | No | |
| block_bots | No | |
| ga4_tag_id | No | |
| utm_medium | No | |
| utm_source | No | |
| fb_pixel_id | No | |
| utm_content | No | |
| notify_slack | No | |
| replacements | No | |
| utm_campaign | No | |
| workspace_id | No | |
| expiry_clicks | No | |
| hide_referrer | No | |
| linkify_words | No | |
| forward_params | No | |
| og_description | No | |
| expiry_datetime | No | |
| notify_user_ids | No | |
| reddit_pixel_id | No | |
| tiktok_pixel_id | No | |
| pinterest_tag_id | No | |
| public_analytics | No | |
| twitter_pixel_id | No | |
| snapchat_pixel_id | No | |
| created_by_user_id | No | |
| expiry_destination | No | |
| linkedin_partner_id | No | |
| microsoft_uet_tag_id | No | |
| skip_social_crawler_tracking | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnly, idempotent, non-destructive hints. Description adds no further behavioral context beyond 'Get details'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, front-loaded sentence with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple tool with one parameter and presence of output schema, description is adequate though lacks mention of error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and description adds no meaning beyond the schema's parameter description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Get' and resource 'details of a specific Linkly link by its ID', distinguishing it from listing or searching siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly when you have a link ID, but no explicit guidance on when to use alternatives like search_links or list_links.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_domainsARead-onlyIdempotentInspect
List all custom domains in the workspace.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| results | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the description adds no extra behavioral context. It does not mention pagination, ordering, or scope limitations. With annotations present, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with all necessary action, resource, and scope. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and an output schema, the description fully captures the tool's purpose. No missing details that would hinder agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so the description cannot add parameter semantics. Per guidelines, 0 parameters yields baseline 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb (list), resource (custom domains), and scope (in the workspace). It effectively distinguishes from siblings like create_domain or delete_domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when or when not to use this tool compared to alternatives. While the context implies usage for retrieving domain listings, the description lacks specification of prerequisites or exclusion cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_linksCRead-onlyIdempotentInspect
List links with sorting and search
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| search | No | Search Query | |
| sort_by | No | Field to sort by | |
| sort_dir | No | Sort direction | |
| page_size | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to restate safety. However, it adds no behavioral details beyond sorting and search, such as pagination behavior or data limits. With strong annotations, a score of 3 is baseline acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loading the main functionality. It is appropriate in length but could expand slightly without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 5 parameters and existence of an output schema, the description is too minimal. It omits pagination details, sorting field options, and search syntax. For a tool with no required parameters, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%, meaning 'page' and 'page_size' lack descriptions. The description only mentions 'sorting and search' without adding detail for any parameter. It does not compensate for the missing schema descriptions, so score is below baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists links with sorting and search capabilities. However, it does not differentiate from the sibling tool 'search_links' which likely has overlapping functionality. The verb 'list' and resource 'links' are specific, but the scope is not well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like 'search_links' or 'get_link'. The description lacks context for selection among siblings, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_link_webhooksARead-onlyIdempotentInspect
List all webhook URLs subscribed to a specific link.
| Name | Required | Description | Default |
|---|---|---|---|
| link_id | Yes | The ID of the link |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds minimal behavioral context beyond the annotations. Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is clear. However, the description does not mention whether the list is paginated, ordered, or includes any limitations, which could be useful but is not critical given the tool's simplicity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the purpose without any extraneous information. Every word is necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and an output schema. The description is adequate for a basic listing operation but lacks any guidance on distinguishing from similar siblings (e.g., list_webhooks). Given the context, it is minimally viable but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add any additional meaning beyond the schema; the parameter 'link_id' is already described as 'The ID of the link'. No further elaboration is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'List', the resource 'webhook URLs', and the scope 'subscribed to a specific link'. It effectively distinguishes the tool from siblings like list_webhooks (which likely lists all webhooks without a link filter) and the subscribe/unsubscribe operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage guidelines are implied but not explicit. The description does not provide guidance on when to use this tool versus list_webhooks (e.g., when you need webhooks for a specific link) or mention any prerequisites or context where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webhooksARead-onlyIdempotentInspect
List all webhook URLs subscribed to the workspace. These receive click events for all links.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| results | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint. The description adds value by stating these webhooks receive click events for all links, which is 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with purpose, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters, annotations present, and output schema available, the description is fully adequate. It covers purpose and event type without needing more.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so the baseline is 4. The description does not need to add parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all webhook URLs subscribed to the workspace, using a specific verb and resource. It distinguishes from sibling tools like list_link_webhooks by specifying workspace-level scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage for listing workspace-level webhooks, contrasting with link-level webhooks. However, it does not explicitly state when not to use or mention alternatives like list_link_webhooks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workspacesARead-onlyIdempotentInspect
Return details of authenticated workspace
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| results | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint. The description adds no behavioral context beyond 'Return'. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, no unnecessary words. Perfectly concise for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, output schema exists, and annotations are present, the description is complete enough. It covers what the tool does without gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters; baseline is 4 per rules. The description adds no parameter info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Return' and the resource 'details of authenticated workspace'. It is specific and distinguishes from sibling tools like update_workspace or list_links.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While there is no explicit when/when-not guidance, the purpose is clear and context implies usage for retrieving workspace details. No alternatives are mentioned, but it's straightforward.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pingARead-onlyIdempotentInspect
Health check
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | a message to ping , default to Hello From Linkkly |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint, idempotentHint, destructiveHint. Description adds no behavioral details beyond what annotations already convey. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (2 words), front-loaded. Every word earns its place, though could be slightly more descriptive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple health check tool with one parameter and good annotations, the description is sufficient. No output schema needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'message', with a clear description in the schema. Description does not add extra parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Health check' combined with the title 'Ping server' clearly indicates a tool for checking server availability. It is distinct from siblings like create_link or list_links.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives, but the tool is simple and likely has no alternatives. Implied usage: call to verify connectivity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_linksARead-onlyIdempotentInspect
Search for links by name, URL, or note. Returns matching links with click statistics.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query to match against link names, URLs, and notes |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is clear. The description adds that results include click statistics, which is useful but not extensive. No behavioral traits beyond what annotations imply are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that conveys the action, scope, and output without any redundant words. It is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, output schema exists, annotations present), the description sufficiently covers what the tool does and what it returns. No gaps in functionality or usage context are apparent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter 'query' that has a description matching the tool's description. The description does not add further meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Search'), the resource ('links'), and the searchable fields ('by name, URL, or note'). It distinguishes from sibling tools like list_links by specifying filtering capability and mentions output includes click statistics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates usage when you need to filter links by a query, but it does not explicitly state when not to use it or mention alternative tools like list_links or get_link. No exclusionary context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscribe_link_webhookAInspect
Subscribe a webhook URL to receive click events for a specific link.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The webhook URL to receive click event notifications | |
| link_id | Yes | The ID of the link |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds minimal behavioral context beyond the annotations. While annotations indicate non-read-only and non-destructive nature, the description does not disclose details like idempotency, overwrite behavior, or rate limits. The bar is low because annotations exist, but description provides little extra value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the purpose. No redundancy or unnecessary information, earning the full score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple two-parameter schema and existing output schema, the description is minimally adequate. However, it lacks context on whether the tool overwrites existing subscriptions or requires authentication, which would help completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter having a description. The tool description does not add extra meaning beyond what the schema provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (subscribe), resource (webhook URL), and specific context (click events for a specific link). It effectively distinguishes from siblings like subscribe_webhook and unsubscribe_link_webhook by specifying link specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for subscribing to click events on a specific link, but does not explicitly state when to use this tool versus alternatives like subscribe_webhook. No when-not or exclusion guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscribe_webhookBInspect
Subscribe a webhook URL to receive click events for all links in the workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The webhook URL to receive click event notifications |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-readOnly and non-destructive, but the description lacks additional behavioral details such as idempotency, what happens on duplicate subscriptions, verification requirements, or error handling. For a create-like operation, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, no wasted words. Could be improved by adding key behavior info without becoming verbose, but it is concise and front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple subscription tool with one parameter and an output schema, the description covers purpose and scope adequately but omits return value behavior and side effects, leaving moderate gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'url' is well-described in the schema with 100% coverage. The description adds no extra meaning beyond the schema text, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Subscribe', the resource 'webhook URL', and the scope 'for all links in the workspace', effectively distinguishing it from sibling tools like subscribe_link_webhook and list_webhooks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by context (workspace-level subscription vs per-link), but no explicit when-to-use, prerequisites, or alternatives are provided. For example, it doesn't mention that subscribe_link_webhook is for specific links.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_authenticationBRead-onlyIdempotentInspect
Test API Authentication
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true and destructiveHint=false, describing safety profile. However, the description adds no further behavioral traits (e.g., what 'test' entails, whether it returns status or user info). Given the minimal annotations, the description should provide more context beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single brief sentence, concise and to the point. However, it may be slightly under-specified, but given the tool's simplicity, it earns a 4 for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Considering 0 parameters and the presence of an output schema, the description is minimally viable. However, it lacks any explanation of the return value or what 'testing' involves (e.g., a boolean, user object), leaving the agent to infer from the output schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (0 params, schema coverage 100%), so the description does not need to explain parameters. Baseline 4 is appropriate as there is no need for parameter elaboration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Test API Authentication' clearly states the tool's function: testing authentication. The name reinforces this. While siblings like 'ping' might also test connectivity, this tool is specifically for authentication, providing adequate distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., 'ping'). The description lacks any context about prerequisites or when authentication testing is appropriate, 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.
unsubscribe_link_webhookADestructiveInspect
Unsubscribe a webhook URL from a specific link's click events.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The webhook URL to unsubscribe | |
| link_id | Yes | The ID of the link |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide destructiveHint: true, so the description's claim that it 'unsubscribes' is consistent. However, the description adds minimal behavioral insight beyond the action itself, such as whether the operation is reversible or affects other webhooks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence without any fluff. It is concise and to the point, providing essential information efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple destructive tool with two required parameters and no output schema, the description is mostly complete. It would benefit from mentioning that it only affects click events for a specific link, but it covers the core functionality.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented. The description does not add additional meaning beyond what is in the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (unsubscribe), the resource (webhook URL), and the context (from a specific link's click events). It effectively distinguishes from related tools like subscribe_link_webhook and unsubscribe_webhook.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives like unsubscribe_webhook. It implies usage for a specific link's webhook but lacks guidance on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unsubscribe_webhookADestructiveInspect
Unsubscribe a webhook URL from workspace click events.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The webhook URL to unsubscribe |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint: true, so the agent knows it's destructive. The description confirms the action but adds no further behavioral context (e.g., side effects, reversibility, or error handling).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded with the key action and resource. No wasted words; appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter destructive tool with no output schema, the description adequately explains its purpose. However, it omits details about return values or potential errors, which would be marginally helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema parameter description ('The webhook URL to unsubscribe') is sufficient. The tool description adds no extra semantic value beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Unsubscribe' and the resource 'a webhook URL from workspace click events'. It is specific and distinguishes from sibling tools like subscribe_webhook and unsubscribe_link_webhook by specifying workspace-level events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. Does not mention that for link-specific webhooks one should use unsubscribe_link_webhook, nor any prerequisites or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_domain_faviconADestructiveIdempotentInspect
Update the favicon URL for a custom domain.
| Name | Required | Description | Default |
|---|---|---|---|
| domain_id | Yes | The ID of the domain to update | |
| favicon_url | Yes | URL to the favicon image |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, destructiveHint=true, and idempotentHint=true. The description adds no extra behavioral context beyond 'update,' missing details like permission requirements or effects on existing state. With annotations present, the description provides minimal added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence (8 words) that front-loads the purpose. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple update with an output schema, the description is minimally adequate. However, given the destructiveHint annotation, more context about reversibility or validation of favicon_url could be helpful. The description does not address potential side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters. The description does not add any meaning beyond what the schema provides, hitting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'update' and the resource 'favicon URL for a custom domain.' It distinguishes itself from siblings like update_link or update_workspace by focusing on a specific domain-level attribute.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives (e.g., create_domain or update_link). There is no mention of prerequisites, such as the domain needing to exist, nor any exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_linkCDestructiveInspect
Update an existing Linkly link by its ID
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | New destination URL | |
| name | No | New nickname for the link | |
| note | No | New private note | |
| gtm_id | No | Google Tag Manager ID | |
| enabled | No | Whether the link is active | |
| link_id | Yes | The ID of the link to update (required) | |
| cloaking | No | Enable URL cloaking | |
| og_image | No | Open Graph image URL | |
| og_title | No | Open Graph title | |
| utm_term | No | UTM term parameter | |
| block_bots | No | Block bots | |
| ga4_tag_id | No | Google Analytics 4 tag ID | |
| utm_medium | No | UTM medium parameter | |
| utm_source | No | UTM source parameter | |
| fb_pixel_id | No | Meta Pixel ID | |
| utm_content | No | UTM content parameter | |
| utm_campaign | No | UTM campaign parameter | |
| hide_referrer | No | Hide referrer | |
| forward_params | No | Forward URL parameters | |
| og_description | No | Open Graph description | |
| expiry_datetime | No | Expiry datetime (ISO 8601) | |
| expiry_destination | No | Fallback URL after expiry |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | Link ID |
| url | No | Destination URL |
| name | No | |
| note | No | |
| slug | No | |
| rules | No | |
| domain | No | |
| gtm_id | No | |
| deleted | No | |
| enabled | No | |
| cloaking | No | |
| full_url | No | Full short-link URL |
| og_image | No | |
| og_title | No | |
| password | No | |
| utm_term | No | |
| webhooks | No | |
| body_tags | No | |
| head_tags | No | |
| qr_styles | No | |
| block_bots | No | |
| ga4_tag_id | No | |
| utm_medium | No | |
| utm_source | No | |
| fb_pixel_id | No | |
| utm_content | No | |
| notify_slack | No | |
| replacements | No | |
| utm_campaign | No | |
| workspace_id | No | |
| expiry_clicks | No | |
| hide_referrer | No | |
| linkify_words | No | |
| forward_params | No | |
| og_description | No | |
| expiry_datetime | No | |
| notify_user_ids | No | |
| reddit_pixel_id | No | |
| tiktok_pixel_id | No | |
| pinterest_tag_id | No | |
| public_analytics | No | |
| twitter_pixel_id | No | |
| snapchat_pixel_id | No | |
| created_by_user_id | No | |
| expiry_destination | No | |
| linkedin_partner_id | No | |
| microsoft_uet_tag_id | No | |
| skip_social_crawler_tracking | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false. The description adds no behavioral context beyond 'update', such as whether it modifies only provided fields or resets unprovided ones, or what happens to existing analytics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is concise and front-loaded, containing the essential purpose. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high complexity (22 parameters, destructive hint, output schema exists), the description is insufficient. It does not explain update semantics, return value, or prerequisites, leaving agents to infer from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 22 parameters have schema descriptions (100% coverage), so the description need not repeat them. However, the description adds no extra meaning or usage patterns for the parameters, only reinforcing the link_id via 'by its ID'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update an existing Linkly link by its ID' clearly states the verb (update), resource (Linkly link), and key identifier (by its ID). It distinguishes from sibling tools like create_link and delete_link, but does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. It does not mention scenarios like partial vs full update, nor does it direct to create_link for new links or delete_link for removal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_workspaceADestructiveInspect
Update workspace settings. Only the fields provided are changed; omitted fields keep their current values.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Workspace name | |
| webhooks | No | REPLACES the workspace's full webhook subscription list. Omit to leave webhooks unchanged; prefer subscribe_webhook / unsubscribe_webhook for adding or removing a single URL. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already indicating destructive and non-read-only behavior, the description adds valuable context by stating 'Only the fields provided are changed; omitted fields keep their current values,' which is a meaningful partial-update behavior. This complements the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that front-load the purpose and immediately explain the key partial-update behavior. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, output schema present, good annotations), the description is nearly complete. It covers the core behavior, with the webhook replacement semantics provided in the schema. Slightly lacking is an explicit note in the description about webhook replacement, but this is covered elsewhere.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear descriptions for both parameters, including detailed semantics for 'webhooks' about replacing the full list and preferring subscribe/unsubscribe tools. The main description adds no extra parameter information, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Update workspace settings' with a specific verb and resource, distinguishing it from other update tools like update_link and update_domain_favicon. The additional sentence about partial updates further clarifies the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context that this tool updates workspace settings and that omitted fields are unchanged, implying its use for partial updates. However, it does not explicitly mention when to prefer alternative tools (like subscribe_webhook/unsubscribe_webhook for webhook management), which appears only in the schema description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to create, manage, and analyze short URLs through complete URL shortening functionality. Supports batch operations, custom domains, click statistics, and comprehensive link management.661MIT
- AlicenseAqualityCmaintenanceEnables AI agents to shorten URLs, manage links, and track click analytics through 8 first-class tools, designed for use with Claude Desktop, Cursor, and other MCP clients.931MIT

Jmpy mcp serverofficial
Flicense-qualityDmaintenanceUser can create short urls, edit short urls, get click analytics, generate qr codes and much more.- Alicense-qualityCmaintenanceEnables creation of short links, dynamic QR codes, UTM templates, and hosted vCards with click/scan analytics through natural language conversations.135MIT
Your Connectors
Sign in to create a connector for this server.