Skip to main content
Glama

save_source

DestructiveIdempotent

Saves source documents from email, Notion, Drive, Slack, or the web with a permanent link to the original so you can keep the full text and replace duplicates by URL.

Instructions

Save a document from another app or the web (email, Notion or Drive page, Slack thread, article) with a permanent link to the original. Use this instead of capture when the content has a link. Pass the text as read, not a summary; never bulk-copy an inbox or channel. It is a snapshot: Wenlan does not fetch or sync the original; saving the same url replaces it.

Input Schema

NameRequiredDescriptionDefault
urlYesPermanent http(s) link to the original: the Gmail message, Notion or Drive page, Slack permalink, issue, or article URL. It identifies the source, so saving the same link again replaces the saved copy. Never invent a link.
spaceNoTopic scope to file the source under. The default Space applies when omitted.
titleYesTitle of the original (email subject, page or thread title).
contentYesThe original text as you read it, in full or the part worth keeping, as plain text or Markdown. Not your summary.
create_onlyNotrue refuses to save when this link is already saved, instead of replacing the saved copy.
source_labelNoWhere it came from, lowercase: gmail, notion, drive, slack, github, web, or the app's name.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.19.3

TDQS

A4.7/5.0
Behavior4/5

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

Goes beyond the annotations by explaining the actual replacement semantics ('saving the same url replaces it') and that no fetching or syncing happens ('it is a snapshot; Wenlan does not fetch or sync the original'), which concretizes the destructive/idempotent hints. It does not mention permissions, failure modes, or what the call returns, so it stops short of fully rich behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening sentence defines the tool and its scope, then the sibling routing rule, then the content rule, then the behavioral caveat — each sentence carries distinct information with no repetition. Nothing is padded.

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?

For a six-parameter write tool with no output schema, the definition covers what it does, what to feed it, how duplicates behave, and what it explicitly does not do (fetch/sync). The remaining gaps (return value shape, permissions) are minor and largely carried by annotations and the 100%-covered schema.

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 100%, so the baseline is 3; the description adds meaningful emphasis on content semantics ('the original text as you read it... Not your summary') and reinforces the url-is-identity rule. It says nothing extra about space, create_only, or source_label beyond the schema, limiting it to a modest lift.

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?

States a specific verb and resource ('Save a document') plus the concrete source types it covers (email, Notion/Drive page, Slack thread, article). It also names the sibling it competes with ('use this instead of capture when the content has a link'), so an agent can pick between them without opening either schema.

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?

Explicit routing rule versus the alternative ('instead of capture when the content has a link'), an exclusion ('never bulk-copy an inbox or channel'), and a content-quality rule ('pass the text as read, not a summary'). Both when-to-use and when-not-to-use are stated.

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