ShareCut QR & Short Links

Short links you can re-point after printing the QR, with click analytics. Free QR, no key.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
93%
Naming quality
95%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,011Tokens (tool definitions)
~1.2 KBTypical response size
Moderate attention impact (1.57% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "sharecut-mcp": {
      "command": "npx",
      "args": [
        "sharecut-mcp"
      ]
    }
  }
}

Runnable packages

npmsharecut-mcp1.1.0stdio

Remote endpoints

https://sharecut.site/mcpstreamable-http

What it can do

Tool inventory

Tools (12)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟑create_qr(data, format, color)

FREE, no API key needed. Render any URL or text as a QR code and return it as SVG, optionally also as a PNG data URL. This QR is STATIC: its destination is baked in and cannot be changed once printed. If the destination might ever change, use shorten_url instead β€” that QR points at a ShareCut short link, stays editable after printing (see update_link) and counts every scan.

Input Schema

{
  "type": "object",
  "properties": {
    "data": {
      "type": "string",
      "description": "URL or text to encode, up to 2000 characters."
    },
    "format": {
      "type": "string",
      "enum": [
        "png"
      ],
      "description": "Also return a PNG data URL alongside the SVG."
    },
    "color": {
      "type": "string",
      "description": "Foreground colour as a hex value, e.g. #2563eb. Background is always white."
    }
  },
  "required": [
    "data"
  ]
}
βšͺexpand_short_link(shortCode)

FREE, no API key needed. Look up where a sharecut.site short link actually goes, and how many times it has been used, without opening it. Useful before following or forwarding a link someone sent. Only resolves ShareCut links.

Input Schema

{
  "type": "object",
  "properties": {
    "shortCode": {
      "type": "string",
      "description": "The short code, or a full https://sharecut.site/... URL."
    }
  },
  "required": [
    "shortCode"
  ]
}
🟒check_short_code(code)

FREE, no API key needed. Check whether a custom short code is still free before trying to claim it with shorten_url. Codes are lowercase letters, digits and hyphens, up to 10 characters.

Input Schema

{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "The custom code to test, e.g. \"spring26\"."
    }
  },
  "required": [
    "code"
  ]
}
🟑shorten_url(url, customCode, title, utm)

Create a ShareCut short link for a URL and get a matching QR code. Unlike a static QR, this one points at the short link, so update_link can change where it goes after it has been printed, and every scan is counted (country, device, referrer). Destinations are screened with Google Safe Browsing. Requires a ShareCut API key (Business plan).

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The http(s) destination to shorten."
    },
    "customCode": {
      "type": "string",
      "description": "Optional custom short code: lowercase letters, digits and hyphens, up to 10 characters. Fails if already taken β€” check_short_code tests one first."
    },
    "title": {
      "type": "string",
      "description": "Optional label for the link, shown in the owner dashboard. Not visible to visitors."
    },
    "utm": {
      "type": "object",
      "description": "Optional UTM parameters appended to the destination at redirect time: source, medium, campaign, term, content. The stored destination stays clean.",
      "properties": {
        "source": {
          "type": "string"
        },
        "medium": {
          "type": "string"
        },
        "campaign": {
          "type": "string"
        },
        "term": {
          "type": "string"
        },
        "content": {
          "type": "string"
        }
      }
    }
  },
  "required": [
    "url"
  ]
}
🟑shorten_urls_bulk(links)

Create up to 25 short links in one call. Each entry takes the same fields as shorten_url. Failures are reported per item, so one bad URL does not discard the rest. Requires a ShareCut API key (Business plan).

Input Schema

{
  "type": "object",
  "properties": {
    "links": {
      "type": "array",
      "maxItems": 25,
      "description": "The links to create.",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The http(s) destination to shorten."
          },
          "customCode": {
            "type": "string",
            "description": "Optional custom short code."
          },
          "title": {
            "type": "string",
            "description": "Optional label."
          }
        },
        "required": [
          "url"
        ]
      }
    }
  },
  "required": [
    "links"
  ]
}
🟒list_links(limit, offset, type, q, sort)

List the links on the account the API key belongs to: short links, link-in-bio pages and restaurant menus, with their click counts. Filter by type or by a search term, and sort by newest or by most clicked. Requires a ShareCut API key (Business plan).

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "How many to return. Default 20."
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "description": "How many to skip, for paging. Default 0."
    },
    "type": {
      "type": "string",
      "enum": [
        "short",
        "linktree",
        "menu"
      ],
      "description": "Only links of this kind."
    },
    "q": {
      "type": "string",
      "description": "Match against short code, title, description and destination."
    },
    "sort": {
      "type": "string",
      "enum": [
        "created",
        "clicks"
      ],
      "description": "Newest first (default) or most clicked first."
    }
  }
}
🟒get_link(link)

