Skip to main content
Glama
elkinegor

linkbit-mcp

by elkinegor

linkbit-mcp

MCP server for LinkBit: shorten links, bulk create, QR codes, and click analytics from Claude, ChatGPT, Cursor, and n8n.

Public docs: linkbit.live/docs · linkbit.live/mcp

Setup

  1. Sign in at linkbit.live and create an API key (slk_...).

  2. Node.js 18+ is required (fetch).

APP_URL=https://linkbit.live
API_KEY=slk_your_key

Auth against the REST API uses either Authorization: Bearer slk_... or x-api-key: slk_.... This server sends Bearer.

Related MCP server: Clypt MCP Server

Install

claude mcp add linkbit -e API_KEY=slk_your_key -e APP_URL=https://linkbit.live -- npx -y linkbit-mcp

Claude Desktop / Cursor (mcp.json):

{
  "mcpServers": {
    "linkbit": {
      "command": "npx",
      "args": ["-y", "linkbit-mcp"],
      "env": {
        "APP_URL": "https://linkbit.live",
        "API_KEY": "slk_your_key"
      }
    }
  }
}

Until the npm package is visible in your environment, npx -y github:elkinegor/linkbit-mcp works the same.

Example prompts

  • Shorten https://example.com/campaign as slug spring and utm_source newsletter

  • List my links and show clicks for the first id since 2026-01-01

  • Disable link <id> then generate a print PNG QR

Tools

Tool

Parameters

Notes

shorten_url

destination (required), slug, note, utm_source, utm_medium, utm_campaign, utm_term, utm_content

Existing utm_* on the URL are not overwritten; #fragment is kept

shorten_urls

urls[] with the same fields

Bulk create

list_links

—

Newest first

update_link

id, optional destination/slug/note/UTM/disabled

PATCH

disable_link

id, optional disabled (default true)

Stops redirects. destructiveHint: true

delete_link

id

Permanent. destructiveHint: true

get_qr

id, format png|svg, color, logo, print

Binary as base64

get_link_stats

id, optional from, to (YYYY-MM-DD)

Countries, devices, referrers, daily

get_analytics

—

Account overview

Errors

  • 401 — API key missing or wrong (slk_...). Create a key under API Keys.

  • 400 — invalid URL, slug taken, daily create limit, blocked or unsafe destination.

  • 404 — unknown link id.

  • Process fails at start if Node is older than 18 (fetch is required).

n8n, Make, and custom agents can also call /api/v1 with the same headers.

Available Tools

9 tools
get_analyticsC
Read-only

Account-level analytics overview.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds only the word 'account-level' and nothing about what data is aggregated, freshness, or cost of the call, so it contributes little beyond structured fields.

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

Conciseness3/5

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

It is a single four-word fragment with zero waste, but it is under-specified rather than truly concise — there is no front-loaded verb telling the agent what action is performed.

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

Completeness3/5

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

The tool is simple (no params, no output schema, no nesting) and annotations carry the safety profile, so not much is required. Still, with no output schema the description should hint at what 'analytics overview' returns, and it does not.

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?

The tool takes zero parameters, so per the rubric the baseline is 4; there is no parameter syntax for the description to document or omit.

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

Purpose3/5

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

Names the resource (analytics) and its scope (account-level), which implicitly distinguishes it from the sibling get_link_stats (link-level). However, it is a bare noun phrase with no verb, so it never states what the tool actually does with the analytics (fetch? summarize? export?).

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?

No when-to-use guidance, no prerequisites, and no mention of the sibling get_link_stats as the link-scoped alternative. The agent must infer the account-vs-link split entirely from the title.

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

get_qrC
Read-only

Download a QR code for a link. format=png|svg, optional color, logo, print.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
logoNo
colorNo
printNo
formatNo

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing about behavior beyond that: no mention of whether it returns a binary image vs a URL, whether the QR is persisted, or any permission requirements.

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?

Highly compact and front-loaded — action first, then parameter hints. The telegraphic style ('optional color, logo, print') is efficient but slightly clipped, bordering on note-form rather than a sentence.

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?

With five parameters at 0% schema coverage and no output schema, the description should do more. It never explains the required id, the color value format, what logo/print actually toggle, or what the response looks like (image bytes? URL?), leaving real gaps for a download tool.

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 0%, so the description must carry parameter meaning, and it does partially: it gives format values (png|svg) and names the optional color, logo, and print flags. However, the required 'id' parameter is never explained, color format (hex? name?) is unspecified, and the semantics of the boolean logo/print flags are not described.

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 verb and resource: 'Download a QR code for a link.' An agent can immediately tell this is a QR-generation/retrieval tool, distinct from sibling link-management tools. No sibling does anything similar, though the description doesn't say that explicitly.

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?

