_ registry / mcp streamable-http · checked 1h ago

cuttly-mcp

https://cuttly.usefulapi.io

Registry code: 01cc5b5b0927ad05

api record

Tools for Cuttly, hosted by usefulapi.io. Read-only tools never change data; ask the user before a tool that creates, changes or deletes Cuttly data. Free plan: 100 tool calls per month. Run cuttly_usage_status to see the calls used this month. If the user asks for something none of these tools can do, tell the user and, with their OK, run cuttly_request_feature to record the request. Pro (unlimited calls, $9/month or $90/year): when the user wants more calls or reaches the limit, run cuttly_upgrade; it returns a Stripe Checkout link for the user to open. cuttly_cancel_subscription cancels…

endpoint
https://cuttly.usefulapi.io/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is cuttly-mcp live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is cuttly-mcp free to use?
No — it asks for a key or a login before it will serve.
What tools does cuttly-mcp have?
6 tools: cuttly_delete_link, cuttly_shorten_link, cuttly_update_link, cuttly_set_link_expiration, cuttly_set_device_redirect, cuttly_get_link_stats.
Is cuttly-mcp safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
239ms

last good check

priced tools
0

of 6 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 6 tools
1 auth-required 5 never probed 1 of 6 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • cuttly_get_link_stats auth-required 1h ago

    Click statistics of one short link: total clicks, clicks by source (Facebook, Twitter, LinkedIn, other, bots), top referrers, countries, device types, operating systems, browsers, device brands and languages. The date range filter needs the Team plan or higher. Counts as one API call (Free plan 3 per 60 seconds). GET https://cutt.ly/api/api.php?stats=...

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "link"
      ],
      "properties": {
        "link": {
          "type": "string",
          "maxLength": 2048,
          "minLength": 1,
          "description": "The Cuttly short link, e.g. https://cutt.ly/abc123 (or a link on your branded domain)."
        },
        "date_to": {
          "type": "string",
          "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
          "description": "End of the range (Team plan and up). May be used alone."
        },
        "date_from": {
          "type": "string",
          "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
          "description": "Start of the range (Team plan and up)."
        }
      }
    }
    arguments 25 lines
  • cuttly_delete_link unknown never probed

    WRITE, IRREVERSIBLE: permanently delete a short link and its statistics. Anyone who opens the short link afterwards gets an error, and Cuttly cannot restore it. Ask the user to confirm the exact link before you call this. Needs the Single plan or higher. The call is sent once and never retried. GET https://cutt.ly/api/api.php?edit=...&delete=1

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "link"
      ],
      "properties": {
        "link": {
          "type": "string",
          "maxLength": 2048,
          "minLength": 1,
          "description": "The Cuttly short link, e.g. https://cutt.ly/abc123 (or a link on your branded domain)."
        }
      }
    }
    arguments 15 lines
  • cuttly_shorten_link unknown never probed

    WRITE: create a Cuttly short link for a long URL, optionally with a custom alias (the part after the slash). Returns the short link, the full link and the page title. It counts against the monthly link limit of the plan. Cuttly rate limit: Free 3 calls per 60 seconds, Starter 6, Single 60. The call is sent once and never retried. GET https://cutt.ly/api/api.php?short=...

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "url"
      ],
      "properties": {
        "url": {
          "type": "string",
          "maxLength": 2048,
          "minLength": 1,
          "description": "The long URL to shorten (full http or https URL)."
        },
        "alias": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "Custom alias (back-half), e.g. 'spring-sale'. Fails if it is taken."
        },
        "public_stats": {
          "type": "boolean",
          "description": "Make the click statistics of this link readable through the API without the owner's key (Single plan and up)."
        },
        "use_branded_domain": {
          "type": "boolean",
          "description": "Use the active branded domain of the account instead of cutt.ly (any paid plan)."
        }
      }
    }
    arguments 29 lines
  • cuttly_update_link unknown never probed

    WRITE: change a short link: its alias, destination URL, title, tag or unique-click window. Send only what you want to change. Changing the alias makes the old short link stop working; changing the destination redirects every visitor to the new URL at once. Link editing needs the Single plan or higher. Cuttly sends no previous values back, so ask the user before you change a live link. The call is sent once and never retried. GET https://cutt.ly/api/api.php?edit=...

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "link"
      ],
      "properties": {
        "tag": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "A tag to add to the link."
        },
        "link": {
          "type": "string",
          "maxLength": 2048,
          "minLength": 1,
          "description": "The Cuttly short link, e.g. https://cutt.ly/abc123 (or a link on your branded domain)."
        },
        "title": {
          "type": "string",
          "maxLength": 250,
          "minLength": 1,
          "description": "New link title."
        },
        "new_alias": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "New alias. The old short link stops working. Fails if the alias is taken."
        },
        "destination_url": {
          "type": "string",
          "maxLength": 2048,
          "minLength": 1,
          "description": "New destination URL the short link redirects to."
        },
        "unique_clicks_minutes": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Unique-click counting: 0 = off, 1 = 15-minute window (Single plan), 15-1440 = custom window in minutes (Team plan and up)."
        }
      }
    }
    arguments 45 lines
  • cuttly_set_link_expiration unknown never probed

    WRITE: set or remove the expiration of a short link. The link expires after a number of clicks or on a date, and can then redirect to another URL. mode 'none' removes an existing expiration. Needs the Single plan or higher. The call is sent once and never retried. GET https://cutt.ly/api/api.php?edit=...&expire=...

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "link",
        "mode"
      ],
      "properties": {
        "date": {
          "type": "string",
          "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
          "description": "Expiration date (mode 'date')."
        },
        "link": {
          "type": "string",
          "maxLength": 2048,
          "minLength": 1,
          "description": "The Cuttly short link, e.g. https://cutt.ly/abc123 (or a link on your branded domain)."
        },
        "mode": {
          "enum": [
            "clicks",
            "date",
            "none"
          ],
          "type": "string",
          "description": "'clicks' = expire after `clicks` clicks, 'date' = expire on `date`, 'none' = remove the expiration."
        },
        "clicks": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 1,
          "description": "Click threshold (mode 'clicks')."
        },
        "redirect_url": {
          "type": "string",
          "maxLength": 2048,
          "minLength": 1,
          "description": "Where visitors go after the link expired."
        },
        "count_unique_clicks": {
          "type": "boolean",
          "description": "Count only unique clicks toward a click threshold."
        }
      }
    }
    arguments 46 lines
  • cuttly_set_device_redirect unknown never probed

    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=...

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "link",
        "platform"
      ],
      "properties": {
        "link": {
          "type": "string",
          "maxLength": 2048,
          "minLength": 1,
          "description": "The Cuttly short link, e.g. https://cutt.ly/abc123 (or a link on your branded domain)."
        },
        "remove": {
          "type": "boolean",
          "description": "true = remove the rule of this device type (then do not pass a destination)."
        },
        "platform": {
          "enum": [
            "android",
            "ios",
            "windowsMobile",
            "redirect"
          ],
          "type": "string",
          "description": "Device type. 'redirect' = every other device."
        },
        "destination": {
          "type": "string",
          "maxLength": 2048,
          "minLength": 1,
          "description": "URL or deep link for that device type."
        }
      }
    }
    arguments 36 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 01cc5b5b0927ad05.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/01cc5b5b0927ad05/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/01cc5b5b0927ad05/badge.svg)](https://brick.blue/agent/01cc5b5b0927ad05?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.

_ also on usefulapi.io 132 entries

Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.

124 more sit on this domain. All of them.