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 toolsbatchDeleteLinksADestructiveInspect
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?
Annotations already provide destructiveHint: true. The description adds 'Batch delete' but lacks details on partial failures, atomicity, or error handling, adding minimal value 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 concise and front-loaded, but could include slightly more context (e.g., hint about ordering) without becoming verbose.
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 parameter and presence of output schema, the description covers basic functionality but omits behavioral context like conflict handling or scope, making it minimally 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?
With 100% schema coverage, the parameter 'ids' is documented in the schema. The description does not add additional meaning beyond what the schema provides, resulting in baseline score.
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 (delete), resource (links), and the batch nature, distinguishing it from the sibling 'delete_link' tool 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?
The description implies use for deleting multiple links at once, but does not provide explicit guidance on when to choose this over alternatives 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.
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 already indicate write behavior (readOnlyHint=false) and non-idempotent. The description adds the configuration requirement but lacks details on consequences of misconfiguration or other 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 focused sentences with no wasted words, front-loaded with the action verb and key requirement.
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 creation tool with one parameter and an output schema, the description covers the essential context. Could mention only the return value or idempotency implications.
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, but the tool description provides an example format ('links.example.com') that adds 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 clearly states 'Add a custom domain to the workspace' with a specific verb and resource context, distinguishing it from sibling tools like delete_domain or 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?
The description mentions a prerequisite ('must be configured to point to Linkly's servers') but does not explicitly state when to use this tool versus alternatives 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.
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 /) | |
| domain | No | Custom domain for the short link (without trailing /) | |
| 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 already indicate write behavior (readOnlyHint=false), side effects (openWorldHint=true), and non-idempotency. The description adds minimal behavioral context beyond creating short links. No contradiction, but no additional disclosure about side effects or required permissions.
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 two short sentences with no extraneous information. It is front-loaded with the core action and immediately provides usage guidance. Every element serves a 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?
Given the complexity (23 parameters, output schema exists), the description is adequately complete for the core function. It does not explain optional parameters or return values, but the schema and output schema fill those gaps. A minor improvement would be to note that the tool returns a short link object.
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% parameter description coverage, so the description does not need to add parameter details. The description does not provide any extra semantics or guidance on parameter usage, meeting the baseline for high schema 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?
The description clearly states the tool creates short links and URL shorteners, and explicitly indicates when to use it (e.g., 'when the user asks to shorten a URL'). It distinguishes from siblings like update_link and batchDeleteLinks by focusing solely 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 provides explicit usage context ('Use this when...') but does not mention alternatives or when not to use the tool. It gives a clear set of user intents that map to this tool, which is sufficient for most agents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_domainBDestructiveInspect
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 indicate destructiveHint=true and readOnlyHint=false. The description adds no additional behavioral context beyond 'remove', leaving the agent unaware of side effects like requiring domain not in use or effect on existing links.
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 fluff, front-loaded with verb and resource. Could be improved by adding usage guidance 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?
With output schema and annotations, the description is minimally adequate for a simple deletion. However, it lacks context on consequences (e.g., irreversible, dependencies) that would help an agent use it correctly.
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 description for domain_id. The description adds no extra parameter meaning beyond what the schema provides, 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?
The description 'Remove a custom domain from the workspace.' uses a specific verb ('Remove') and resource ('custom domain'), clearly distinguishing from sibling tools like create_domain or 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?
The description provides no guidance on when to use this tool versus alternatives (e.g., when to delete vs update), no prerequisites, and no conditions for safe use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_linkBDestructiveInspect
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?
Annotations already indicate destructiveHint=true, but the description adds no additional behavioral context (e.g., irreversibility, permission requirements, side effects). It merely 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, concise sentence that effectively communicates the tool's purpose without extraneous 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?
For a simple delete operation with one parameter and an output schema, the description is minimally adequate. However, it lacks usage guidelines and transparency about side effects, leaving gaps in 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% and the description says 'by its ID', which aligns with the schema's parameter description. No extra semantic value added 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 ('Delete') and the resource ('a Linkly link by its ID'). It distinguishes from siblings like batchDeleteLinks and delete_domain by specifying deletion of a single link by ID.
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., batchDeleteLinks) or prerequisites (e.g., link ownership, permissions). The agent is left to infer usage context.
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 | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, indicating safe read operation. The description adds the list of fields included in the export, providing some extra context, but does not disclose output format, file size limits, or pagination behavior.
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, no wasted words. Could be improved by adding output format or link to documentation, but remains efficient 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 that an output schema exists and parameters are fully described, the description is adequate but not complete. It does not specify the export format (e.g., CSV, JSON) or indicate if there are limits on data volume.
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 fully documents all 6 parameters. The description does not add any parameter-specific meaning beyond what 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 'Export detailed click records' and lists many fields, indicating a specific resource and action. However, it does not explicitly differentiate from sibling tools like get_clicks, which could serve 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 on when to use this tool versus alternatives (e.g., get_clicks for simpler listings, get_analytics for aggregated data). The description lacks context on appropriate usage scenarios or exclusions.
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, idempotentHint, non-destructive. Description adds 'Returns click counts over time' which clarifies output but doesn't reveal additional behavioral traits like aggregation or default time ranges. 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?
Two sentences, no wasted words. Front-loaded with verb and resource. Efficiently conveys core 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?
Despite multiple optional parameters and an output schema, the description is brief but sufficient given that output schema exists to document return values. Lacks explicit mention of aggregation or granularity, but frequency parameter covers that.
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 baseline is 3. Description does not add any parameter-specific meaning beyond what the schema provides. It doesn't mention any 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?
Description clearly states 'Get time-series click analytics data for charting'. Verb 'Get' and resource 'time-series click analytics data' are specific. Distinguishes from siblings like get_clicks (raw clicks) and export_clicks (export format).
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 usage for charting time-series data but gives no explicit guidance on when to use this tool versus siblings like get_analytics_by or get_clicks. No exclusions or alternatives 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, 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 declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint as true/true/true/false, which clearly indicate a safe, read-only operation. The description adds the behavioral fact of grouping but does not disclose additional traits like result limits or sorting order, which would be needed if annotations were absent.
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 two sentences, front-loaded with the core action, and every word adds value. No redundant or extraneous 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 the output schema exists and annotations are rich, the description covers the essential purpose and typical use case. It lacks details on default sorting or maximum groups returned, but overall is sufficient for an agent to understand the tool's role.
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%, providing full parameter descriptions. The description only marginally adds meaning by mentioning 'dimension (country, platform, browser, etc.)' which echoes the counter parameter's enum values. No further insight into filter parameters or their interaction is given.
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 'Get click counts grouped by a dimension' with examples like country, platform, browser etc. It distinguishes itself from sibling tool 'get_analytics' by emphasizing grouping, and the second sentence 'Useful for breakdowns and top-N reports' further clarifies its 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?
The description provides context by noting it's 'useful for breakdowns and top-N reports', implying when to use it. However, it does not explicitly mention when not to use it or name alternatives like 'get_analytics' for total counts, missing full explicit 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 | Yes |
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 safety profile is clear. The description adds a vague temporal scope ('recent') but no additional behavioral details like pagination, limits, or default behavior when no filter is provided.
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 concise (one sentence) and front-loads the key action. However, it could be slightly more informative without becoming verbose.
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 optional param, output schema present) and annotations covering safety, the description is minimally adequate. It misses defining 'recent' and edge cases, but is sufficient for basic 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?
Schema coverage is 100% (one parameter fully described). The description does not add meaning beyond the schema; 'recent click data' does not elaborate on the parameter's usage or effect. 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 recent click data for the workspace', specifying the verb and resource. However, it does not differentiate from siblings like 'export_clicks' or 'get_analytics', which might serve similar purposes.
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., when to use 'get_clicks' vs 'get_analytics'). The description lacks context for decision-making by an AI agent.
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 declare readOnlyHint, idempotentHint, and destructiveHint. The description adds minimal behavioral context beyond what annotations provide, such as the action being a retrieval.
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 action, no extraneous words. Every part of the description 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?
Given the tool's simplicity (1 required param), presence of output schema, and comprehensive annotations, the description adequately covers what the agent needs.
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 description reiterates 'by its ID' without adding new 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?
The description uses the specific verb 'Get' and resource 'details of a specific Linkly link by its ID', clearly distinguishing it from siblings like list_links (retrieves many) or search_links (search).
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 link ID is known, but does not explicitly specify when to use this tool over alternatives or provide exclusions, leaving the agent to infer usage context.
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 | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds no additional behavioral details beyond the fact that it lists all domains, which is already clear from the name and 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, concise sentence that conveys all necessary information without any wasted words. It is optimally 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 tool with no parameters and an output schema, the description is sufficient. It explains the scope (workspace) and action (list all custom domains). Minor points like whether pagination applies could be mentioned, but overall adequate.
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 schema coverage is 100% by default. The description adds nothing about parameters, but baseline for zero parameters is 4, which is appropriate here.
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 all custom domains in the workspace.' clearly states the verb (list), the resource (custom domains), and the scope (workspace). It distinctly separates this tool 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?
The description does not provide explicit guidance on when to use this tool versus alternatives. It implies usage for viewing custom domains but lacks context about when one might choose it over other list tools like list_links or list_workspaces.
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 | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint as false, ensuring safety. However, the description adds no behavioral context like pagination, result limits, or scope of links returned, which is needed beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core function without excessive verbiage. It is front-loaded with the verb and resource. However, it could be expanded slightly to improve completeness 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 presence of many sibling tools and the existence of an output schema, the description is too brief. It lacks context on how the tool handles pagination, defaults, or differs from similar tools like search_links, leaving gaps for an AI 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 description coverage is 60% (3 of 5 parameters have descriptions). The tool description mentions 'sorting and search', which maps to sort_by, sort_dir, and search parameters, but does not add semantic detail beyond what the schema provides. 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 'List links' as the action and resource, and mentions sorting and search capabilities, distinguishing it from other tools like get_link and export_clicks. However, it could more explicitly differentiate from the sibling search_links tool.
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 no guidance on when to use this tool versus alternatives such as search_links or export_clicks. An agent would have to infer usage 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.
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 | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the agent knows it's safe. The description adds value by specifying that it lists webhooks for a specific link, but does not add further 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 with no wasted words. It is front-loaded with the action. While concise, it could benefit from a bit more context, but it is not overly brief.
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, has output schema, annotations cover safety), the description is complete enough. It states what the tool does, and the output schema documents return values. No additional information is necessary.
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' is fully described in the schema with 100% coverage. The description does not add additional meaning beyond the schema, 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 verb 'List' and the resource 'webhook URLs subscribed to a specific link'. It differentiates from sibling tools like 'list_webhooks' (global) and 'subscribe/unsubscribe_link_webhook' by specifying that it is for a specific 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?
The description does not provide any guidance on when to use this tool versus alternatives such as 'list_webhooks'. It lacks when-not-to-use context or prerequisites.
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 | Yes |
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 value by specifying that listed 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?
The description is two sentences, both front-loaded with the main action and purpose. No extraneous information, every sentence adds 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?
Given zero parameters and presence of an output schema (not shown but referenced), the description sufficiently covers what the tool does and the nature of the return data. Could mention if list is paginated, but not critical.
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 properties, so schema coverage is 100%. The description does not need to add parameter details. With 0 parameters, the baseline is 4, and the description meets 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?
The description explicitly states the tool lists all webhook URLs subscribed to the workspace, which is a specific verb+resource pair. It clearly distinguishes from siblings like subscribe_webhook and unsubscribe_webhook by stating the action is listing.
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 viewing existing webhooks but lacks explicit guidance on when to use this versus list_link_webhooks or other alternatives. No exclusions or context for selection are provided.
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 | Yes |
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 no new behavioral context beyond agreeing with these 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 extremely concise (6 words) with no unnecessary information, appropriate for a simple retrieval 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?
The description is complete given the presence of an output schema that details the return structure; it could be slightly more specific about what 'details' entails but remains adequate.
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, and schema description coverage is 100%. The baseline for 0 parameters is 4, and the description does not need to add parameter information.
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 'Return' and resource 'details of authenticated workspace', clearly distinguishing it from sibling tools like 'update_workspace' or '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?
The description does not provide explicit guidance on when to use this tool versus alternatives; usage is implied by the purpose.
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 already indicate readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds 'Health check', which reinforces that no state changes occur, but does not provide additional behavioral details such as response format or potential 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 extremely concise at two words, front-loading the core purpose. While very brief, it is not wasteful, though it might benefit from slightly more 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?
For a simple tool with no output schema, the description should explain what the tool returns (e.g., 'pong' or success status). It only states 'Health check', leaving the agent to infer behavior. Combined with the lack of parameter elaboration, this is incomplete for an agent unfamiliar with the API.
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 fully documents the single 'message' parameter. The description does not mention this parameter or add any semantic details 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?
The description 'Health check' clearly indicates the tool's purpose: to verify server availability. This is distinct from all sibling tools which deal with specific resources like links, domains, or analytics, making it unambiguous.
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. However, its generic health-check purpose is implicitly understood as a preliminary connectivity test, and no alternative health-check tools exist among siblings.
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 | Yes |
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, indicating a safe, read-only operation. The description adds that results include click statistics, which is useful behavioral context. However, it does not disclose pagination, rate limits, or other potential traits 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 two sentences and 16 words, achieving maximum efficiency without any unnecessary information. It is front-loaded with the core 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?
Given the tool's simplicity (one parameter, no nesting) and the presence of an output schema, the description is sufficiently complete. It mentions the return of click statistics, which covers the main output feature. No major gaps are present.
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 already documents the 'query' parameter. The description does not add extra meaning about the parameter beyond what is in the schema; it repeats the purpose of the search query but does not provide advanced usage 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 the tool searches for links by name, URL, or note and returns matching links with click statistics. It uses a specific verb ('Search') and resource ('links'), and it distinguishes from siblings like 'list_links' and 'get_link' by specifying the search criteria.
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 needing to find links by text query, but it does not explicitly state when to use this tool versus alternatives (e.g., 'list_links' for all links or 'get_link' by ID). No guidance on when not to use it is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscribe_link_webhookBInspect
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 indicate readOnlyHint=false and destructiveHint=false, so the description's mention of 'subscribe' aligns with a non-read, non-destructive mutation. However, no additional behavioral traits (e.g., permissions, idempotency implications) are disclosed beyond what annotations already 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 that immediately conveys the action and target. It is concise but could include more contextual details without sacrificing brevity.
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 and full parameter coverage, the description is minimally adequate. However, given the existence of sibling tools and the simplicity of the tool, more context (e.g., on return value or use cases) would improve 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 parameters are fully documented in the schema. The description mentions 'webhook URL' and 'specific link', which map directly to parameters but adds no new meaning beyond the schema definitions.
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's action ('subscribe') and the resource ('link webhook') along with the specific event ('click events'). It distinguishes itself from siblings like 'subscribe_webhook' (which likely operates at a workspace level) and 'unsubscribe_link_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?
No guidance is provided on when to use this tool versus alternatives such as 'subscribe_webhook' or 'list_link_webhooks'. The description simply states the action without context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscribe_webhookAInspect
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 a non-read-only, non-destructive operation. The description adds minimal behavioral context beyond stating the action; it does not disclose side effects, rate limits, overwrite behavior, or security considerations like webhook verification.
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 conveys the essential purpose without extraneous information. It is front-loaded and appropriately sized.
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 (not shown), the description provides adequate context for basic usage. However, it lacks details on behavior if already subscribed, permissions required, or response structure, leaving some gaps for an 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?
The input schema covers 100% of parameters with a description for 'url'. The tool description does not add extra parameter information. With full schema coverage, the baseline is 3, and the description meets that without enhancement.
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 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' by specifying workspace-wide 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 implies the tool is for workspace-level webhook subscription, but does not explicitly state when to use this vs alternatives like 'subscribe_link_webhook' or prerequisites like authentication. An agent would need 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.
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?
The description adds no behavioral context beyond the annotations, which already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words—ideal conciseness 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 the tool's simplicity (no parameters, output schema present), the description is adequate. It could mention expected output or purpose more explicitly, but output schema covers return values.
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, and schema coverage is 100%. The description does not need to add parameter info, meeting the baseline for zero-parameter tools.
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 as testing authentication, which is distinct from sibling tools that perform CRUD operations on 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?
While the description implies use for verifying authentication before other operations, it does not explicitly state when to use or provide alternatives, leaving guidance implicit.
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 provide readOnlyHint=false and destructiveHint=true, indicating mutation. Description adds no additional behavioral details (e.g., error handling, idempotency, confirmation). No contradiction 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?
Single sentence, 10 words, front-loaded with verb and object. No unnecessary information. Efficient and clear.
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 action with only two well-documented parameters and no output schema, the description is largely sufficient. However, mentioning irreversibility or success/failure conditions could improve 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 clear descriptions for both parameters. Description does not add extra meaning beyond the schema, which is adequate but not enhanced.
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 action (Unsubscribe) on a specific resource (webhook URL from a specific link's click events). It distinguishes from sibling tools like subscribe_link_webhook or unsubscribe_webhook by specifying the scope (link-specific).
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 unsubscribe_webhook. No prerequisites or scenarios mentioned. The destructiveHint annotation hints at impact but is not expanded in description.
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 declare destructiveHint=true and readOnlyHint=false, indicating a destructive write operation. The description adds that it removes from 'workspace click events,' but provides no additional behavioral details such as side effects, error handling, 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?
The description is a single, concise sentence that front-loads the key action and resource. Every word is necessary, with no redundancy or filler.
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 adequate. However, it lacks context about related tools (e.g., when to use this vs. 'unsubscribe_link_webhook') and does not cover failure scenarios or prerequisites.
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 already describes the single parameter 'url' with a clear description. With 100% schema coverage, the description adds no further semantic value beyond restating the tool's purpose.
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 workspace click events). It effectively distinguishes from sibling tools like 'unsubscribe_link_webhook' 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?
No usage guidelines provided. The description does not specify when to use this tool versus alternatives like 'subscribe_webhook' or 'unsubscribe_link_webhook', nor does it mention any prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_domain_faviconAIdempotentInspect
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 this is a non-destructive, idempotent mutation. The description adds no additional behavioral context beyond stating 'Update'. Schema coverage is high, and output schema exists, so transparency is adequate 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?
The description is a single concise sentence with no extraneous words. It is front-loaded and efficiently communicates the tool's 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?
The tool is simple with full parameter documentation and an output schema. The description is mostly complete, but it could mention that the domain must exist or specify constraints on the favicon URL format. Minor gaps prevent a perfect score.
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 (domain_id and favicon_url). The description does not add extra semantics beyond the schema, meeting the baseline for complete schema 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?
The description clearly states the verb 'Update' and the resource 'favicon URL for a custom domain'. It distinguishes the tool from siblings by specifying that it updates only the favicon, not other domain attributes.
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 no guidance on when to use this tool versus alternatives like update_domain (which presumably updates other domain settings). 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.
update_linkBInspect
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?
The description only says 'Update' which implies modification but doesn't disclose side effects, permissions, or idempotency. Annotations already provide basic hints (readOnlyHint=false, destructiveHint=false), but the description adds no additional behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence (8 words) with no unnecessary details. It is appropriately front-loaded and concise, though could benefit from slight expansion for clarity.
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 22 parameters and an output schema, the description is too sparse. It does not explain return values, update behavior (e.g., partial vs full replacement), or important nuances like required fields beyond link_id.
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 parameters are fully described in the input schema (100% coverage). The description does not add any new parameter meaning beyond what the schema already provides, meeting 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 states 'Update an existing Linkly link by its ID', which clearly identifies the action (update) and the resource (link) with a specific identifier. It distinguishes from sibling tools 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?
The description provides no guidance on when to use this tool versus alternatives (e.g., create_link for new links, batch operations). It lacks context on prerequisites or conditions for updating.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_workspaceCInspect
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?
Annotations already declare readOnlyHint=false and destructiveHint=false, indicating mutation but not destruction. The description adds no further behavioral context, but 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 extremely concise (three words) but lacks substance, providing no useful information beyond the tool name.
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 two required parameters and an output schema exists, the description is insufficiently informative; it does not mention what settings can be updated or any context about the operation.
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 already documents both parameters. The description does not add 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 'Update workspace settings' clearly states the verb and resource, and there is no sibling tool with the same purpose, so differentiation is not an issue.
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 no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or conditions for usage.
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.