No when-to-use guidance, no prerequisites, no mention of alternatives. Usage is only implied by the phrase 'for a link' and the id parameter. An agent must infer that this is called when a user wants a QR image for an existing link.

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

shorten_urlB

Create a short URL. Optional UTM fields are merged without overwriting existing utm_* params.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
slugNo
utm_termNo
utm_mediumNo
utm_sourceNo
destinationYes
utm_contentNo
utm_campaignNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=true, so the write nature is covered. The description adds genuine value beyond that by disclosing UTM merge semantics ('merged without overwriting existing utm_* params'), a non-obvious behavior. It does not cover slug collision handling, required auth, or error 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?

Two short sentences with no filler, and the core action is front-loaded ahead of the secondary merge detail. Every sentence earns its place.

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 an 8-parameter creation tool with no output schema and no parameter descriptions, the description is too thin. It omits the meaning of required and key optional parameters, conflict/error behavior, and any indication of what the response contains.

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

Parameters2/5

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

With 8 parameters and 0% schema description coverage, the description carries the full burden, yet it only touches the utm_* family generically. The required 'destination', plus 'slug' and 'note', are never explained, so the agent must guess whether slug is custom or auto-generated and what note is for.

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 first sentence states a specific verb and resource ('Create a short URL'), which is unambiguous. It does not, however, differentiate from the sibling shorten_urls (plural), leaving the agent to infer that this one creates a single link.

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 guidance on when to use this tool versus shorten_urls or the other link-management siblings. The second sentence describes merge behavior, not usage context or prerequisites, so an agent gets no routing help.

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

shorten_urlsC

Bulk-create short URLs. Each item may include slug and utm_* fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYes

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=true, so the write/non-destructive profile is covered. Beyond that the description adds no behavioral context: no maximum batch size, no behavior for duplicate slugs, no note on what happens on partial failure, and no output information (no 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.

Conciseness4/5

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

Two short front-loaded sentences with no filler; the core action is stated first and the parameter hint second. The brevity comes at the cost of detail, but the structure itself is clean.

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 bulk mutation tool with a nested item object, no output schema, and 0% schema coverage, the description omits critical call-time information: the required destination field, batch limits, and failure semantics. It is not sufficient for an agent to invoke this confidently.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, and it only partially does. It names 'slug' and the 'utm_*' fields, but omits 'destination' — the sole required field in each item — and gives no format hints for slug or the array structure.

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 verb and resource ('Bulk-create short URLs'), and the word 'Bulk' implicitly separates it from the singular shorten_url sibling. It does not name the sibling outright, but an agent can infer the distinction from the plural name and 'Bulk' qualifier.

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

Usage Guidelines3/5

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

The word 'Bulk' implies this is the tool for multiple URLs while shorten_url handles one, but the description never states when to prefer this over the sibling, whether there is a batch-size limit, or whether partial failures are tolerated. Usage is only implied, not guided.

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 updatesv1.0.0
    • First observeddelete_link
    • First observeddisable_link
    • First observedget_analytics
    • First observedget_link_stats
    • First observedget_qr
    • First observedlist_links
    • First observedshorten_url
    • First observedshorten_urls
    • First observedupdate_link

TDQS

A3.5/5.0

Scored across 9 tools

Disambiguation4/5

Most tools have clearly distinct resource+action targets. The main overlap is disable_link versus update_link (which already accepts a disabled flag), and get_link_stats versus get_analytics share a stats purpose though one is per-link and one is account-level.

Naming Consistency5/5

Consistent snake_case verb_noun pattern throughout: shorten_url, list_links, update_link, disable_link, delete_link, get_qr, get_link_stats, get_analytics. The singular/plural distinction (shorten_url vs shorten_urls) is a reasonable, predictable convention.

Tool Count5/5

Nine tools is well-scoped for a URL shortener, covering creation, management, and analytics without bloat. Each tool earns its place.

Completeness5/5

Full lifecycle is covered: single/bulk create, list, update, disable/re-enable, delete, plus QR generation and both link-level and account-level analytics. No obvious gaps for the stated domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to create, manage, and analyze short URLs through complete URL shortening functionality. Supports batch operations, custom domains, click statistics, and comprehensive link management.
    6
    3 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Connects AI assistants to the Clypt Link Intelligence platform to shorten URLs, manage tags, and generate QR codes. It enables users to view link analytics and perform bulk link operations through natural language commands.
    60 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to create and manage short URLs via the MCP protocol, with OAuth authentication through Cloudflare Access.
    29
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to shorten URLs, manage links, and track click analytics through 8 first-class tools, designed for use with Claude Desktop, Cursor, and other MCP clients.
    9
    52 npm
    MIT