Skip to main content
Glama

write_note

Destructive

Atomically create or overwrite a note in a vault. Pass expected_hash for safe overwrites; omit it only when creating a new note.

Instructions

Atomically create or overwrite a note. Requires write_enabled=true. Use expected_hash for safe overwrites (read the note first, pass its hash). Omit expected_hash only when creating a new note.

Input Schema

NameRequiredDescriptionDefault
pathYes
vaultYes
contentYes
client_idNo
frontmatterNo
expected_hashNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0-rc.5

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the safety profile is known; the description adds what annotations cannot, namely atomicity and the write_enabled=true permission gate. It stops short of 5 because it does not say what happens to existing frontmatter or content on overwrite.

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?

Three short sentences, front-loaded with the action and scope, with each remaining sentence carrying a distinct rule (permission gate, safe-overwrite pattern, create case). No filler.

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 write tool with no output schema, it covers the critical operational facts: permission requirement, atomicity, and hash-based concurrency safety, while annotations cover the destructive/idempotency profile. The gap is the undocumented frontmatter and client_id parameters and their effect on overwrite.

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 0% for 6 parameters, so the description must compensate. It adds real meaning for expected_hash (read the note, pass its hash) and implies content/path/vault usage, but leaves frontmatter and client_id completely unexplained.

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?

States a specific verb and resource ('Atomically create or overwrite a note'), which clearly separates it from read_note, delete_note and update_frontmatter. It does not explicitly name a sibling or a boundary case, so it stops short of the top band.

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?

Gives an explicit prerequisite (write_enabled=true) and a precise when/when-not rule for the risky mode: use expected_hash for overwrites by reading first, omit it only when creating a new note. An agent can pick the correct call pattern without inference.

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