Skip to main content
Glama

Cuttly MCP by usefulapi

Set link expiration

cuttly_set_link_expiration
DestructiveIdempotent

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

Input Schema

NameRequiredDescriptionDefault
dateNoExpiration date (mode 'date').
linkYesThe Cuttly short link, e.g. https://cutt.ly/abc123 (or a link on your branded domain).
modeYes'clicks' = expire after `clicks` clicks, 'date' = expire on `date`, 'none' = remove the expiration.
clicksNoClick threshold (mode 'clicks').
redirect_urlNoWhere visitors go after the link expired.
count_unique_clicksNoCount only unique clicks toward a click threshold.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.