Skip to main content
Glama

短.在线

Server Details

Short links + QR for agents: 5 live MCP tools, batch≤100. Prefer punycode host.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

B3.4/5.0

Scored across 9 tools

Disambiguation4/5

Most tools target clearly distinct operations: create, resolve, get by ID, list, update, disable, analytics, and QR generation. The only mild ambiguity is between get_link and resolve_short_url, as both retrieve link information, but their descriptions clarify the identifier type and endpoint structure.

Naming Consistency4/5

Tool names predominantly follow a snake_case verb_noun pattern, such as get_link, disable_link, and create_qr. The main inconsistency is using shorten_url/shorten_urls for creation instead of a create_link-style name, but the pattern remains readable and predictable overall.

Tool Count5/5

Nine tools is well-scoped for a URL shortener service covering creation, resolution, lookup, management, QR generation, and analytics. Each tool represents a distinct capability, and none feel redundant.

Completeness2/5

Although the surface appears broad, most management capabilities are not live: list, update, disable, analytics, and QR PNG generation all return feature_not_available. The effective usable surface is limited to create, batch create, resolve, and get, leaving significant lifecycle gaps for agents.

Available Tools

9 tools
create_qrCreate QR tracking URLAInspect

Returns qr_tracking_url (?s=qr) for an existing active link. PNG image endpoint not live yet (image_available=false).

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoExisting short code
short_urlNoExisting short URL to tag for QR

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
okYes
codeNo
errorNo
stateNo
messageNo
retryableNo
short_urlNo
request_idYes
image_availableNo
qr_tracking_urlNo
short_url_asciiNo

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full disclosure burden. It usefully reveals the exact return value, the precondition that the link must be existing and active, and the current limitation that the PNG image endpoint is unavailable. It does not explicitly state whether using this tool mutates or 'tags' the link, but the 'Returns' phrasing and the image_available=false flag cover the most operationally important behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences, front-loading the core purpose and then adding the key caveat about the unavailable PNG endpoint. Every clause earns its place and there is no wasted wording.

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

Completeness4/5

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

For a simple tool with full parameter documentation and an output schema, the description covers the main use case, the precondition, and the current limitation. The main gap is that the schema marks zero parameters as required, and the description does not explicitly state that at least one of id or short_url must be provided, though 'for an existing active link' strongly implies it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both id and short_url as existing identifiers. The description adds the 'existing active link' precondition, but it does not clarify whether either parameter is sufficient, which one should be preferred, or what happens if both are supplied. This is adequate but not a strong value-add over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: 'Returns qr_tracking_url (?s=qr) for an existing active link.' This clearly distinguishes it from sibling tools like shorten_url or get_link_analytics, since it is specifically about generating a QR tracking URL from an already-existing link.

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

Usage Guidelines4/5

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

The description makes clear that this tool operates on an existing active link, so an agent can infer it is not for creating new short links. It also warns that the PNG image endpoint is not live, which prevents misuse. It does not explicitly name alternative tools or state when not to use it, but the context is reasonably clear.

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

resolve_short_urlResolve short URLAInspect

Resolve an apex short URL or code to link status (+ destination iff active).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoFull short URL (Unicode or punycode)
codeNoShort code if URL not provided

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
okYes
codeNo
typeNo
errorNo
stateNo
titleNo
messageNo
retryableNo
short_urlNo
created_atNo
request_idYes
status_urlNo
destinationNo
short_url_asciiNo

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does reveal that the destination is returned only if the link is active ('iff active'), which is a useful conditional. However, it does not disclose that both url and code are optional per the schema (implying at least one must be provided), nor does it mention error cases or explicitly confirm the operation is read-only. The description is thin on behavioral details beyond the conditional.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the action ('Resolve an apex short URL or code') and the result ('to link status'). Every word earns its place, and it avoids redundant phrasing. It is appropriately sized for the tool's simplicity.

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

Completeness4/5

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

The tool has an output schema, so the return structure is covered. The description captures the core behavior (resolving to status and conditional destination) and is adequate for a simple lookup. The only notable gap is the schema's 0 required parameters conflicting with the implied need to supply at least one of url/code; the description does not explicitly enforce or clarify this, but it does say 'or', which hints at a choice. Overall, it is sufficiently complete given the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% – both url and code have descriptive text, with the schema noting 'Short code if URL not provided'. The description adds the word 'apex' but does not define it or add meaning beyond the schema. It clarifies the two inputs are alternatives, but this is already implied by the schema's phrasing. The description adds marginal value, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool resolves a short URL or code to link status, with a conditional destination. The verb 'resolve' and resource are specific, and the purpose is distinct from siblings like shorten_url, get_link, or disable_link, which manage or create links. It is unambiguous about what the tool does.

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

Usage Guidelines4/5

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

The description implies the use case: when you have a short URL or code and want to check its status. It does not explicitly name alternatives or state when not to use it, but the sibling set (shorten, update, disable, analytics) makes it clear this is for resolution only. The guidance is implicit but adequate, lacking explicit exclusionary notes.

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

shorten_urlShorten URLBInspect

