urlhub
Server Details
Many links as one short link with a QR code; read urlhub sets and preview what links are about.
- Status
- Healthy
- Uptime
- 100.0% over 20 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
make_set (create), preview_links (inspect raw URLs), read_set (retrieve a set), and featured_sets (browse a catalog) each target a distinct action. There is mild overlap since read_set can also open a featured /s/ set that featured_sets surfaces, but the descriptions make the browse-vs-read distinction reasonably clear.
All names use snake_case and three follow a clean verb_noun pattern (make_set, preview_links, read_set). featured_sets is an adjective+noun outlier that would be more consistent as list_featured_sets, but the set is still predictable and readable.
Four tools is a lean but sensible surface for a focused link-set service, covering create, read, preview, and browse. Nothing feels redundant, though a slightly wider surface (e.g. an update/delete) would not feel padded.
Creation, reading, previewing, and catalog browsing are covered, and update is handled by re-calling make_set. However there is no delete/expiry-management operation and no way to list a user's own created sets, leaving a notable lifecycle gap.
Available Tools
4 toolsfeatured_setsFeatured setsARead-onlyInspect
Lists urlhub's ready sets of the season in a language (gift ideas, films, events, lessons…), each with its address and a short description: links to point someone to who asks for ideas on one of these topics.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | en (default) or pl |
Output Schema
| Name | Required | Description |
|---|---|---|
| sets | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds that sets are 'ready sets of the season in a language', which gives useful context about the currency and localization of the data, and that each set includes an address and short description. It doesn't detail pagination or output format, but this is reasonable given the output schema exists.
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, well-crafted sentence that is front-loaded with the core action and resource, then elaborates on the content and use case without any wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, read-only listing tool with one optional parameter, full schema coverage, and an output schema, the description provides adequate context: what the tool returns, its purpose for sharing, and its seasonal/lang scope. No critical gaps remain.
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 single 'lang' parameter is fully described with enum values and default. The description mentions 'in a language' but adds no additional semantic detail about the parameter beyond what the schema provides. 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?
States a specific verb (Lists) and resource (urlhub's ready/featured sets), and clarifies the nature of the content (gift ideas, films, events, lessons) with addresses and short descriptions. It distinguishes itself from siblings like make_set and read_set by being a listing tool. However, it doesn't explicitly name an alternative tool for a different way to get sets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for pointing someone to ideas on topics, but it doesn't explicitly state when to use this tool versus alternatives like read_set (which likely reads a specific set) or make_set. The context is implied rather than stated with clear conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
make_setMake a set of linksAIdempotentInspect
Makes a urlhub set from links: a short link that opens a page with every link's picture, title and description, and its QR code as PNG and SVG files. Good when several links should travel together: sent to someone, opened later on a phone, or printed as one QR code on a poster or a slide (gift ideas, products to compare, a reading list, a trip plan, links for a class). With a title (and a description) it publishes the set as a page with that heading, for a set to send round or print; without one it makes a short link. Both are public to anyone who has the link. The same links always give the same link; to change a set, call make_set again. A short link nobody opens for 90 days goes away, a page after a year; long_link, when the list is short enough, holds every link in the address itself and never goes away.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | The page's language (en by default) | |
| urls | Yes | The links, in the order to show them (1 to 200, http or https) | |
| view | No | table (the default) or tiles with big pictures, for products and looks | |
| title | No | A heading for the set, e.g. "Gift ideas for Dad under $50": makes a page | |
| description | No | A line under the heading (only with a title) |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | Yes | page when a title was given |
| link | Yes | The link to give the person |
| count | Yes | How many links the set has |
| qr_png | Yes | The QR code of the link (PNG) |
| qr_svg | Yes | The same code as SVG, to print |
| as_text | Yes | The set as Markdown |
| long_link | No | The same links in one address (?urls=) that never goes away, without the title; only when they fit in an address |
| expires_after_days_unopened | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly false, destructive false, idempotent true, openWorld true), the description discloses genuinely new traits: both outputs are public to anyone with the link, idempotency is reinforced ('the same links always give the same link; to change a set, call make_set again'), and expiry windows are spelled out (90 days for an unopened short link, a year for a page) plus the never-expiring long_link behavior. These are exactly the operational details an agent cannot infer from 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 definition is front-loaded: the core purpose leads, then usage contexts, then the behavioral caveats. It is dense and readable, but the parenthetical example lists (gift ideas, products to compare, a reading list, a trip plan, links for a class) run long and slightly dilute the signal without adding decision-relevant 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 a 5-parameter tool, full schema coverage, and an existing output schema, the description supplies everything else the agent needs: what is created, how title toggles page vs short link, visibility, idempotency, and expiry. Return-value explanation is correctly omitted because the output schema owns 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 description coverage is 100%, so lang, urls, view, title and description are already documented in the schema (including the title 'makes a page' note). The description restates the title/description-to-page relationship but adds no syntax, format, or bounds beyond what the schema provides, so the 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 first sentence names a specific verb and resource ('Makes a urlhub set from links') and immediately enumerates the artifacts produced: a short link, a page with each link's picture/title/description, and PNG/SVG QR codes. This is far more specific than a tautology, though it never names a sibling (featured_sets, preview_links, read_set) to disambiguate when another tool is the right pick.
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 gives concrete usage contexts — several links traveling together, sent to someone, opened later on a phone, printed as one QR code — and explains the title/no-title branching condition that selects the page vs short-link behavior. It stops short of explicit when-not guidance or routing to alternatives, so it is clear context rather than full when/why/when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_linksPreview linksARead-onlyInspect
Reads up to 50 links and returns each one's title, description, site and kind (page, video…), or why it could not be read. Useful before making a set, to check the links work and describe them, or to see what links someone sent are about.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | The links to read (1 to 50) |
Output Schema
| Name | Required | Description |
|---|---|---|
| links | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds real behavioral context beyond that: the 50-link cap and the failure mode (returns why a link could not be read), which an agent otherwise would not know.
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 tight sentence that front-loads the operation and its output before pivoting to usage. Minor run-on in the second clause but no wasted sentences.
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 not be described here, yet the description still previews the result shape and error case. Combined with annotations covering read-only/open-world behavior, an agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter is fully documented in the schema itself (type, URI pattern, min/max items). The description's 'up to 50 links' simply restates the schema's maxItems, so it adds little beyond the structured field.
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?
States a specific verb (reads) and resource (links), and enumerates exactly what is returned per link (title, description, site, kind). This is distinct from the sibling make_set/read_set operations, which the description implicitly separates by positioning this as a pre-step to making a set.
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?
Gives concrete when-to-use contexts: 'before making a set, to check the links work and describe them, or to see what links someone sent are about.' It does not name an alternative tool explicitly, but the usage contexts are clear enough that an agent knows when to reach for it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_setRead a urlhub setARead-onlyInspect
Reads a urlhub link someone gives you (a short link /c/…, a published page /l/…, a featured set /s/…, or an address with ?urls=) and returns its links with their titles and descriptions as Markdown.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | A link on urlhub.cloud |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds real value beyond them by disclosing the return format (links with titles and descriptions, rendered as Markdown), which tells the agent what to expect from the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the core action first and the accepted inputs and output format bundled compactly. No filler or 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?
For a one-parameter read-only tool with no output schema, the description covers what it does and what it returns. It does not mention behavior for large or empty sets (limits, pagination), a minor gap but not one an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one param at 100% schema coverage the baseline is 3, but the description genuinely extends the schema: it enumerates the accepted URL forms (/c/, /l/, /s/, ?urls=) whereas the schema only says "A link on urlhub.cloud". This gives the agent concrete format expectations.
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?
States a specific verb (Reads) and resource (a urlhub link / set) and clarifies the output (links with titles and descriptions as Markdown). It enumerates the accepted URL shapes, which helps an agent recognize the tool, though it never explicitly names how it differs from siblings like featured_sets or preview_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?
"Reads a urlhub link someone gives you" implies the trigger context (a user-supplied link), but there is no explicit when-to-use-vs-alternatives guidance and no mention of featured_sets/preview_links, which plausibly overlap. Usage is only implied.
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 tool update
- Changed
make_set1 field changed- added
Output schema / properties / long_linkAdded value: +{ + "description": "The same links in one address (?urls=) that never goes away, without the title; only when they fit in an address", + "format": "uri", + "type": "string" +}
4 tool updates
- First observed
featured_sets - First observed
make_set - First observed
preview_links - First observed
read_set
Related MCP Connectors
Bundle multiple URLs into one short link. QR codes, access counters, redirect lookup. Free.
Short links, QR codes, link and website analytics: create and edit links, read clicks and visitors.
Create and manage short links and QR codes, and read click analytics, on your own domain.
Related MCP Servers
FlicenseNot gradedqualityDmaintenanceUser can create short urls, edit short urls, get click analytics, generate qr codes and much more.-
esyURL MCP serverofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents to create, update, organize, and delete short links; render styled QR codes; route visitors by device or country; and read click and scan statistics. Agents can also manage groups and custom domains while changing destinations without breaking printed QR codes or shared short URLs.MIT- AlicenseNot gradedqualityCmaintenanceLets an AI assistant create QR codes and short links, re-point or pause them, inspect scan counts and analytics, and read the contents of a QR image you supply. It connects to a hosted workspace over Streamable HTTP, so codes can be managed and tracked without leaving the chat.MIT
- AlicenseAqualityDmaintenanceGenerate styled QR codes, manage dynamic short links with click analytics, and publish micro-landing pages via AI agents.1913 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.