Skip to main content
Glama

L1NK

Server Details

Short links with QR, custom domains and bot-free click analytics. Create, edit, delete, analyze.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 44 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4/5.0

Scored across 7 tools

Disambiguation4/5

Each tool maps to a distinct action: link CRUD (create/get/list/update/delete), account-level click analytics, and tag-based comparison. The only mild overlap is between compare_tags, list_links (tag filtering) and get_analytics, but the descriptions clearly differentiate per-tag comparison from per-link or account-wide reporting.

Naming Consistency5/5

All seven tools follow a strict verb_noun snake_case convention (create_link, get_link, list_links, update_link, delete_link, get_analytics, compare_tags), with the verb matching the action taken.

Tool Count5/5

Seven tools is well-scoped for a link-shortening service: full link lifecycle plus analytics and tag comparison, with no redundant tools.

Completeness4/5

Full create/read/list/update/delete coverage for links, plus analytics and tag comparison, covers core workflows. However, tags appear central (used in list_links and compare_tags) yet no tool assigns or edits tags on a link, and there is no account/plan introspection tool.

Available Tools

7 tools
compare_tagsCompare links by tagA
Read-only
Inspect

Compare the links that carry some tags (e.g. one QR per table, shop window or flyer): for each link, people, QR scans, bots apart and its top countries and devices, over the same period so the rows add up to the total. Without tags it only returns the tags the account uses (etiquetasDisponibles), to choose from. Pro plan (also during the 14-day trial).

NameRequiredDescriptionDefault
daysNoDays to look back. Default 30.
tagsNoTags to compare, e.g. ["table-1","table-2"]. Omit to list the available tags.

TDQS

A4/5.0
Behavior4/5

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

Beyond readOnlyHint/openWorldHint, the description discloses the paywall (Pro plan or 14-day trial), the aggregation contract ('rows add up to the total' because all rows share the same period), and the no-tags fallback return shape. These are real behavioral facts an agent cannot infer from annotations or schema.

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?

Front-loaded with the primary action, then the fallback mode, then the plan constraint — a sensible priority order with little waste. The single long sentence with nested parentheticals is dense and slightly harder to parse than necessary.

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

Completeness5/5

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

No output schema exists, yet the description names the per-row metrics (people, QR scans, bots separated, top countries/devices) and the degenerate no-tag return, plus the access prerequisite. An agent has enough to decide, call, and anticipate the response.

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% and the schema already explains both parameters, including the omit-to-list-tags behavior. The description adds a real-world framing for tags and implies the period applies uniformly to all rows, but adds no syntax, limits, or format detail beyond the schema.

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?

Specific verb (compare) plus resource (links carrying tags) and a concrete enumeration of what is reported per row: people, QR scans, bots apart, top countries and devices. It clearly is an analytics/comparison tool, but it never names get_analytics, the sibling an agent would most plausibly confuse it with.

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?

Gives a clear usage context (one QR per table, shop window or flyer) and an explicit fallback mode: omitting tags returns only the account's available tags, so the tool can be used to discover valid tag values. It also states the prerequisite (paid plan, including trial). It stops short of explicit exclusions versus get_analytics.

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

get_analyticsGet click analyticsA
Read-only
Inspect

Click analytics by people (bots reported apart): totals, daily series, countries, devices, browsers, referrers and top links. On Pro (and the trial) also aiTraffic (visits from AI assistants such as ChatGPT or Perplexity, with their share and breakdown), cities (top 10 with their country) and QR scans; on Free those fields are null. For the whole account, or for one link with code. The plan caps how far back you can look (Free 30 days, Pro 365).

NameRequiredDescriptionDefault
codeNoOptional: only this link (its short code or alias).
daysNoDays to look back. Default 30.
tagsNoOptional: only the links that carry at least one of these tags (e.g. ["table-1","table-2"]).

TDQS

A4.4/5.0
Behavior5/5

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

With only readOnlyHint/openWorldHint in annotations, the description carries real behavioral weight: it discloses that individual entries exclude bots, that aiTraffic/cities/QR scans are Pro-and-trial-only and come back null on Free, and that plan caps bound the lookback window. Those are exactly the caveats an agent needs to interpret results correctly.

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?

Two sentences, front-loaded with the returned metrics, then the plan-gated exceptions. Every clause carries information; parentheses are used to pack qualifiers rather than pad.

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

Completeness5/5

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

No output schema exists, so the description must convey return shape, and it does by enumerating the metric groups and the fields that may be null. Combined with the plan-cap rules, an agent has enough to call it and interpret the response.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: it explains that omitting code means whole-account scope and that the maximum value of days is plan-dependent rather than a flat 365. It does not mention the tags filter at all, leaving that parameter to the schema alone.

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?

