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 annotations already indicate destructiveHint=true, but the description adds no further behavioral context such as irreversibility, error handling, or what happens to related data. It simply restates the 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?
The description is a single sentence with no wasted words, efficiently conveying the core functionality.
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 batch delete with one parameter and an output schema, the description is adequate but could mention return value structure or partial failure scenarios. It is complete enough for basic usage.
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 full coverage (100%) and the parameter description 'Array of link IDs to delete' is clear. The description adds no additional meaning 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 'Batch delete multiple links' clearly states the action (batch delete) and the resource (links), distinguishing it from the sibling tool 'delete_link' which deletes a single link.
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 batch delete versus single delete, nor any mention of batch size limits, prerequisites, or alternative tools. The agent has to infer usage from context.
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 and destructiveHint=false, and the description confirms it's a creation action by saying 'Add'. Beyond annotations, it adds the behavioral context that the domain must be pre-configured, which is critical for correct usage.
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 redundancy, efficiently conveying the action and a key prerequisite. 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?
For a simple tool with one parameter and an output schema, the description covers purpose and a critical precondition. It does not explain return values, but the output schema likely handles that. Minor gap: no mention of success/failure behavior.
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 description coverage, the schema already documents the single 'name' parameter with an example. The description does not add further meaning, so baseline score 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 'Add' and resource 'custom domain', and includes a prerequisite about DNS configuration. This distinguishes it from sibling tools like delete_domain, list_domains, etc.
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 a key prerequisite ('domain must be configured to point to Linkly's servers') that implies when it's appropriate to use. However, it does not explicitly discuss when not to use it or mention alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_linkAInspect
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?
The description adds minimal behavioral context beyond the annotations. Annotations indicate it is a write operation (readOnlyHint=false) but not destructive. The description does not disclose side effects, permissions, or return behavior. However, the presence of an output schema partially compensates.
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, consisting of two sentences with no wasted words. The first sentence states the action, and the second provides usage context. Every sentence 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?
Despite 23 parameters, the description is complete enough given the rich schema documentation and output schema. It succinctly covers the primary use case. A small improvement could hint at optional customizations (e.g., UTM parameters), but not required.
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 23 parameters have descriptions in the schema. The description adds no additional parameter-level meaning beyond stating the core purpose. Baseline 3 is appropriate as the schema already handles parameter documentation.
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 'Create' and resource 'short links and URL shorteners', and directly maps to user requests like 'shorten a URL'. It effectively differentiates from sibling tools like update_link 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 explicitly states when to use the tool ('when the user asks to shorten a URL, create a short link, or make a link shorter'), providing clear guidance. It does not mention when not to use it or alternatives, but the primary use case is well covered.
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?
Annotations already declare destructiveHint=true, which the description aligns with ('Remove'). The description adds no additional behavioral context beyond what annotations provide, such as reversibility, permissions, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the tool's purpose without any 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 existence of an output schema and annotations covering the destructive nature, the description is minimally complete. It could mention that deletion is permanent or affects linked resources, but overall it suffices for a simple tool.
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 the description does not add meaning beyond the schema's description of 'domain_id'. The baseline of 3 is appropriate since the schema already documents the parameter.
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 uses a specific verb ('Remove') and resource ('custom domain') with clear scope ('from the workspace'). It distinguishes itself 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?
While the purpose is clear, the description provides no explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or consequences. Usage is implied but not elaborated.
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 annotations already signal destructiveHint=true and readOnlyHint=false. The description adds 'by its ID' which clarifies the mechanism but does not disclose additional behavioral traits such as irreversibility, permissions, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no extraneous words. Every part 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?
Given the simple tool with one parameter, annotations, and an output schema, the description is adequate. It could mention the batch alternative for completeness, but it's mostly sufficient.
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. The description does not add any meaning beyond what the schema already 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 action 'Delete', the resource 'Linkly link', and the method 'by its ID'. It distinguishes this tool from siblings like batchDeleteLinks which handles multiple 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 guidance is provided on when to use this tool versus alternatives like batchDeleteLinks. There are no prerequisites or context mentioned for using this tool effectively.
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 declare readOnlyHint, idempotentHint, and destructiveHint. The description adds the list of output fields but does not disclose export format, rate limits, or any side effects. 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?
The description is a single, well-structured sentence with no unnecessary words. The key verb and resource are 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?
With an output schema present, the description need not explain return values, but it lacks details on export format (e.g., CSV, JSON) and any limitations like max rows. This is adequate but not fully complete.
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 descriptions for all 6 parameters. The description adds no new information about the parameters; it merely lists output fields, which is redundant with the schema. 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 'Export' and the resource 'detailed click records', listing specific fields. However, it does not explicitly differentiate from the sibling tool 'get_clicks', which likely serves a similar purpose.
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 alternatives like 'get_clicks' or 'get_analytics'. There is no mention of prerequisites, use cases, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_analyticsBRead-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 indicate read-only, idempotent, non-destructive. Description aligns but adds no new behavioral traits.
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 efficient sentences, front-loaded with key information. 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?
Good but minimal; output schema exists to explain return values. Could add more context on typical use or default behavior.
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 baseline is 3. Description does not add parameter-level details beyond 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?
Clearly states it gets time-series click analytics data for charting. But does not distinguish from sibling tool 'get_analytics_by', so not a 5.
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. No when-not-to-use context provided.
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, browser, 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 indicate readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds that it returns click counts grouped by dimension but does not disclose additional traits like pagination or limits. With annotations covering safety, the description is adequate but not enriching.
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 that starts with the core action and ends with indicative use cases. Every word is purposeful, with no redundancy or extra 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 an output schema present, the description does not need to detail return values. It covers the essential grouping functionality for an analytics tool with many parameters, all documented in the schema. Could mention that results are counts, but overall sufficient.
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 each parameter has a description. The description's mention of grouping by dimension mirrors the counter parameter but does not add new meaning beyond the schema. 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?
Description clearly states the tool gets click counts grouped by a dimension, with examples like country, platform, browser. It distinguishes from siblings like get_analytics and get_clicks by specifying aggregation and grouping.
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 says 'Useful for breakdowns and top-N reports,' providing clear context for when to use this tool. However, it does not explicitly mention when to not use it or list alternatives, missing some guidance.
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, and destructiveHint=false. The description adds only the vague term 'recent', without specifying the time window or other behavioral traits like pagination or data freshness.
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, focused sentence with no extraneous words. It is efficiently structured and easy to parse.
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 an output schema exists (not shown), the description lacks clarity on what constitutes 'recent' and does not mention whether the data is aggregated or per-click. For a simple read tool, it is minimally complete but leaves room for ambiguity.
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 only parameter (link_id) has a clear description in the schema, achieving 100% coverage. The tool description does not add any additional context about the parameter, so it meets 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 action ('Get recent click data') and the target ('for the workspace'). It implies a temporal filter ('recent') but does not differentiate from sibling tools like get_analytics, which may also provide 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 versus alternatives such as export_clicks or get_analytics. The description does not mention prerequisites, limitations, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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 indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description 'get details' aligns with these annotations but adds no additional behavioral context beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence of 11 words, front-loaded with the action and resource. Efficient and no waste, though could be slightly more detailed.
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 single-parameter tool, the presence of an output schema, and annotations, the description is complete enough for an agent to understand its purpose and usage.
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 the input schema already describes the parameter link_id as 'The ID of the link to retrieve'. The tool description does not add further meaning 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 the verb 'get' and the resource 'details of a specific Linkly link by its ID', which is specific and distinguishes from siblings like list_links and search_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?
The description does not provide explicit guidance on when to use this tool versus alternatives like list_links or search_links. The usage is implied by the tool's purpose but lacks explicit when/not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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 indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds no additional behavioral details beyond 'list all custom domains', but this is sufficient for a simple read operation.
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 with no unnecessary words, perfectly 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 zero parameters, no required parameters, presence of output schema, and annotations, the description is fully complete for an agent to understand and use the tool.
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 in input schema; schema description coverage is 100%. Baseline score of 4 applies as description adds no parameter details, which 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?
Description uses specific verb 'list' and resource 'custom domains', clearly distinguishing from siblings like create_domain, delete_domain, update_domain_favicon.
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?
Clear context that it lists all custom domains in the workspace. No explicit exclusions or alternatives, but simplicity makes guidance obvious.
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 (readOnlyHint=true, destructiveHint=false) already indicate a safe read operation. The description adds that it supports sorting and search, but does not disclose pagination behavior (e.g., default page size, total count) or whether results are scoped to a workspace. With good annotations, the description is adequate but not enriching.
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 at 5 words. Front-loaded with the core action. However, it is borderline under-specified, lacking details that could be added without bloating. Still, 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?
Despite having output schema and annotations covering safety, the description omits important context: pagination (page/page_size semantics), default behavior, and scope (all links or filtered). For a tool with 5 params and 0 required, 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 description coverage is 60% (descriptions for search, sort_by, sort_dir). page and page_size lack descriptions. The tool description 'with sorting and search' adds no parameter-level detail beyond what's in the schema. It does not compensate for undocumented parameters, leaving ambiguity.
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 'List links with sorting and search' clearly states the verb (list) and resource (links), and hints at capabilities (sorting, search) that distinguish it from siblings like get_link or search_links. However, it lacks specifics on scope (e.g., all links in workspace?) which prevents a 5.
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 vs alternatives like search_links. The description does not state prerequisites, filters, or when not to use it. The sibling list includes search_links, but no comparison is provided.
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?
Annotations already indicate readOnlyHint=true, so safety is covered. Description adds no extra behavioral context beyond what annotations provide, which is 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?
Single sentence of 8 words, no filler, directly conveys the tool's function.
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 has an output schema (not shown), so description need not explain return values. It adequately explains what the tool does, though could mention if it supports pagination or limits.
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 a clear description for the single parameter link_id. Description does not add extra meaning beyond the schema, meeting 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?
Description clearly states verb 'List' and resource 'webhook URLs subscribed to a specific link', distinguishing it from sibling tools like list_webhooks and subscribe/unsubscribe tools.
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 vs alternatives such as list_webhooks. Usage is implied by the link-specific wording, but lacks when-not advice.
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 declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. The description adds context about the webhooks receiving click events, which is beyond the annotations. No contradictions. However, it does not mention pagination or limits, but for a parameterless tool, this is 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?
Two sentences with no wasted words. The first sentence states the primary action, and the second adds relevant context. 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?
For a simple parameterless tool with an output schema (present but not shown), the description is complete. It explains what the tool returns (list of webhook URLs) and their purpose. No additional information is necessary given the low complexity.
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 tool has zero parameters, and the schema coverage is 100% (empty). Per rubric, zero parameters baseline is 4. The description does not need to add parameter info, and it does not hinder understanding.
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, which is a specific verb+resource. It also mentions they receive click events for all links, adding context. This distinguishes it from the sibling tool 'list_link_webhooks' by implying 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?
No guidance on when to use this tool vs alternatives like 'list_link_webhooks' or 'subscribe_webhook'. The description only states what it does, not when it's appropriate. Given the presence of multiple webhook-related sibling tools, this is a gap.
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 declare readOnlyHint=true and destructiveHint=false, which cover the non-mutating nature. The description adds no behavioral details beyond 'Return details', missing information like whether it returns only the current workspace or all workspaces, or any rate limits or authentication requirements. With annotations covering the safety profile, the description adds minimal 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 with no extraneous words. Every word earns its place, and it is efficiently 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 has no parameters, a simple read-only purpose, and an existing output schema to define return details, the description is sufficiently complete. It covers the essential purpose without needing elaboration.
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 no parameters (0 required, 0 optional), and schema description coverage is 100% (trivially). The description does not need to explain parameters because there are none. Baseline 4 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 ('Return details') and the resource ('authenticated workspace'), distinguishing it from sibling tools like list_links or create_domain. However, the name 'list_workspaces' (plural) slightly mismatches the singular 'workspace' in the description, and it does not explicitly confirm that it refers to the single authenticated workspace, leaving minor ambiguity.
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 vs. alternatives (e.g., list_links, get_analytics). The description lacks any context about prerequisites, typical use cases, or when not to use this tool, forcing the agent to infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pingCRead-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 already provide readOnlyHint=true, idempotentHint=true, destructiveHint=false, clearly indicating a safe read operation. Description adds minimal context ('Health check') beyond annotations, which is acceptable but not enhanced.
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 (two words), but under-specified. While there is no fluff, the description could be more informative without becoming verbose. Appropriate for a simple tool but leaves gaps.
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 tool with no output schema, the description should hint at what the health check returns (e.g., success/failure). It does not, leaving the agent uncertain about the response format or behavior.
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% (message parameter has description). The tool description adds no additional meaning beyond what the schema already provides, meeting the baseline for high coverage.
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 'Health check' indicates a server health verification, which is distinct from sibling tools (CRUD on links/domains). However, it lacks a specific verb-resource combination and could be more precise (e.g., 'Check if the server is responsive'). It is not a tautology but is vague.
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 (e.g., test_authentication). The description does not mention prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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 indicate read-only, non-destructive, and idempotent behavior. Description adds that results include click statistics, providing useful 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 sentences, front-loaded with action, no wasted words. 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?
Tool has output schema so return details are covered. Description mentions click statistics. Lacks mention of pagination or result limits, but overall sufficient for a simple search tool.
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 covers parameter fully with description matching the tool description. Schema coverage is 100%, so baseline 3; description adds no additional parameter semantics 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?
Description clearly states 'Search for links by name, URL, or note', specifying the action and resource. It distinguishes from siblings like list_links and get_link by focusing on search functionality.
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 searching links by query, but does not explicitly contrast with siblings like list_links for listing all links or get_link for retrieving by ID.
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?
Annotations are neutral (readOnlyHint=false, destructiveHint=false), and the description adds behavioral context about receiving click events. However, it does not disclose idempotency, rate limits, or authentication requirements, which would improve transparency.
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 redundant information. It is front-loaded and efficient, though could be expanded slightly to include usage context.
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 description covers the core purpose adequately for a simple subscription tool with an output schema present. It lacks details on behavior after subscription (e.g., confirmation) or error handling, which limits 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 descriptions for both parameters (url and link_id). The description does not add new meaning beyond the schema, so it meets the baseline expectation.
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 ('Subscribe'), the resource ('webhook URL'), and the purpose ('receive click events for a specific link'). It distinguishes from siblings like 'subscribe_webhook' (general) and 'unsubscribe_link_webhook' (opposite).
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 for a specific link, but does not provide explicit guidance on when to use this tool versus alternatives like 'subscribe_webhook' or 'list_link_webhooks'. No prerequisites or exclusions are mentioned.
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 readOnlyHint=false and destructiveHint=false, but the description does not elaborate on side effects (e.g., whether multiple subscriptions for the same URL are allowed, if a test notification is sent, or how to manage subscriptions). Behavioral details beyond annotations are minimal.
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, concise and front-loaded. No extraneous information. Every word is purposeful.
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 is adequate but missing key context: behavior on duplicate subscriptions, idempotency, and how to unsubscribe (via sibling tool). Slightly incomplete for a new agent.
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 clear description for the single parameter 'url'. The tool description adds no additional semantic detail beyond what the schema provides, 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?
Description clearly states the tool subscribes a webhook URL to receive click events for all links in the workspace. It uses a specific verb (subscribe) and resource (webhook URL), and distinguishes from sibling tools like subscribe_link_webhook which targets individual 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 (e.g., subscribe_link_webhook). Does not mention prerequisites, such as existing webhook or authentication requirements, nor any limitations or best practices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_authenticationARead-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 already indicate read-only, idempotent, non-destructive behavior. The description adds no new behavioral details beyond 'Test API Authentication', so it meets the baseline but does not exceed it.
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 with a single, well-front-loaded sentence that conveys the tool's purpose without any extraneous 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, zero parameters, existing annotations, and presence of an output schema, the description is complete. However, it could hint at what the response indicates (e.g., success/failure).
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, so the description does not need to explain them. Schema coverage is 100%, and the description adds no confusion.
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 purpose of testing authentication, but it does not distinguish from sibling tools like 'ping' which may also test connectivity.
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 such as 'ping' or other diagnostic tools. The agent receives no context for decision-making.
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 already indicate destructiveHint=true and readOnlyHint=false, so the description doesn't need to reiterate. However, it adds no additional behavioral details (e.g., what happens if the webhook is not subscribed, or if the link doesn't exist). The description is minimal but not contradictory.
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 of 9 words. It is front-loaded and contains no fluff, fulfilling the conciseness criterion perfectly.
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 destructive annotation and full schema, the description captures the core function. It lacks details on error states or side effects, but given the low complexity, it is fairly complete.
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 both parameters described meaningfully. The description does not add new semantics beyond what the schema provides; it only connects 'link_id' to 'click events'. With full schema coverage, baseline is 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 action (unsubscribe) and the target resource (webhook URL from a specific link's click events). It distinguishes from siblings like 'unsubscribe_webhook' which is more general, and 'subscribe_link_webhook' which performs the opposite operation.
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 other webhook-related tools such as 'unsubscribe_webhook' or 'subscribe_link_webhook'. The description simply states what it does without context for selection.
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 set destructiveHint=true, so the description's 'Unsubscribe' aligns. However, it adds no further behavioral context: no mention of idempotency, side effects, or what happens to the webhook URL. With annotations present, the description adds minimal 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, front-loaded sentence of 8 words with no redundancy. Every word is essential.
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 no output schema, the description is minimally complete. However, it could be improved by noting success behavior or prerequisites (e.g., the webhook must exist).
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% for the single 'url' parameter. The description does not add additional meaning beyond the schema's description. 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 action (unsubscribe), the resource (webhook URL), and the domain (workspace click events). It distinguishes from sibling like unsubscribe_link_webhook by specifying 'workspace click 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?
The description implicitly indicates when to use (to stop receiving workspace click events) but provides no explicit when-not-to-use or alternatives. Context signals list siblings, but the description itself offers no guidance on choosing this tool over unsubscribe_link_webhook.
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 destructiveHint=true and idempotentHint=true. The description adds no additional behavioral context beyond stating the update, which is consistent with 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?
A single, complete sentence that is concise and front-loaded with the key action and resource.
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 simplicity of the tool and the presence of an output schema and annotations, the description is minimally complete. It could mention that the domain must exist, but the schema covers required parameters.
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 clear descriptions for both parameters. The description does not add extra 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?
The description clearly states the action (update), resource (favicon URL), and target (custom domain). It distinguishes from sibling tools like create_domain or update_workspace by specifying a focused update operation.
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 when a favicon URL needs to be changed, but it does not provide explicit guidance on when to use this tool versus alternatives (e.g., updating other domain settings) or mention prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_linkADestructiveInspect
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 description repeats 'update' but adds no further behavioral details (e.g., whether it's a partial or full update, side effects). 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?
Description is a single sentence of 9 words, front-loaded with verb and resource, no unnecessary 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 mutation tool with 22 parameters, the description is adequate given full schema coverage and presence of output schema. Could mention partial update behavior but not a critical gap.
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 descriptions; the tool description adds no additional meaning beyond what the schema already 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 states 'Update an existing Linkly link by its ID' with a specific verb (update) and resource (Linkly link), clearly distinguishing from siblings like create_link and delete_link.
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 does not explicitly state when to use this tool vs alternatives, nor does it mention prerequisites or exclusions. Usage is implied but not articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_workspaceCDestructiveInspect
Update workspace settings
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Workspace name | |
| webhooks | Yes | Webhook URL for 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?
While annotations indicate destructiveHint=true, the description adds no behavioral details beyond that. It does not explain the nature of the update (e.g., overwriting existing settings) or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (4 words), which is concise, but it lacks substance. It could be expanded 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?
For a destructive operation with no output schema shown, the description is incomplete. It does not mention permissions, workspace selection, or consequences of the update.
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 parameter descriptions already clarify 'name' and 'webhooks'. The tool description adds no additional semantic value 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 'Update workspace settings' clearly identifies the verb (update) and resource (workspace settings). It is distinct from sibling tools which target links, domains, or 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?
No guidance is provided on when to use this tool versus alternatives. It does not mention any prerequisites, context, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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!
Your Connectors
Sign in to create a connector for this server.