Cuttly MCP by usefulapi
Server Details
Shorten links with Cuttly, read click stats, and edit, expire, redirect or delete short links.
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 97.1% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 6 tools
Each tool targets a distinct operation: create, delete, stats, update, device redirect, and expiration. The only mild ambiguity is that cuttly_update_link is a general editor (alias/destination/title/tag) while the device-redirect and expiration tools are specialized editors, so an agent might over-reach for update_link. Descriptions do clarify the boundaries well.
All six tools use the consistent cuttly_ prefix followed by a verb_noun pattern (delete_link, get_link_stats, set_device_redirect, set_link_expiration, shorten_link, update_link). The only variation is the domain verb 'shorten' instead of 'create', which is still predictable and readable.
Six tools is a sensible, well-scoped set for a URL shortener covering the main operations. It is slightly thin—no listing or link-metadata retrieval—but nothing is bloated or redundant.
The surface covers create (shorten), read stats, update, delete, plus device redirect and expiration, giving solid lifecycle coverage. Gaps remain around listing all links or fetching a single link's metadata (only aggregate stats are exposed), which agents would have to work around.
Available Tools
6 toolscuttly_delete_linkDelete linkADestructiveInspect
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
| Name | Required | Description | Default |
|---|---|---|---|
| link | Yes | The Cuttly short link, e.g. https://cutt.ly/abc123 (or a link on your branded domain). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, readOnlyHint=false. The description adds valuable context beyond annotations: irreversibility, that statistics are also deleted, that links become error pages, that Cuttly cannot restore, no retry behavior, and plan requirement. Strong addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the critical warning (WRITE, IRREVERSIBLE) and is reasonably concise. The raw API URL at the end is somewhat extraneous for an agent but not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a destructive one-parameter tool: covers irreversibility, confirmation requirement, plan gating, and retry semantics. No output schema exists but none is needed given the irreversible delete nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema fully documents the single 'link' parameter with example. The description does not add format details beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (permanently delete a short link and its statistics) and specifes the blast radius. Clearly distinct from siblings like update_link or set_link_expiration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context: requires user confirmation of the exact link, and needs the Single plan or higher. Does not name alternatives (e.g., update_link to disable instead of delete), but provides strong preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cuttly_get_link_statsGet link statsARead-onlyInspect
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=...
| Name | Required | Description | Default |
|---|---|---|---|
| link | Yes | The Cuttly short link, e.g. https://cutt.ly/abc123 (or a link on your branded domain). | |
| date_to | No | End of the range (Team plan and up). May be used alone. | |
| date_from | No | Start of the range (Team plan and up). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint and destructiveHint=false, so safety is covered. The description still adds non-obvious behavior: plan-gated date filtering, the per-call quota, and the underlying GET endpoint — useful operational context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded: the resource and the returned dimensions come first, then the plan/quota constraints, then the endpoint. The long enumeration of dimensions is dense but each item conveys an actual returned field, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so by listing the stat categories returned (sources, referrers, countries, devices, OS, browsers, brands, languages). It does not describe the response envelope or error cases, which is the main remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (link, date_from, date_to) are already documented, including the exact date pattern and the Team-plan restriction. The description's mention of the date-range plan requirement duplicates the schema rather than extending it, landing at the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Click statistics of one short link') and enumerates exactly which breakdowns are returned, so the agent knows the shape of the result before calling. It is clearly distinguishable from the five sibling tools, all of which are mutating link operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Adds real selection context: the date-range filter requires the Team plan or higher, and one call counts against a Free-plan limit of 3 per 60 seconds. It does not explicitly name an alternative tool, but since it is the only read/stats operation among its siblings, the routing is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cuttly_set_device_redirectSet device redirectADestructiveIdempotentInspect
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=...
| Name | Required | Description | Default |
|---|---|---|---|
| link | Yes | The Cuttly short link, e.g. https://cutt.ly/abc123 (or a link on your branded domain). | |
| remove | No | true = remove the rule of this device type (then do not pass a destination). | |
| platform | Yes | Device type. 'redirect' = every other device. | |
| destination | No | URL or deep link for that device type. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real behavioral context beyond annotations: the 'WRITE:' prefix, the plan requirement, and notably 'The call is sent once and never retried', which tells the agent there is no automatic retry. Annotations already cover readOnly/destructive/idempotent, so this is a valuable addition rather than a repeat.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the operation type and destination concept, then layers in edge cases and prerequisites. Dense but each sentence carries information; the trailing raw endpoint URL is slightly extraneous but harmless.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema the description need not cover returns, and it supplies the mutation semantics, prerequisites, and removal path an agent needs. Knowledge of edge behavior like per-device rule overlap is implied rather than fully spelled out, keeping it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description clarifies the remove/destination mutual exclusivity and restates the 'redirect' platform meaning, but both of these are already present in the schema descriptions, so it adds little beyond structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('send visitors ... to another destination') and resource (device redirect rules), and even names the WRITE nature up front. The purpose is unambiguous and distinguishable from siblings like shorten_link or update_link, though it never explicitly names which sibling handles related-but-different work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete when-to-use guidance: 'Set remove: true instead of a destination to delete the rule' explains the deletion case, and 'Needs the Single plan or higher' states a prerequisite. It does not compare against siblings, so it falls short of explicit alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cuttly_set_link_expirationSet link expirationADestructiveIdempotentInspect
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=...
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Expiration date (mode 'date'). | |
| link | Yes | The Cuttly short link, e.g. https://cutt.ly/abc123 (or a link on your branded domain). | |
| mode | Yes | 'clicks' = expire after `clicks` clicks, 'date' = expire on `date`, 'none' = remove the expiration. | |
| clicks | No | Click threshold (mode 'clicks'). | |
| redirect_url | No | Where visitors go after the link expired. | |
| count_unique_clicks | No | Count only unique clicks toward a click threshold. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructive=true and idempotent=true, so the description leans on real added context: the plan entitlement gate, the post-expiration redirect behavior, and the operational note that 'the call is sent once and never retried'. It stops short of rate limits or a rollback/reversibility statement, but the retry and entitlement details are genuinely beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Six sentences, front-loaded with the WRITE label and the core action, then prerequisites and mode behavior. The trailing raw 'GET https://cutt.ly/api/api.php?edit=...&expire=...' is arguably noise for an agent choosing a tool, but it is short and the rest is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema, the description supplies the safety-relevant context an agent needs: entitlement requirement, non-retry guidance, and what happens to visitors after expiry. Return-value details are absent, but with no output schema declared that is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter including the mode enum, date pattern, and click bounds is already documented. The description restates mode semantics ('none' removes an existing expiration) without adding new syntax or format detail, which is the expected baseline when the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with an explicit 'WRITE:' marker and states a specific verb+resource: 'set or remove the expiration of a short link'. The scope (clicks or date based expiration, with an optional post-expiration redirect) is unambiguous and clearly separated from the other link-management siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete preconditions (needs the Single plan or higher) and clarifies that mode 'none' removes an existing expiration rather than creating one. It does not explicitly route the agent between this tool and cuttly_update_link for overlapping edits, which is the only missing piece.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cuttly_shorten_linkShorten linkAInspect
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=...
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The long URL to shorten (full http or https URL). | |
| alias | No | Custom alias (back-half), e.g. 'spring-sale'. Fails if it is taken. | |
| public_stats | No | Make the click statistics of this link readable through the API without the owner's key (Single plan and up). | |
| use_branded_domain | No | Use the active branded domain of the account instead of cutt.ly (any paid plan). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing that each call consumes the monthly link quota, gives concrete per-plan rate limits (Free 3/60s, Starter 6, Single 60), and states the call is sent once and never retried. Alias-collision failure behavior and the return payload are also described, which is rich, decision-relevant context for a non-idempotent write.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The write marker, purpose and limits are front-loaded and the content is dense but useful. The trailing 'GET https://cutt.ly/api/api.php?short=...' fragment is an incomplete, low-value URL snippet that slightly muddies an otherwise tight description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly covers return values (short link, full link, page title), quota and rate-limit behavior. The only shortfall is the dangling endpoint fragment and no guidance on how this tool relates to cuttly_update_link for an existing link.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents url, alias, public_stats and use_branded_domain. The description only reinforces the alias concept ('the part after the slash') and adds no syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('create a Cuttly short link for a long URL') plus the optional custom alias. The verb 'create/shorten' cleanly separates it from the sibling mutation tool cuttly_update_link and the read tools (stats), so an agent can route without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'WRITE:' prefix and the quota/rate-limit notes imply when the tool is applicable, but there is no explicit when-not or named alternative (e.g. 'use cuttly_update_link to change an existing link instead of creating a new one'). Usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cuttly_update_linkUpdate linkADestructiveIdempotentInspect
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=...
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | A tag to add to the link. | |
| link | Yes | The Cuttly short link, e.g. https://cutt.ly/abc123 (or a link on your branded domain). | |
| title | No | New link title. | |
| new_alias | No | New alias. The old short link stops working. Fails if the alias is taken. | |
| destination_url | No | New destination URL the short link redirects to. | |
| unique_clicks_minutes | No | Unique-click counting: 0 = off, 1 = 15-minute window (Single plan), 15-1440 = custom window in minutes (Team plan and up). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing consequences the hints cannot convey: alias changes break the old short link, destination changes redirect all visitors immediately, the plan gate, that no previous values are returned, and that the call is never retried. This is exactly the destructive-operation context an agent needs before mutating a live link.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the WRITE marker and the affected resource, then layers optionality, side effects, plan gate, and safety caution in tight sentences with no filler. Every clause carries decision-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter destructive mutation with no output schema, the description covers the mutation semantics, plan constraints, irreversible side effects, and even the return-value expectation ('sends no previous values back'). Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is already 100%, so baseline is 3, but the description adds real semantic weight beyond the schema: the alias side effect ('old short link stops working'), the instantaneous global redirect behavior, and the instruction to send only changed fields. The unique-click window semantics remain schema-only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with an explicit verb and resource ('WRITE: change a short link') and enumerates exactly which fields are mutable (alias, destination URL, title, tag, unique-click window). This is distinguishable from siblings like cuttly_delete_link or cuttly_set_link_expiration, which target different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear operating conditions: 'Send only what you want to change,' the Single-plan requirement for editing, and a caution to 'ask the user before you change a live link.' It does not explicitly name a sibling alternative or exclusion, so it stops short of full when/when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Related MCP Connectors
Short links, QR codes, link and website analytics: create and edit links, read clicks and visitors.
Short links with QR, custom domains and bot-free click analytics. Create, edit, delete, analyze.
Create and manage short links, track clicks, and automate URL management
Create and manage short links and QR codes, and read click analytics, on your own domain.
Related MCP Servers
FlicenseNot gradedqualityDmaintenanceUser can create short urls, edit short urls, get click analytics, generate qr codes and much more.-- AlicenseAqualityBmaintenanceEnables users to shorten links, bulk create URLs, generate QR codes, manage and disable links, and retrieve click analytics from MCP clients like Claude, ChatGPT, Cursor, and n8n.9MIT

esyURL MCP serverofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents to create, update, organize, and delete short links; render styled QR codes; route visitors by device or country; and read click and scan statistics. Agents can also manage groups and custom domains while changing destinations without breaking printed QR codes or shared short URLs.MIT- AlicenseAqualityDmaintenanceEnables 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.66 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.