Skip to main content
Glama

Create or replace a hand-written note

brain_write
DestructiveIdempotent

Create or replace hand-maintained Markdown notes under Notes/ or Captures/ at a chosen path; set type, project, topics, and summary for hubs, guides, and runbooks.

Instructions

Create a note at a path you choose under Notes/ or Captures/, or replace one there with overwrite=true. Use it for hubs, guides and runbooks maintained by hand. Unlike brain_capture you set the type, including 'hub': a hub groups every note whose frontmatter project matches its title. Generated notes elsewhere in the vault cannot be written.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYesMarkdown body, without frontmatter or the # title heading
pathYesVault path, e.g. 'Notes/Harbor Ledger.md'
typeNonote, hub, moc, guide, runbook, plan, decision, ...note
orderNoPosition among Notes/ guides on Start Here
titleYes
topicsNoConcept names, e.g. ['OAuth', 'RAG']
projectNoHub this note belongs to, e.g. 'Harbor Ledger'
summaryNoOne line; Start Here shows it next to Notes/ guides
overwriteNoReplace the note if the path already exists

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations declare destructiveHint=true and idempotentHint=true; the description adds real value by disclosing the path constraint and the overwrite=true condition that triggers replacement. Does not mention permission requirements or what a failed overwrite returns, but covers the destructive surface adequately.

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 sentences, front-loaded with the create/replace action, then constraints and the sibling differentiation. 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 9-param mutation with destructive and idempotent annotations and a rich schema, the description covers scope, the hub behavior, the overwrite path, and the sibling boundary. It leaves return-value and permission specifics unstated, but the schema and annotations carry those.

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 coverage is 89%, so the schema already documents all nine parameters including the overwrite and type semantics. Description reinforces the overwrite condition but adds no syntax or format detail beyond the schema. Baseline 3 is appropriate.

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 specific verb (create/replace), resource (note), and the constrained location (under Notes/ or Captures/). Explicitly distinguishes from sibling brain_capture by noting who sets the type, and rules out generated vault notes.

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?

Names the alternative (brain_capture) and the condition selecting this tool: hand-written hubs, guides, runbooks. Also states an explicit exclusion ('Generated notes elsewhere in the vault cannot be written').

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