MiniURL
Server Details
OAuth 2.1 short-link tools for AI agents with scoped tokens, approvals, audit logs, and revocation.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
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.9/5 across 23 of 23 tools scored. Lowest: 3.1/5.
Each tool targets a clearly distinct resource and action: links, domains, tags, auth, and account status are all separate concerns. Even similar tools like shorten_url and bulk_create_links are differentiated by single vs. batch creation, and check_alias is distinct from get_link by checking availability before creation.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., add_domain, delete_link, list_tags, verify_registration_code). Mixed verb styles like tag/untag and shorten_url are still predictable and fit the established convention.
At 23 tools, the set is on the heavy side and falls in the 16-25 borderline range. The number is somewhat justified by the broad scope (links, domains, tags, auth, analytics), but it approaches the upper limit where an agent may have difficulty selecting between many options.
The tool surface covers the full lifecycle of short links (create, read, update, delete, list, stats), domain management (add, delete, verify, list), tags (create, list, delete, tag/untag), and account/auth flows (guest tokens, registration, pro upgrade). It is hard to identify any critical missing operation for the stated purpose.
Available Tools
23 toolsadd_domainMiniURL add_domainADestructiveInspect
Request a custom domain to be connected to MiniURL. Agent domain changes require human approval by default.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | A custom hostname such as links.example.com. | |
| approval_id | No | ||
| approval_token | No | Legacy compatibility field; normally omit it. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, destructiveHint=true, and idempotentHint=false. The description adds that human approval is required by default, which is valuable behavioral context. However, it does not clarify what the destructiveHint signifies in the context of adding a domain, nor does it describe the post-request flow (e.g., async approval, rejection outcomes).
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, front-loaded sentences with no filler. The first sentence immediately states the action and resource, and the second adds a key constraint. 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?
An output schema exists, so return values need no explanation. However, the tool involves an approval workflow and is marked as destructive, yet the description does not explain how to supply approval credentials or what destructive behavior may occur. For a tool with these parameters and annotations, the description leaves notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% (domain and approval_token have descriptions; approval_id does not). The description mentions 'human approval' but does not explain how approval_id or approval_token relate to that process. It adds slight context beyond the raw schema but does not fully compensate for the missing description of approval_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Request' with a clear resource ('a custom domain to be connected to MiniURL'), and the second sentence adds the distinct nuance of human approval. This clearly separates it from sibling tools like verify_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 provides clear context that agent domain changes require human approval by default, which implies when to use this tool and the expected workflow. It does not explicitly name alternatives or exclusions, but the purpose is distinct enough that confusion with siblings is unlikely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bulk_create_linksMiniURL bulk_create_linksAInspect
Create multiple short links in one request. Free accounts can create up to 10 at a time, Pro up to 50.
| Name | Required | Description | Default |
|---|---|---|---|
| links | Yes | ||
| idempotency_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a non-read-only, non-idempotent mutation. The description adds the account-specific limit (10 for free, 50 for Pro) and confirms creation behavior, but it does not disclose failure handling, partial success semantics, or authentication requirements. It provides some value beyond annotations but not rich 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 concise sentence that front-loads the core purpose and includes the key constraint. No redundant wording or unnecessary details are present.
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 bulk creation tool with an output schema, the description covers the primary purpose and limits, but it omits important context such as the purpose and behavior of the 'idempotency_key' parameter, error handling, and implications of partial failures. Given the tool's moderate complexity, this leaves notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden of explaining parameters, but it mentions none by name or purpose. The parameter names in the schema are somewhat self-explanatory (e.g., 'links', 'idempotency_key'), but the description adds no explicit semantics or guidance on their use.
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 multiple short links in one request, using the specific verb 'create' and resource 'short links.' It distinguishes itself from the sibling tool 'shorten_url' by explicitly being for bulk creation, and it provides additional context about account limits.
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 clearly implies usage for bulk link creation but does not explicitly contrast with alternatives like 'shorten_url' or mention when not to use it. It gives clear context (bulk operation) and a constraint (account limits), but no exclusions or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_aliasMiniURL check_aliasARead-onlyIdempotentInspect
Check whether a custom alias is available on a given domain before creating a link.
| Name | Required | Description | Default |
|---|---|---|---|
| alias | Yes | The alias to check. | |
| domain | No | The domain to check on. Defaults to miniurl.com. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | 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, covering the safety profile. The description adds context about the operation's purpose (availability check) but does not disclose additional behavioral traits like rate limits or error behavior. This is acceptable given the annotations, but it does not go beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that delivers the purpose and usage context without any fluff. Every word contributes meaning, and it is front-loaded with the key action ('Check whether').
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 read-only check operation with rich annotations and an output schema present, the description sufficiently covers the core use case. It does not need to explain return values due to the output schema. Minor gap: no explicit alternatives list, but overall context is complete for the tool's simplicity.
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 fully describes both parameters ('alias' and 'domain'), providing 100% coverage. The description's phrase 'on a given domain' aligns with the domain parameter but does not add new semantic meaning beyond what the schema already states. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('check') and resource ('custom alias availability'), and frames it with a practical use case ('before creating a link'). It distinguishes itself from sibling tools like get_link or shorten_url, which focus on existing links or 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 clear context for when to use the tool ('before creating a link'), which effectively signals its intended role in the link-creation workflow. However, it does not explicitly name alternative tools or state when not to use it, so it lacks full exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_authenticationMiniURL clear_authenticationAIdempotentInspect
Clear authentication retained by a legacy MCP session. Stateless clients clear authentication by omitting the Authorization header on later requests.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint and non-read-only, and the description adds the distinction between legacy session and stateless clients. However, it doesn't disclose potential side effects like invalidation of active sessions or any 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?
Two concise sentences with the key action front-loaded and a clarifying second sentence. 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 0-param tool with an output schema, the description covers purpose, usage context, and the alternative method for stateless clients. It could mention explicit session invalidation effects, but given the tool's simplicity and annotations, it's nearly 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 zero parameters, the schema fully covers the input surface, and the description appropriately adds no extra parameter information. The baseline for 0-param tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's purpose with a specific verb ('Clear') and resource ('authentication'), further scoping it to 'legacy MCP session' and contrasting with stateless clients. This clearly distinguishes it from sibling tools like create_guest_token and verify_registration_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context that this applies to legacy MCP sessions, and explains that stateless clients should instead omit the Authorization header. While it doesn't name sibling tools as alternatives, the context is enough to infer when 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_guest_tokenMiniURL create_guest_tokenAInspect
Create a short-lived MiniURL guest bearer token. Legacy MCP sessions retain it; stateless clients must pass the returned gt_ token explicitly on later requests. shorten_url can provision one automatically.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, etc.), the description discloses the token's short-lived nature and the difference between session-retained and stateless usage. This adds useful behavioral context, though it does not detail lifecycle or invalidation 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?
The description is three sentences long, front-loading the core purpose and adding only essential usage notes. Every sentence provides valuable information without redundancy.
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 and an output schema exists, the description sufficiently covers the operation's purpose, the token's characteristics, and how to use it in different client contexts. It also mentions an automatic provisioning alternative, making it self-contained.
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 description coverage is 100% (empty schema). With no parameters to explain, the description adds all necessary semantic value by focusing on the token's purpose and usage.
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 function: creating a short-lived MiniURL guest bearer token. It specifies the token type ('guest bearer token') and its prefix ('gt_'), distinguishing it from other tools like shorten_url or clear_authentication.
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 usage context by explaining that legacy MCP sessions retain the token while stateless clients must pass it explicitly, and notes that shorten_url can provision one automatically. This gives an alternative but does not explicitly state when not to use this tool or give a direct comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_tagMiniURL create_tagAInspect
Create a new tag for organising links. Maximum 20 tags per account.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Tag name, 1-30 characters. | |
| color | No | Tag colour hex code. Defaults to #6b7280 (grey). |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false (not read-only, not idempotent, etc.), but the description adds a valuable behavioral constraint: 'Maximum 20 tags per account.' This helps the agent anticipate a potential failure condition. However, it does not disclose behavior for duplicate tag names or error handling, leaving some transparency gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two short sentences with no irrelevant information. It front-loads the core action and then adds a key constraint. 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 create operation with an output schema and annotations, the description provides the essential purpose and a critical account-level limit. It does not mention uniqueness restrictions or what happens when the limit is exceeded, but overall it is sufficient for an AI to invoke the tool appropriately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers 100% of parameters with descriptions, so the description does not need to repeat parameter details. It adds no extra semantic meaning beyond the schema, which aligns with the baseline score of 3 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's purpose: 'Create a new tag for organising links.' This is a specific verb+resource combination that distinguishes it from sibling tools like delete_tag and list_tags. The added constraint 'Maximum 20 tags per account' also provides meaningful context about the operation's 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 usage when a new tag is needed, but it does not explicitly discuss when to use this tool versus alternatives such as list_tags for checking existing tags or tag_link for associating tags. The 20-tag limit hints that users might need to check the current count first, but this is not directly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_domainMiniURL delete_domainADestructiveInspect
Delete a custom domain and its linked URLs after a dry-run confirmation. Agent domain changes require human approval by default.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Set true only after reviewing the dry-run impact response. | |
| domain_id | Yes | ||
| approval_id | No | ||
| approval_token | No | Legacy compatibility field; normally omit it. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint annotation, the description discloses a dry-run confirmation process, the cascading deletion of linked URLs, and the default human approval requirement for agent changes. These are significant behavioral traits that an agent needs to know before invoking the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the action and key constraints. Every clause adds critical information (dry-run, linked URLs, approval) without redundancy.
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 behavioral aspects (dry-run, cascading delete, approval) for a destructive tool with an output schema. It could be slightly more explicit about the two-step dry-run flow, but given the schema and annotations provide additional structure, it is sufficiently complete for agent use.
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 only 50%, but the description compensates by explaining the dry-run confirmation (linking to 'confirm' parameter) and the approval requirement (linking to approval_id/approval_token). It adds meaning to parameters that lack schema descriptions, though domain_id remains self-explanatory.
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 a custom domain and its linked URLs') and includes the dry-run confirmation step, making it distinct from sibling tools like delete_link and delete_tag. The verb+resource structure is specific and 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?
It provides clear context on when to use the tool (for deleting custom domains) and notes the human approval default for agent changes. However, it does not explicitly mention alternatives or exclusions, though the domain-specific scope naturally distinguishes it from link/tag deletion tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_linkMiniURL delete_linkADestructiveInspect
Delete a registered short link permanently.
| Name | Required | Description | Default |
|---|---|---|---|
| alias | Yes | The alias to delete. | |
| domain | No | The link domain. Defaults to miniurl.com. | |
| dry_run | No | Preview the deletion and affected link scope without writing. Human approval is still required for the real delete. | |
| approval_id | No | Approval id returned by a previous USER_APPROVAL_REQUIRED response. | |
| approval_token | No | Legacy compatibility field; normally omit it and retry with approval_id after approval. | |
| idempotency_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, so the description adds the 'permanently' qualifier and 'registered' scope, which is useful extra context. However, it omits significant behavioral traits such as the human approval flow (suggested by approval_id/approval_token) and the dry_run preview capability, leaving those to be inferred from the schema.
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 zero waste: 'Delete a registered short link permanently.' It communicates the core function and key constraint (permanence) efficiently, earning top marks for 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 tool's complexity (dry_run, approval tokens, idempotency key) and the rich schema/output schema, the one-sentence description is somewhat thin. It doesn't hint at the multi-step approval workflow or the ability to preview deletions, but the schema and annotations together provide enough context for an agent to operate correctly. The description is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so the baseline is 3. The description itself does not add any parameter-level meaning, but the schema already documents most parameters in detail (e.g., dry_run, approval_id). The description provides no additional semantic value beyond what the schema fields already convey.
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 ('Delete') and resource ('registered short link') with an explicit scope ('permanently'), making the tool's function unambiguous. It clearly distinguishes from sibling tools like delete_domain or delete_tag, which target different resources.
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 you want to permanently delete a short link') but provides no explicit guidance on when to prefer this tool over alternatives, no prerequisites, and no exclusion cases. It relies on the tool's name and obvious purpose rather than offering actionable selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_tagMiniURL delete_tagADestructiveInspect
Delete a tag and remove it from all associated links.
| Name | Required | Description | Default |
|---|---|---|---|
| tag_id | Yes | The tag ID to delete. | |
| approval_id | No | Approval id returned by a previous USER_APPROVAL_REQUIRED response. | |
| approval_token | No | Legacy compatibility field; normally omit it and retry with approval_id after approval. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation declares destructiveHint=true, and the description adds valuable context by specifying that the deletion also removes the tag from all associated links—a side effect beyond simply deleting the tag. This goes beyond what the annotation alone conveys. The approval flow is not mentioned, but the schema covers it, so the description's addition is meaningful.
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 is concise and front-loaded with the verb and object. Every word adds value: 'Delete a tag' states the action, and 'remove it from all associated links' clarifies the full effect. There is 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 destructive operation, the description explains the primary side effect (unlinking), which is key context. The approval mechanism is documented in the schema, and an output schema exists, so return values do not need description. However, it does not explicitly mention that the deletion is permanent or irreversible, though this is inferable from the destructiveHint annotation. Overall, it is sufficiently complete for the tool's 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?
Schema description coverage is 100%, with clear descriptions for tag_id, approval_id, and approval_token. The tool description does not add parameter semantics, but given full schema coverage, the baseline of 3 is appropriate. It would be higher only if the description provided extra insight beyond the schema, which it does not.
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 ('Delete') with a clear resource ('tag') and states the key consequence ('remove it from all associated links'). This distinguishes it from sibling tools like untag_link (which removes a tag from a link but does not delete the tag) and delete_link (which deletes links). The cascade behavior is explicitly mentioned, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (delete a tag completely, including its associations), but it does not explicitly state when to use this tool versus alternatives like untag_link or provide any exclusions or prerequisites. There is no mention of when approval is required, though that is documented in the schema. The guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_account_statusMiniURL get_account_statusARead-onlyIdempotentInspect
Inspect the current guest/free/pro account status, remaining quota, and feature availability.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is known. The description adds context about the information returned (quota and feature availability) but does not disclose any potential behavioral nuances such as authentication requirements or error conditions. The bar for additional disclosure is met minimally, but not beyond that.
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 filler. It clearly states the action and the key aspects of the resource, making it 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?
The tool is very simple with no parameters and the presence of an output schema. The description explains what the tool returns (status, quota, features) and its read-only nature is covered by annotations. However, it does not mention whether authentication is required or how to interpret the quota, so a bit more context could be useful, but this is largely 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?
The tool has zero parameters, so the schema is trivially fully covered. The description does not need to explain parameter semantics; the baseline of 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 uses a clear verb 'inspect' and names the specific resource (account status) along with the aspects covered (guest/free/pro tier, remaining quota, feature availability). This distinguishes it from sibling tools like start_pro_upgrade or create_guest_token that modify or create account-related entities.
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 about when to use this tool instead of alternatives. The description implies usage for checking current status but does not explicitly contrast it with account-modifying tools or mention scenarios like pre-upgrade checks. There is no 'when not to use' context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_linkMiniURL get_linkARead-onlyIdempotentInspect
Get a single short link by alias for the current registered account.
| Name | Required | Description | Default |
|---|---|---|---|
| alias | Yes | The link alias to fetch. | |
| domain | No | The link domain. Defaults to miniurl.com. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | 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, covering the safety profile. The description adds the context that this is for the 'current registered account', but does not disclose behavior for missing aliases or response details. This matches the reference case where annotations carry the bulk of behavioral disclosure.
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, clear and front-loaded with the verb and resource. No filler or redundancy. Every word contributes to the meaning.
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?
This is a low-complexity getter with only 2 parameters, an output schema, and robust annotations. The description sufficiently covers purpose and account scoping. There are no missing pieces that would impede correct tool selection or invocation.
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% — both 'alias' and 'domain' are fully described in the input schema. The description's mention of 'by alias' merely echoes the schema, adding no extra semantic value. Baseline of 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get a single short link by alias' with a specific verb and resource. It is scoped to 'the current registered account', which distinguishes it from list_links and get_link_stats. This leaves no ambiguity about its function.
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 clearly implies the use case: fetching a specific link by alias. However, it does not explicitly name alternative tools like list_links or mention when not to use this tool. The context is clear but exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_link_statsMiniURL get_link_statsARead-onlyIdempotentInspect
Get link analytics. Free accounts receive a basic total plus an upgrade hint; Pro accounts receive full breakdowns.
| Name | Required | Description | Default |
|---|---|---|---|
| alias | Yes | The alias to inspect. | |
| domain | No | Optional domain to scope the alias lookup. Defaults to miniurl.com. | |
| period | No | Analytics time range. Defaults to 7D. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds meaningful context beyond annotations by explaining that free accounts receive a basic total and an upgrade hint, while Pro accounts receive full breakdowns. This clarifies the behavioral difference based on account status, providing useful context for the agent.
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 communicates the core purpose and the key account-tier distinction. No unnecessary words or repetition, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only 3 parameters, all described, and an output schema exists. The description adds the crucial account-tier nuance. However, it does not clarify what 'basic total' or 'full breakdowns' specifically include, though the output schema likely covers this. Given the low complexity and rich structured data, the description is nearly 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 description coverage is 100%, with all three parameters (alias, domain, period) fully described. The description adds no additional parameter-level meaning, so a baseline score of 3 is appropriate. The description's mention of 'basic total' vs 'full breakdowns' indirectly relates to period parameters but does not enhance 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?
The description states a specific verb and resource: 'Get link analytics.' This clearly distinguishes the tool from siblings like get_link and list_links, as 'analytics' implies statistical data. However, it does not explicitly contrast it with alternatives, so a small deduction for lack of explicit sibling differentiation.
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 about when to use this tool versus alternatives. The description only mentions account-tier differences (free vs. Pro) but does not state when to choose get_link_stats over get_link or list_links. This leaves the agent to infer usage solely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_domainsMiniURL list_domainsARead-onlyIdempotentInspect
List domains available to the current registered account, including miniurl.com and active custom domains.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
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. The description adds value by specifying that only domains for the current account are listed, and that both miniurl.com and active custom domains are included. This hints at behavioral filtering (inactive domains excluded) not covered by 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, front-loaded sentence that immediately states the action and subject. It contains no fluff or redundant phrasing. Every word contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, parameterless listing tool, the description is sufficiently complete. It tells the user what will be listed and the scope, while the presence of an output schema handles return value details. No further information about pagination or errors is necessary for this level of 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, so the baseline is 4 per rubric. The schema coverage is naturally 100% and there is no parameter information to add. The description correctly avoids fabricating parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list), the resource (domains), and the scope (current registered account). It also distinguishes itself from siblings like add_domain, delete_domain, and verify_domain by focusing on read-only enumeration. The mention of including miniurl.com and active custom domains adds specificity without 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?
The description implies when to use this tool: to view available domains for the current account. It does not explicitly state exclusions or alternative tools, but the context is clear enough for a simple listing operation. Since it is a read-only list, no complex usage guidance is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_linksMiniURL list_linksARead-onlyIdempotentInspect
List short links for the current registered account.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional page size. Defaults to 20. | |
| cursor | No | Opaque cursor returned as next_cursor. Prefer cursor pagination for stable traversal. | |
| domain | No | Optional domain filter. | |
| offset | No | Optional zero-based offset for pagination. Defaults to 0. | |
| search | No | Optional search term for alias or destination URL. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds the account-scoping context ('current registered account'), but does not discuss pagination behavior or response format, which are partially covered by schema/output schema.
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. It is short and immediately communicates the core 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?
The schema documents all parameters, annotations cover safety/idempotency, and an output schema exists, so the terse description is sufficient. The account scope is the only extra context needed and is 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%, with all five parameters documented (limit, cursor, domain, offset, search). The description adds no parameter-level detail beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' with a clear resource 'short links' and scope 'current registered account'. This distinguishes it from sibling tools like get_link (single link) and list_domains/list_tags.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given regarding when to choose this over alternatives such as get_link or get_link_stats. The description only states the function, leaving the decision to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tagsMiniURL list_tagsARead-onlyIdempotentInspect
List all tags for the current registered account. Tags help organise links into campaigns or categories.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | 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 valuable context by specifying the scope 'for the current registered account', which is not covered by annotations. It also explains the purpose of tags, which aids in understanding the tool's role.
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 concise sentences, front-loaded with the action. The second sentence adds context about what tags do, which is useful without being verbose. 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 zero-parameter tool with a read-only annotation profile and an existing output schema, the description is complete. It states the exact scope and purpose, and the annotations cover safety and idempotency. No additional behavioral details are 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 tool has zero parameters, and schema coverage is 100%. Per the rubric, 0 params baseline is 4. The description does not need to explain parameters, and the schema already fully covers them.
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 ('List'), the resource ('all tags'), and the scope ('for the current registered account'). This specific verb+resource combination distinguishes it from sibling tools like create_tag, delete_tag, and list_links.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by explaining that tags help organize links into campaigns or categories, but it does not explicitly state when to use this tool versus alternatives like list_links or tag_link. No when-not-to-use or exclusion criteria are provided, so it falls at 'implied usage'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_registration_codeMiniURL send_registration_codeAInspect
Send a 6-digit registration code to the user email, using the current guest session.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The user email address. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the key behavioral aspects: it sends a 6-digit code via email and relies on the current guest session. Since annotations provide no safety hints (all false), the description carries the burden and addresses the main side effects, though it doesn't mention potential issues like code expiration or resend 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?
A single, information-dense sentence with no fluff. Every element adds value: action, object, recipient, and 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?
Given the tool's simplicity (1 parameter, output schema exists), the description is mostly complete. It explains what happens and the required session context. It could note the relationship with verify_registration_code, but that is inferable from the sibling name.
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 parameter description already says 'The user email address.' The tool description rephrases it as 'to the user email', adding no new semantic meaning beyond what the schema provides. Baseline 3 applies.
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 (send), the object (a 6-digit registration code), and the recipient (user email). It also specifies the context (current guest session), which distinguishes it from sibling tools like verify_registration_code or create_guest_token.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context by mentioning 'using the current guest session', implying a prerequisite and when this tool is appropriate. However, it does not explicitly name alternatives or when not to use it, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shorten_urlMiniURL shorten_urlAInspect
Create a MiniURL short link for a supplied HTTP or HTTPS destination. Use when the user asks to shorten a URL or generate a MiniURL link. This is an additive external write; do not fetch or open the destination. If no authentication is supplied, MiniURL automatically starts a guest flow. Reuse idempotency_key when retrying the same logical request.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The HTTP or HTTPS destination URL to shorten. | |
| alias | No | Optional custom alias. Call check_alias before creating it. Requires a registered account; miniurl.com aliases must be at least 4 characters. | |
| domain | No | Optional domain. Requires a registered account with an active custom domain. | |
| dry_run | No | Validate the destination and show the planned link without creating it. Agent tokens only. | |
| password | No | Optional password. Requires Pro. | |
| expiration | No | Optional ISO 8601 expiration datetime. Requires Pro. | |
| activated_at | No | Optional ISO 8601 activation datetime. Requires Pro. | |
| idempotency_key | No | Optional idempotency key. Reusing it with the same payload safely replays the original result. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description adds valuable behavioral context: it is an 'additive external write' (clarifies the side effect), it explicitly says 'do not fetch or open the destination' (prevents accidental network calls), and it explains guest-flow behavior when no auth is supplied. The idempotency-key guidance also goes beyond the schema annotations. No contradictions with readOnlyHint=false, destructiveHint=false.
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?
Three sentences, front-loaded with the primary action, followed by usage trigger, safety note, auth caveat, and retry guidance. Every sentence earns its place; no fluff or repetition.
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 8 parameters, full schema descriptions, an output schema, and annotations, the description adds the missing behavioral and usage context: it clarifies the external write nature, guest-flow, and not to fetch the destination. It also points to idempotency handling. This is complete for the tool's 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 input schema already provides 100% descriptive coverage for all 8 parameters, so the baseline is 3. The description mentions the idempotency key and HTTP/HTTPS url, but these are already covered in the schema. The description does not add new parameter-level semantics beyond what the schema provides, so no score above 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 opens with a specific verb+resource: 'Create a MiniURL short link for a supplied HTTP or HTTPS destination.' It clearly distinguishes from siblings by focusing on single-URL shortening, rather than bulk operations like bulk_create_links or alias checks like check_alias. The second sentence reinforces the exact trigger condition.
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 gives an explicit 'Use when' condition: 'when the user asks to shorten a URL or generate a MiniURL link.' It also provides contextual warnings about not fetching the destination and the guest-flow fallback when authentication is missing. It stops short of naming alternative tools for exclusions, so it earns a 4 not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_pro_upgradeMiniURL start_pro_upgradeADestructiveInspect
Create a shortened checkout link for upgrading the current registered account to Pro.
| Name | Required | Description | Default |
|---|---|---|---|
| interval | No | Billing interval. Defaults to monthly. | |
| approval_id | No | Approval id returned by a previous USER_APPROVAL_REQUIRED response. | |
| approval_token | No | Legacy compatibility field; normally omit it and retry with approval_id after approval. | |
| idempotency_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, so the state-changing nature is conveyed. However, the description does not disclose the approval flow (evidenced by approval_id and approval_token parameters) that may require a USER_APPROVAL_REQUIRED response. It adds purpose context but misses significant behavioral nuance that could affect how an agent invokes the tool.
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 that front-loads the core action and purpose. Every word contributes meaning, and there is no redundant or speculative 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?
With an output schema and annotations present, the description does not need to explain return values or safety. However, it omits critical behavioral context about the approval flow, which is essential for understanding the full lifecycle of this tool. The description is adequate for a surface-level understanding but leaves a notable gap for the 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 provides descriptions for 3 of 4 parameters (75% coverage), including interval and approval fields. The description does not add any extra explanation, particularly for the idempotency_key parameter which lacks a schema description. Since coverage is moderate, the schema already handles most of the parameter semantics, and the description's minimal addition does not significantly aid an agent.
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 'Create' and specifies the resource as a 'shortened checkout link' with a clear purpose: 'upgrading the current registered account to Pro.' This distinguishes it from sibling tools like shorten_url, which would handle general link shortening.
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. It does not mention any prerequisites, exclusions, or scenarios where another tool would be more appropriate. The only implied context is the phrase 'upgrading the current registered account to Pro,' which is insufficient for an agent to make a confident selection decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tag_linkMiniURL tag_linkAInspect
Add a tag to a short link for campaign or category organisation.
| Name | Required | Description | Default |
|---|---|---|---|
| alias | Yes | The link alias to tag. | |
| domain | No | The link domain. Defaults to miniurl.com. | |
| tag_id | Yes | The tag ID to assign. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate the tool is not read-only (readOnlyHint false) and not destructive (destructiveHint false). The description adds no extra behavioral context such as whether tags are replaced, whether authentication is required, or rate limits. It is consistent with annotations but provides minimal additional value beyond stating the mutation 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, front-loaded sentence with no redundant words. It efficiently states the action and purpose, earning every word it uses.
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 a simple mutation with a fully described schema and an output schema present. However, the description omits any prerequisites (e.g., the tag must exist via create_tag) or special behavior (e.g., idempotency). While parameters are covered by the schema, the description lacks broader contextual guidance for when this action is valid.
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%, meaning all three parameters (alias, domain, tag_id) are fully described in the input schema. The description itself does not add any meaning beyond the schema, so the baseline of 3 is appropriate. The schema already documents the required fields and their purposes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action 'Add' with the resources 'tag' and 'short link', and includes a purpose ('for campaign or category organisation'). This distinguishes it from sibling tools like create_tag (which creates a tag) and untag_link (which removes a tag).
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 explicit guidance on when to use this tool versus alternatives. It does not mention untag_link for removing tags, create_tag for creating tags, or any exclusions or prerequisites. The only implied usage is the organizational purpose, but without direct comparison or situational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
untag_linkMiniURL untag_linkAInspect
Remove a tag from a short link.
| Name | Required | Description | Default |
|---|---|---|---|
| alias | Yes | The link alias. | |
| domain | No | The link domain. Defaults to miniurl.com. | |
| tag_id | Yes | The tag ID to remove. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, destructiveHint=false), the description adds no behavioral context such as reversibility, error behavior, or permissions. The agent relies solely on the annotations for safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, front-loading the action and object. It is appropriately sized 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?
The tool is simple with annotations and full schema coverage, and an output schema exists. However, the description adds no context about when to use it versus tag_link or what happens on removal. It is minimally viable but could benefit from a usage hint.
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?
Since the input schema covers 100% of parameter documentation, the description does not need to explain parameters. The baseline of 3 applies, as the schema already provides adequate semantics for alias, domain, and tag_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove') and the resource ('tag from a short link'), making it distinct from the sibling tool tag_link which adds a tag.
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 use case (removing a tag) but does not explicitly mention when to use this tool versus tag_link or other alternatives. No exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_linkMiniURL update_linkAInspect
Update a registered short link. Some fields require Pro.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | New HTTP or HTTPS destination URL. Requires Pro. | |
| alias | Yes | The link alias to update. | |
| domain | No | The link domain. Defaults to miniurl.com. | |
| dry_run | No | Validate and preview the update without changing the link. Agent tokens only. | |
| password | No | Set or replace the password. Requires Pro. | |
| expiration | No | Set a new ISO 8601 expiration datetime. Requires Pro. | |
| activated_at | No | Set a new ISO 8601 activation datetime. Requires Pro. | |
| clear_password | No | Remove the current password. | |
| idempotency_key | No | ||
| clear_expiration | No | Clear the current expiration. | |
| clear_activated_at | No | Clear the current scheduled activation datetime. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false, so the mutation nature is clear. The description adds the Pro requirement for some fields, which is useful scoping context. However, it does not disclose whether updates are partial or full replacement, or any side effects beyond annotation hints.
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 immediately conveys the tool's purpose and the most important caveat. No fluff or redundancy; every word contributes.
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 11 parameters and an output schema, the description is thin. It does not explain the update semantics (e.g., partial update), the dry_run validation option, or scenarios when to use this tool, relying almost entirely on schema and annotations. It is minimally sufficient but lacks the context an agent might need to safely invoke it.
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 high (91%), with most parameters having descriptive text. The description's 'Some fields require Pro' aligns with schema notes like 'Requires Pro' on url, password, and expiration fields, adding no new semantic info 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 'Update a registered short link', using a specific verb and resource. This differentiates it from sibling tools like shorten_url (create) and delete_link (delete), making the tool's purpose 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?
The description provides no guidance on when to use this tool versus alternatives. The only contextual hint is 'Some fields require Pro', which is a prerequisite/caveat rather than usage direction. No mention of when not to use it or which sibling to prefer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_domainMiniURL verify_domainBInspect
Refresh custom-domain DNS and SSL verification status. Agent domain changes require human approval by default.
| Name | Required | Description | Default |
|---|---|---|---|
| domain_id | Yes | ||
| approval_id | No | ||
| approval_token | No | Legacy compatibility field; normally omit it. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the operation as non-read-only, non-idempotent, and non-destructive; the description adds the useful behavioral fact that agent domain changes need human approval by default. However, it does not disclose side effects like triggering external DNS checks or potential failure modes.
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-loads the primary action, and contains no filler. 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?
The output schema covers return values, but the description omits how approval_id and approval_token are used, when to call this tool, and how the human approval flow works. This leaves a significant gap for an agent trying to invoke the tool 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?
With schema description coverage at only 33%, the description needed to explain parameters like domain_id and approval_id, but it only mentions the approval requirement generically. approval_token is the only parameter with a schema description, and domain_id/approval_id remain unexplained.
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 ('refresh') and resource ('custom-domain DNS and SSL verification status'), clearly distinguishing it from domain CRUD siblings like add_domain/delete_domain. It also adds a policy note about human approval, but does not explicitly contrast with other verification/list 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?
The sentence 'Agent domain changes require human approval by default' implies a use case after domain changes, but the description does not explicitly state when to use this tool versus list_domains or add_domain, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_registration_codeMiniURL verify_registration_codeAInspect
Verify the emailed code, create the account, claim guest links, and continue with OAuth 2.1 + PKCE. Long-lived API keys are never returned over MCP.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The 6-digit verification code. | |
| Yes | The user email address. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| error | No | |
| success | Yes | |
| approval | No | |
| retryable | No | |
| request_id | Yes | |
| retry_after | No | |
| next_actions | No | |
| required_scope | No | |
| user_action_required | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false, providing no safety hints. The description adds meaningful behavioral context: it creates an account (state-changing), claims guest links, and importantly warns that 'Long-lived API keys are never returned over MCP,' which is a security-relevant disclosure 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?
Two sentences, each earning its place. The first packs the entire flow, and the second adds a critical security caveat. 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 multi-step mutation tool with an output schema present, the description covers the essential sequence (verify, create, claim, continue OAuth) and a key limitation. It does not explicitly spell out the prerequisite of having requested a code, but the flow is inferable from the sibling tools and the wording.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (email, code) already described in the schema. The description adds no additional parameter semantics, so the baseline 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 states a specific verb-resource action: 'Verify the emailed code, create the account, claim guest links, and continue with OAuth 2.1 + PKCE.' It clearly distinguishes from siblings like send_registration_code and create_guest_token by describing the full account creation flow.
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 clear usage context: after an email code has been sent, this tool completes the registration. It does not explicitly name alternatives or exclusions, but the context is unambiguous and the sibling list makes the alternative explicit enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityBmaintenanceOAuth token broker for AI agents to securely act on a user's behalf across third-party APIs (Gmail, Slack, GitHub, Notion, etc.) by vaulting tokens server-side and never exposing them to the LLM.MIT
- Alicense-qualityCmaintenanceCapability-token gate for AI agents. Mint time-boxed, scope-limited grants that authorize specific tool calls.2,062MIT
- Alicense-qualityAmaintenanceEnables AI assistants to create and manage short URLs via the MCP protocol, with OAuth authentication through Cloudflare Access.9Apache 2.0
- AlicenseAqualityAmaintenanceLocal zero-trust permission gateway for AI agents. Enforces policy-based tool authorization, human approvals, scoped permissions, and cryptographically verifiable audit logs.45Apache 2.0