Skip to main content
Glama
strait-link

Strait MCP server

Official
by strait-link

Update a link

update_link
DestructiveIdempotent

Change a link's destination, title, tags, or expiry, or pause and reactivate it. Omit confirm to preview current and proposed values; set confirm true to apply changes.

Instructions

Change a link: its destination, title, tags or expiry, or turn it off or back on with isActive. People who tap the link afterwards get the change, so this needs confirm: true. Without it nothing changes: you get a preview of the current and proposed values to show the user first. null clears expiresAt / expiredAction / expiredUrl. isActive is sent on its own: false pauses the link (taps get the "link not found" page), true turns a paused link back on (taps follow within about 30 seconds). A link disabled for breaking the acceptable use policy cannot be turned back on, and if another active link now uses the slug, pause or rename that one first.

Input Schema

NameRequiredDescriptionDefault
slugYesThe link's slug: the part after the link domain, e.g. `summer` in https://hilltop.strait.link/summer
tagsNo
titleNo
confirmNotrue to apply the change; omit or false to preview it
longUrlNo
isActiveNoAlone: false pauses the link, true turns a paused link back on
expiresAtNo
expiredUrlNo
expiredActionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.1

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses behavior well beyond the annotations: the preview-vs-apply contract, that taps follow within ~30 seconds, that paused links serve a 'link not found' page, that AUP-disabled links are permanently un-reactivatable, and that null clears expiry fields. These are consequence details an agent could not infer from destructiveHint/idempotentHint alone.

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?

Front-loaded with the verb and affected fields, and nearly every sentence carries a distinct operational rule. It reads as one dense run-on paragraph, so the confirm/preview rule and the isActive rule are harder to scan than a short structured list would be.

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 an 9-parameter mutation tool with no output schema and no annotation detail, this covers nearly everything needed: preview behavior, null semantics, propagation delay, and failure modes. Minor gaps remain on merge-vs-replace semantics for tags/title and whether changing longUrl triggers revalidation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema coverage at only 33%, the description compensates by defining the tri-state semantics of confirm (apply vs preview), the meaning of null for expiresAt/expiredAction/expiredUrl, and the exclusivity rule for isActive. None of these semantics are stated in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource ('Change a link') and immediately enumerates the mutable surface: destination, title, tags, expiry, and active state. It is clearly a mutation tool, but it never distinguishes itself from the sibling pause_link / resume_link / deactivate_link tools that overlap with its isActive behavior.

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 strong conditional guidance inside the tool: confirm: true applies the change, omitting it yields a preview to show the user first, and it names preconditions such as renaming or pausing a conflicting active link. It stops short of routing the agent to pause_link/resume_link for the simple active-state cases those siblings exist for.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.