States a specific resource (click analytics) and enumerates exactly what comes back: totals, daily series, countries, devices, browsers, referrers, top links. It also scopes to account-wide vs single-link and flags bot separation. It does not explicitly contrast with the analytics-adjacent sibling compare_tags, so it stops short of a 5.

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?

Clear usage context: omit code for the whole account, pass code for one link, and the plan determines how far back days can reach (Free 30, Pro 365). It never names alternatives or exclusion conditions (e.g., when to prefer compare_tags), so no explicit routing guidance.

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. 4 tool updates
    • Addedcompare_tags
    • Changedcreate_link2 fields changed
      • changedInput schema / properties / alias / description
        Previous value: -"Optional custom alias (letters, numbers, - and _; max 20). Pro plan only (also during the 14-day trial): on Free, omit it and the link gets a random code."New value: +"Optional custom alias (letters, numbers, - and _; max 20 characters, never truncated: a longer one is rejected). Pro plan only (also during the 14-day trial): on Free, omit it and the link gets a random code."
      • addedInput schema / properties / alias / maxLength
        Added value: +20
    • Changedget_analytics1 field changed
      • addedInput schema / properties / tags
        Added value: +{
        +  "description": "Optional: only the links that carry at least one of these tags (e.g. [\"table-1\",\"table-2\"]).",
        +  "items": {
        +    "maxLength": 30,
        +    "pattern": "^[^,]{1,30}$",
        +    "type": "string"
        +  },
        +  "maxItems": 10,
        +  "type": "array"
        +}
    • Changedupdate_link1 field changed
      • addedInput schema / properties / tags
        Added value: +{
        +  "description": "The COMPLETE list of tags the link keeps (it replaces the current one); [] removes them all. Adding a tag the link did not have is Pro (also during the trial); removing is always allowed.",
        +  "items": {
        +    "maxLength": 30,
        +    "pattern": "^[^,]{1,30}$",
        +    "type": "string"
        +  },
        +  "maxItems": 10,
        +  "type": "array"
        +}
  2. 3 tool updates
    • Changedcreate_link6 fields changed
      • addedInput schema / properties / active_from
        Added value: +{
        +  "description": "Optional. Pro plan. ISO 8601 date-time (e.g. 2026-11-03T09:00:00-05:00): before it the link does not redirect and shows \"this link becomes active on …\".",
        +  "maxLength": 40,
        +  "type": "string"
        +}
      • changedInput schema / properties / alias / description
        Previous value: -"Optional custom alias (letters, numbers, - and _; max 20)."New value: +"Optional custom alias (letters, numbers, - and _; max 20). Pro plan only (also during the 14-day trial): on Free, omit it and the link gets a random code."
      • addedInput schema / properties / max_clicks
        Added value: +{
        +  "description": "Optional. Pro plan. The link stops working after this many people (bots are not counted). Approximate at the boundary under simultaneous clicks.",
        +  "maximum": 1000000,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / tags
        Added value: +{
        +  "description": "Optional tags to group links, e.g. [\"table-1\",\"instagram\"] (max 10, up to 30 characters each; letters, numbers, - and _; stored lowercase). Adding tags is Pro (also during the 14-day trial).",
        +  "items": {
        +    "maxLength": 30,
        +    "pattern": "^[^,]{1,30}$",
        +    "type": "string"
        +  },
        +  "maxItems": 10,
        +  "type": "array"
        +}
      • addedInput schema / properties / time_zone
        Added value: +{
        +  "description": "Optional IANA time zone (e.g. America/Lima) used to write the activation date to visitors. Default UTC.",
        +  "maxLength": 64,
        +  "type": "string"
        +}
      • addedInput schema / properties / unavailable_page
        Added value: +{
        +  "description": "Optional. Pro plan. What visitors see when the link is expired, past max_clicks or not active yet. {\"modo\":\"neutra\"} = the neutral L1NK page (default); {\"modo\":\"url\",\"url\":\"https://...\"} = redirect to that fallback URL; {\"modo\":\"mensaje\",\"mensaje\":\"...\"} = a short message of yours (max 200 characters). Shown on the same host, custom domains included.",
        +  "type": "object"
        +}
    • Changedlist_links1 field changed
      • addedInput schema / properties / tags
        Added value: +{
        +  "description": "Optional: only links with at least one of these tags (e.g. [\"mesa-1\",\"mesa-2\"]).",
        +  "items": {
        +    "maxLength": 30,
        +    "pattern": "^[^,]{1,30}$",
        +    "type": "string"
        +  },
        +  "maxItems": 10,
        +  "type": "array"
        +}
    • Changedupdate_link6 fields changed
      • addedInput schema / properties / active_from
        Added value: +{
        +  "description": "Optional. Pro plan. ISO 8601 date-time (e.g. 2026-11-03T09:00:00-05:00): before it the link does not redirect and shows \"this link becomes active on …\".",
        +  "maxLength": 40,
        +  "type": "string"
        +}
      • addedInput schema / properties / max_clicks
        Added value: +{
        +  "description": "Optional. Pro plan. The link stops working after this many people (bots are not counted). Approximate at the boundary under simultaneous clicks.",
        +  "maximum": 1000000,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / remove_active_from
        Added value: +{
        +  "description": "true to remove the activation date (the link works right away).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / remove_max_clicks
        Added value: +{
        +  "description": "true to remove the click limit.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / time_zone
        Added value: +{
        +  "description": "Optional IANA time zone (e.g. America/Lima) used to write the activation date to visitors. Default UTC.",
        +  "maxLength": 64,
        +  "type": "string"
        +}
      • addedInput schema / properties / unavailable_page
        Added value: +{
        +  "description": "Optional. Pro plan. What visitors see when the link is expired, past max_clicks or not active yet. {\"modo\":\"neutra\"} = the neutral L1NK page (default); {\"modo\":\"url\",\"url\":\"https://...\"} = redirect to that fallback URL; {\"modo\":\"mensaje\",\"mensaje\":\"...\"} = a short message of yours (max 200 characters). Shown on the same host, custom domains included.",
        +  "type": "object"
        +}
  3. 1 tool update
    • Changedcreate_link1 field changed
      • changedInput schema / properties / domain / description
        Previous value: -"Optional custom domain of the account to put the link on, e.g. go.mybrand.com. It must be active."New value: +"Optional domain the user owns and has connected to L1NK (Pro plan only), to put the link on, e.g. go.mybrand.com. It must be active."
  4. 1 tool update
    • Changedupdate_link2 fields changed
      • addedInput schema / properties / remove_rules
        Added value: +{
        +  "description": "true to remove the destination rules (the link goes back to a single URL).",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / rules
        Added value: +{
        +  "description": "Destination rules, Pro plan. Shape: {\"version\":1, \"condiciones\":[{\"si\":{\"pais\":[\"PE\"],\"dispositivo\":[\"ios\"]},\"destino\":\"https://...\"}], \"rotacion\":{\"destinos\":[{\"url\":\"https://wa.me/51...\",\"peso\":1}]}}. Conditions are checked in order (pais = ISO country codes; dispositivo = movil, tablet, escritorio, ios, android); the first match wins. Otherwise rotacion takes turns among 2-10 URLs by weight (peso 1-100, default 1). Otherwise the link URL. Bots always get the link URL. Replaces any previous rules.",
        +  "type": "object"
        +}
  5. 1 tool update
    • Changedcreate_link2 fields changed
      • addedInput schema / properties / domain
        Added value: +{
        +  "description": "Optional custom domain of the account to put the link on, e.g. go.mybrand.com. It must be active.",
        +  "maxLength": 253,
        +  "pattern": "^[a-zA-Z0-9.-]+$",
        +  "type": "string"
        +}
      • changedInput schema / properties / domain_id / description
        Previous value: -"Optional id of a verified custom domain of the account."New value: +"Optional id of a verified custom domain (use domain instead)."
  6. 1 tool update
    • Changedget_analytics1 field changed
      • addedInput schema / properties / code
        Added value: +{
        +  "description": "Optional: only this link (its short code or alias).",
        +  "pattern": "^[a-zA-Z0-9_-]{1,64}$",
        +  "type": "string"
        +}
  7. 6 tool updates
    • First observedcreate_link
    • First observeddelete_link
    • First observedget_analytics
    • First observedget_link
    • First observedlist_links
    • First observedupdate_link

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables 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
  • F
    license
    Not graded
    quality
    D
    maintenance
    User can create short urls, edit short urls, get click analytics, generate qr codes and much more.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables users to shorten links, bulk create URLs, generate QR codes, manage and disable links, and retrieve click analytics from MCP clients like Claude, ChatGPT, Cursor, and n8n.
    9
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to create, update, and organize short links, read click statistics, run pre-campaign launch checks, and check link health and URL safety. Also supports generating QR codes, building bio pages, and managing campaigns, UTM presets, and A/B tests.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources