Skip to main content
Glama

RelayLink

Manage a document (some actions irreversible)

attachment_manage
DestructiveIdempotent

Act on a document. action is one of: archive, unarchive (put away or bring back, private, reversible), cancel (give up a pending upload or a multi-part document that is still being assembled — frees the pending slot it was holding), trash_private, restore_private (a private, never-shared, ready document only), remove_my_access (a recipient gives up their own copy — affects only this account), request_retire (stop a document everywhere, for every recipient — irreversible), or request_revoke_share (end one recipient's access, named by grantId). The two request_ actions answer CONFIRM NEEDED and do nothing until the user's own explicit yes through confirm_intent.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "versionId": "<versionId>",
      "action": "<action>"
    },
    "name": "attachment_manage"
  }
}

Input Schema

NameRequiredDescriptionDefault
actionYesarchive | unarchive | cancel | trash_private | restore_private | remove_my_access | request_retire | request_revoke_share.
grantIdNoRequired for request_revoke_share: the grant to end, from attachment_read or the portal.
versionIdYesThe version_id to act on.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations declare destructiveHint=true and idempotentHint=true, but the description goes well beyond them: it distinguishes reversible actions (archive/unarchive, cancel) from irreversible ones (request_retire), explains scope (remove_my_access affects only this account; request_retire stops the document everywhere), notes that cancel frees the pending slot, and discloses the CONFIRM NEEDED / confirm_intent gate for the two request_ actions. That is genuinely decision-relevant behavior an agent could not infer from the structured fields.

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?

Two sentences, front-loaded with the action enumeration, and every parenthetical carries real meaning (reversibility, preconditions, scope). The first sentence is extremely long and dense for a single reading, which keeps it from a 5.

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 eight-action mutation tool with no output schema, the description covers reversibility, preconditions, scope, and the confirmation flow. It omits what a successful call returns or what errors look like, so the agent must infer post-call state changes.

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 the schema already documents versionId, grantId, and the action enumeration. The description reinforces the coupling ('end one recipient's access, named by grantId') but adds no format, sourcing, or validation 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.

Purpose4/5

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

The header verb 'Act on a document' is weak, but the description immediately enumerates all eight concrete actions (archive, cancel, trash_private, request_retire, request_revoke_share, etc.), which is effectively a precise statement of what the tool does. It does not name sibling tools like attachment_read or attachment_upload_link, so differentiation from the attachment family is left implicit.

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?

Each action carries the condition that selects it: 'restore_private (a private, never-shared, ready document only)', 'cancel ... a pending upload or multi-part document', 'remove_my_access ... affects only this account'. This is close to a when-to-use matrix. It stops short of naming alternatives outside the tool (e.g., cancel_draft, attachment_read for grantId), so it is not a 5.

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