Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,548Letters: 14Defects: 1,324counted 1 min ago
teppi

Server definition

Hash
sha256:4c87165bb4b43a20c1f0a11cdd4cee8f98c82f19df22b69533868fca8db2c2cf
What it is
What a remote MCP server returned when asked what it offers: 12 tools

The blob, as servednamed by its sha256

{ "instructions": "ShareCut creates and manages trackable short links, QR codes, link-in-bio pages and restaurant menus. Three tools need no key at all: create_qr for a one-off static code, expand_short_link to see where a ShareCut link goes, check_short_code to test a custom code. The rest work on the account behind a ShareCut API key (Business plan), passed as an Authorization: Bearer header. The distinctive one is update_link: a ShareCut QR encodes the short link rather than the destination, so re-pointing a link redirects every copy already printed, keeping its click history. Reach for shorten_url whenever a destination might change after printing, or when scans need to be counted.", "tools": [ { "description": "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.", "inputSchema": { "properties": { "code": { "description": "The custom code to test, e.g. \"spring26\".", "type": "string" } }, "required": [ "code" ], "type": "object" }, "name": "check_short_code", "outputSchema": null }, { "description": "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.", "inputSchema": { "properties": { "color": { "description": "Foreground colour as a hex value, e.g. #2563eb. Background is always white.", "type": "string" }, "data": { "description": "URL or text to encode, up to 2000 characters.", "type": "string" }, "format": { "description": "Also return a PNG data URL alongside the SVG.", "enum": [ "png" ], "type": "string" } }, "required": [ "data" ], "type": "object" }, "name": "create_qr", "outputSchema": null }, { "description": "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).", "inputSchema": { "properties": { "confirm": { "description": "Must be true. Deletion is permanent and breaks every printed copy.", "type": "boolean" }, "link": { "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.", "type": "string" } }, "required": [ "link", "confirm" ], "type": "object" }, "name": "delete_link", "outputSchema": null }, { "description": "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.", "inputSchema": { "properties": { "shortCode": { "description": "The short code, or a full https://sharecut.site/... URL.", "type": "string" } }, "required": [ "shortCode" ], "type": "object" }, "name": "expand_short_link", "outputSchema": null }, { "description": "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).", "inputSchema": { "properties": {}, "type": "object" }, "name": "get_account", "outputSchema": null }, { "description": "Read one link on the account: its destination, title, click count, creation date and UTM settings. Requires a ShareCut API key (Business plan).", "inputSchema": { "properties": { "link": { "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.", "type": "string" } }, "required": [ "link" ], "type": "object" }, "name": "get_link", "outputSchema": null }, { "description": "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).", "inputSchema": { "properties": { "days": { "description": "How many days of the daily series to return. Default 30.", "maximum": 365, "minimum": 1, "type": "integer" }, "link": { "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.", "type": "string" } }, "required": [ "link" ], "type": "object" }, "name": "get_link_analytics", "outputSchema": null }, { "description": "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).", "inputSchema": { "properties": { "color": { "description": "Foreground hex colour for a plain code, e.g. #2563eb.", "type": "string" }, "format": { "description": "Also return a PNG data URL. Applies when a plain code is rendered.", "enum": [ "png" ], "type": "string" }, "link": { "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.", "type": "string" }, "style": { "description": "Saved artwork if any (default), or force a plain black-and-white code.", "enum": [ "stored", "plain" ], "type": "string" } }, "required": [ "link" ], "type": "object" }, "name": "get_link_qr", "outputSchema": null }, { "description": "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).", "inputSchema": { "properties": { "limit": { "description": "How many to return. Default 20.", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "How many to skip, for paging. Default 0.", "minimum": 0, "type": "integer" }, "q": { "description": "Match against short code, title, description and destination.", "type": "string" }, "sort": { "description": "Newest first (default) or most clicked first.", "enum": [ "created", "clicks" ], "type": "string" }, "type": { "description": "Only links of this kind.", "enum": [ "short", "linktree", "menu" ], "type": "string" } }, "type": "object" }, "name": "list_links", "outputSchema": null }, { "description": "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).", "inputSchema": { "properties": { "customCode": { "description": "Optional custom short code: lowercase letters, digits and hyphens, up to 10 characters. Fails if already taken — check_short_code tests one first.", "type": "string" }, "title": { "description": "Optional label for the link, shown in the owner dashboard. Not visible to visitors.", "type": "string" }, "url": { "description": "The http(s) destination to shorten.", "type": "string" }, "utm": { "description": "Optional UTM parameters appended to the destination at redirect time: source, medium, campaign, term, content. The stored destination stays clean.", "properties": { "campaign": { "type": "string" }, "content": { "type": "string" }, "medium": { "type": "string" }, "source": { "type": "string" }, "term": { "type": "string" } }, "type": "object" } }, "required": [ "url" ], "type": "object" }, "name": "shorten_url", "outputSchema": null }, { "description": "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).", "inputSchema": { "properties": { "links": { "description": "The links to create.", "items": { "properties": { "customCode": { "description": "Optional custom short code.", "type": "string" }, "title": { "description": "Optional label.", "type": "string" }, "url": { "description": "The http(s) destination to shorten.", "type": "string" } }, "required": [ "url" ], "type": "object" }, "maxItems": 25, "type": "array" } }, "required": [ "links" ], "type": "object" }, "name": "shorten_urls_bulk", "outputSchema": null }, { "description": "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).", "inputSchema": { "properties": { "description": { "description": "New description.", "type": "string" }, "link": { "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.", "type": "string" }, "title": { "description": "New label for the owner dashboard.", "type": "string" }, "url": { "description": "The new http(s) destination. Short links only — a menu or link-in-bio page has no single destination.", "type": "string" }, "utm": { "description": "UTM parameters appended at redirect time. Pass an empty object to switch UTM tracking off.", "properties": { "campaign": { "type": "string" }, "content": { "type": "string" }, "medium": { "type": "string" }, "source": { "type": "string" }, "term": { "type": "string" } }, "type": "object" } }, "required": [ "link" ], "type": "object" }, "name": "update_link", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:4c87165bb4b43a20c1f0a11cdd4cee8f98c82f19df22b69533868fca8db2c2cf | sha256sum