Read one link on the account: its destination, title, click count, creation date and UTM settings. Requires a ShareCut API key (Business plan).

Input Schema

{
  "type": "object",
  "properties": {
    "link": {
      "type": "string",
      "description": "The link, given either as its short code (the part after sharecut.site/) or as the id returned when it was created. A full ShareCut URL is accepted too."
    }
  },
  "required": [
    "link"
  ]
}
🟑update_link(link, url, title, description, utm)

Re-point an existing short link at a new destination, or change its title, description or UTM parameters. This is what makes a printed QR code reusable: the code encodes the short link, so changing the destination redirects every copy already printed, shared or stuck on a wall, and the click history is kept. The new destination is screened with Google Safe Browsing. The short code itself never changes here, because changing it would break every copy already out there. Requires a ShareCut API key (Business plan).

Input Schema

{
  "type": "object",
  "properties": {
    "link": {
      "type": "string",
      "description": "The link, given either as its short code (the part after sharecut.site/) or as the id returned when it was created. A full ShareCut URL is accepted too."
    },
    "url": {
      "type": "string",
      "description": "The new http(s) destination. Short links only β€” a menu or link-in-bio page has no single destination."
    },
    "title": {
      "type": "string",
      "description": "New label for the owner dashboard."
    },
    "description": {
      "type": "string",
      "description": "New description."
    },
    "utm": {
      "type": "object",
      "description": "UTM parameters appended at redirect time. Pass an empty object to switch UTM tracking off.",
      "properties": {
        "source": {
          "type": "string"
        },
        "medium": {
          "type": "string"
        },
        "campaign": {
          "type": "string"
        },
        "term": {
          "type": "string"
        },
        "content": {
          "type": "string"
        }
      }
    }
  },
  "required": [
    "link"
  ]
}
🟒get_link_analytics(link, days)

Read the click analytics of one link: total clicks, a daily series, and breakdowns by country, device, operating system, browser and referrer. Requires a ShareCut API key (Business plan).

Input Schema

{
  "type": "object",
  "properties": {
    "link": {
      "type": "string",
      "description": "The link, given either as its short code (the part after sharecut.site/) or as the id returned when it was created. A full ShareCut URL is accepted too."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 365,
      "description": "How many days of the daily series to return. Default 30."
    }
  },
  "required": [
    "link"
  ]
}
🟑get_link_qr(link, style, format, color)

Fetch the QR code for an existing link, ready to print. Returns the artwork saved on the link when there is one (frames, colours and logo set in the ShareCut editor), otherwise renders a plain code for its short URL. Requires a ShareCut API key (Business plan).

Input Schema

{
  "type": "object",
  "properties": {
    "link": {
      "type": "string",
      "description": "The link, given either as its short code (the part after sharecut.site/) or as the id returned when it was created. A full ShareCut URL is accepted too."
    },
    "style": {
      "type": "string",
      "enum": [
        "stored",
        "plain"
      ],
      "description": "Saved artwork if any (default), or force a plain black-and-white code."
    },
    "format": {
      "type": "string",
      "enum": [
        "png"
      ],
      "description": "Also return a PNG data URL. Applies when a plain code is rendered."
    },
    "color": {
      "type": "string",
      "description": "Foreground hex colour for a plain code, e.g. #2563eb."
    }
  },
  "required": [
    "link"
  ]
}
πŸ”΄delete_link(link, confirm)

Permanently delete a link and its click history. Every QR code and shared copy pointing at it stops working immediately, and the short code is released. There is no undo. Prefer update_link when the goal is to send the link somewhere else. Requires a ShareCut API key (Business plan).

Input Schema

{
  "type": "object",
  "properties": {
    "link": {
      "type": "string",
      "description": "The link, given either as its short code (the part after sharecut.site/) or as the id returned when it was created. A full ShareCut URL is accepted too."
    },
    "confirm": {
      "type": "boolean",
      "description": "Must be true. Deletion is permanent and breaks every printed copy."
    }
  },
  "required": [
    "link",
    "confirm"
  ]
}
🟒get_account

Read the plan behind the API key, what it entitles, how much of this month’s API quota is left and when it resets, plus how many links the account holds and their total clicks. Worth calling before a bulk run. Requires a ShareCut API key (Business plan).

Input Schema

{
  "type": "object",
  "properties": {}
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded12 tools
verifiedversion not recorded12 tools
verifiedversion not recorded12 tools