Skip to main content
Glama

Change a page's custom links

set_custom_links
DestructiveIdempotent

Saves the WHOLE list of custom links at once. Send every link the page should keep, with the id list_custom_links gave it; a link left out is removed, and its address stops opening what it did, even where it was already printed or shared. Pointing an existing link at a different block keeps its address, which is how a printed link is kept current. A link opens a block from list_custom_links targets (only blocks on the published page, so put_page first), or the page itself with blockId null. Takes effect at once, with no page publish.

Input Schema

NameRequiredDescriptionDefault
linksYes
businessYesThe page handle, as it appears in keepp.link/<handle>.

Output Schema

NameRequiredDescriptionDefault
limitYesHow many custom links the page's plan allows.
linksYes
targetsYesBlocks on the published page a link can open.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already flag destructiveHint and idempotentHint, but the description adds the consequence detail annotations cannot convey: omitted links are deleted and their addresses stop resolving even where already printed or shared. It also discloses that changes take effect immediately without a page publish, and that re-pointing a link preserves its address.

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-loads the whole-list semantics before the mechanics, and each sentence carries non-obvious information. The printed-link explanation is slightly redundant with the earlier omission warning, and the prose is dense enough to require careful reading.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers prerequisites (put_page, published blocks), destructive consequences, address-preservation behavior, and timing (immediate, no publish). Since an output schema exists, no return-value explanation is needed, leaving nothing material missing for correct invocation.

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

Parameters4/5

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

Schema coverage is only 50%, and the description compensates well for the most consequential parameter by explaining that `links` is a whole-list replacement, where `id` comes from, and what null `blockId` means. It says nothing about the `business` handle parameter, but that is documented in the schema, so the gap is minor.

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 a specific verb+resource plus the critical scope qualifier: 'Saves the WHOLE list of custom links at once.' That immediately distinguishes it from the sibling list_custom_links and signals replacement rather than incremental update.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: get ids from list_custom_links, get valid targets from its `targets` output, and call put_page first because only blocks on the published page qualify. It also states when to use null blockId, covering the main decision points an agent faces.

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.

Resources