Create a single short link (POST /v1/links). Returns ActiveLinkCreated or NonActiveLinkCreated structured fields. Requires idempotency_key (arg or Idempotency-Key header).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNohttp(s) destination URL — Soft C SSRF no-fetch applies
aliasNoOptional ASCII alias [A-Za-z0-9_-], stored lowercase
titleNo
localeNo
longUrlNohttp(s) destination URL — Soft C SSRF no-fetch applies
customSlugNoOptional ASCII alias [A-Za-z0-9_-], stored lowercase
idempotency_keyNoIdempotency key (same semantics as REST Idempotency-Key header)

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
okYes
codeNo
errorNo
stateNo
messageNo
retryableNo
short_urlNo
created_atNo
request_idYes
status_urlNo
destinationNo
qr_tracking_urlNo
short_url_asciiNo

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does add value by stating the idempotency_key requirement (including the header alternative) and the two possible return types. However, it does not explain what conditions lead to ActiveLinkCreated versus NonActiveLinkCreated, nor does it disclose side effects, rate limits, or permission needs. It is more informative than a tautology but lacks depth for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences and front-loads the core purpose. There is no fluff, and the idempotency requirement is mentioned right after the return types. It is slightly lacking in structure—no use of bullets or clear separation of concerns—but it is appropriately sized for the tool.

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

Completeness2/5

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

For a tool with 7 parameters and no annotations, the description is under-specified. It does not clarify the distinction between url and longUrl, nor alias and customSlug, which could lead an agent to misuse them. It also does not explain the business meaning of the two return types or any error handling. The output schema exists, but the description's mention of it is not enough to cover the full context an agent needs to call this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 71%, so the description does not need to repeat parameter details. It does add one semantic nuance: idempotency_key can be passed as an argument or via the Idempotency-Key header, which is not fully captured in the schema description. However, it adds nothing about url vs longUrl or alias vs customSlug, which are potentially confusing duplicates. Given the high schema coverage, a baseline of 3 is appropriate, with the idempotency clarification being a minor bonus.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create a single short link'), names the HTTP endpoint, and the word 'single' distinguishes it from the sibling shorten_urls (plural). It also mentions the return types, which further clarifies its scope. This is a specific verb+resource statement that an agent can easily act on.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives. It only says 'single', which implicitly contrasts with the plural shorten_urls, but it does not name the sibling or state conditions for choosing one over the other. It also does not mention any exclusions or prerequisites beyond the idempotency_key requirement.

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

shorten_urlsShorten URLs (batch)AInspect

Sync batch create ≤100 links (POST /v1/links/batch). Correlate by client_ref only. Requires idempotency_key.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
idempotency_keyNoIdempotency key (same semantics as REST Idempotency-Key header)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
codeNo
errorNo
messageNo
resultsNo
batch_idNo
ok_countNo
retryableNo
batch_modeNo
fail_countNo
request_idYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that it's a synchronous batch create, requires an idempotency key, and correlates by client_ref, which is useful. However, it doesn't mention potential failure modes (e.g., partial success, error handling) or the output format, which for a batch operation with an output schema might be important.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, information-dense sentence with no fluff. It front-loads the core action and limit, then covers correlation and idempotency. Every word earns its place.

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

Completeness4/5

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

Given the complexity of a batch operation, the description covers the main usage (batch, limit, correlation, idempotency). The output schema exists, so return values are covered by that. However, it lacks explicit error handling and partial-failure semantics, which would be valuable for batch calls. It's almost complete but has a minor gap in failure transparency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%, with the 'items' and 'idempotency_key' fields having descriptions, but the nested item properties like 'title' and 'locale' lack descriptions. The description adds context about 'client_ref' correlation and the idempotency requirement, which aids understanding. However, it doesn't compensate for the undefined 'locale' field and other nested parameters, so it's adequate but not complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('Sync batch create ≤100 links') and references the HTTP endpoint, distinguishing it from the singular 'shorten_url' sibling. However, it does not explicitly name the sibling or contrast the batch vs single behavior, so it's clear but not fully differentiated.

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

Usage Guidelines4/5

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

The description explicitly mentions 'batch' and the ≤100 limit, implying when to prefer this over the singular 'shorten_url' sibling, and mentions the correlation by 'client_ref', which is key for batch handling. However, it does not explicitly state 'use this instead of shorten_url for multiple links', leaving some inference.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updates
    • First observedcreate_qr
    • First observeddisable_link
    • First observedget_link
    • First observedget_link_analytics
    • First observedget_links
    • First observedresolve_short_url
    • First observedshorten_url
    • First observedshorten_urls
    • First observedupdate_link

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables creation and management of short links with custom slugs, QR repointing, and cookieless analytics from any MCP client.
    12 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Generate styled QR codes, manage dynamic short links with click analytics, and publish micro-landing pages via AI agents.
    19
    28 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Converts URLs into scannable QR codes with customizable options like error correction levels and image sizes. Provides downloadable links for generated QR codes through a simple MCP tool interface.
    7 npm
    4
    Apache 2.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    Free URL shortener with a hosted MCP server. Create, update, and bulk-create short links with custom aliases and QR codes, and read click analytics (countries, cities, devices, browsers, referrers, UTM) from Claude, Cursor, or any MCP client. Unlimited links on the free plan; read-only and write scopes are assigned per API key.
    1
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources