Skip to content

Cuttly MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.3.4 · published by io.usefulapi

Shorten links with Cuttly, read click stats, and edit, expire, redirect or delete short links.

Deletes · 4Changes · 2

6 tools: 4 can delete or cancel things and 2 change things.

Scanned Oct 22, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http cuttly https://cuttly.usefulapi.io/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "cuttly_get_link_stats" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "cuttly_get_link_stats" says "get": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

6 tools

Deletes or cancels 4Claude Code: deny
  • cuttly_set_device_redirectWRITE: send visitors on one device type to another destination (an app store page or a deep link): Android, iOS or Windows Mobile.Reads text others writeNo findings

    Why it is in this group

    • The name "cuttly_set_device_redirect" says "set": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    WRITE: send visitors on one device type to another destination (an app store page or a deep link): Android, iOS or Windows Mobile. platform 'redirect' sets the destination for all other devices. Set `remove: true` instead of a destination to delete the rule. Needs the Single plan or higher. The call is sent once and never retried. GET https://cutt.ly/api/api.php?edit=...&mobile=...

    Annotations the server declares

    • title: Set device redirect
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
Changes things 2Claude Code: ask

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data.

Reads private data0
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write6
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out1
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Install

Pinned to version 1.3.4. Values in angle brackets are yours to fill in.

claude mcp add --transport http cuttly https://cuttly.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [],
    "ask": [
      "mcp__cuttly__cuttly_shorten_link",
      "mcp__cuttly__cuttly_get_link_stats"
    ],
    "deny": [
      "mcp__cuttly__cuttly_update_link",
      "mcp__cuttly__cuttly_set_link_expiration",
      "mcp__cuttly__cuttly_set_device_redirect",
      "mcp__cuttly__cuttly_delete_link"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as cuttly. Review it before you use it.

Capability tags behind 6 rules
  • mcp__cuttly__cuttly_shorten_link untrusted-input, outbound
  • mcp__cuttly__cuttly_get_link_stats untrusted-input
  • mcp__cuttly__cuttly_update_link untrusted-input
  • mcp__cuttly__cuttly_set_link_expiration untrusted-input
  • mcp__cuttly__cuttly_set_device_redirect untrusted-input
  • mcp__cuttly__cuttly_delete_link untrusted-input