Skip to main content
Glama

Move a note section

move_note_section
Destructive

Preview or commit moving one H2-H6 subtree under another heading in a Markdown note, preserving bytes and history while verifying hashes before writing.

Instructions

Use this to preview an exact single-note H2-H6 subtree move to an existing heading's final child position. Both headings must exist; no releveling. Requires expected_hash. Default confirm=false returns selection coordinates and before/projected hashes without writing; confirm=true commits with durable history and index reconciliation. Preserves all text and frontmatter bytes; mixed EOLs, unsafe boundaries and invalid child hierarchy are refused. AST selectors support ATX/Setext and ignore fences. Duplicate titles require the respective level and 1-based occurrence. Use a stable request_id when committing for durable replay receipts.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
confirmNo
headingYes
rel_pathYes
request_idNo
expected_hashYes
heading_levelNo
destination_levelNo
heading_occurrenceNo
destination_headingYes
destination_occurrenceNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
indexedNo
rel_pathNo
replayedNo
committedNo
selectionNo
before_hashNo
content_hashNo
operation_idNo
projected_hashNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.10

TDQS

A4.5/5.0
Behavior5/5

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

Annotations declare mutation (readOnlyHint=false), destructiveness, and non-idempotency, and the description adds substantial context beyond them: preview returns selection coordinates and before/projected hashes without writing, confirm commits with durable history and index reconciliation, bytes/frontmatter are preserved, and mixed EOLs, unsafe boundaries, and invalid child hierarchy are refused. This is rich behavioral disclosure.

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-loaded with the core purpose, then flows into preview/commit behavior and constraints with little waste. It is dense and slightly packed, but nearly every sentence carries distinct information.

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 10-parameter destructive mutation with an output schema present, the description covers preview vs commit, hashing, occurrence disambiguation, and refusal conditions. It omits what rel_path means and what happens on a hash mismatch, leaving minor gaps.

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 description coverage is 0%, so the description must carry the load, and it does for most params: expected_hash is required, confirm defaults to false, request_id is for durable replay receipts, and heading_level/occurrence and destination_level/occurrence resolve duplicate titles with 1-based occurrence. Only rel_path is left unexplained, keeping it from a 5.

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 with precise scope: 'preview an exact single-note H2-H6 subtree move to an existing heading's final child position.' This clearly distinguishes it from siblings like rename_note_section, delete_note_section, and patch_note_section without needing to open any schema.

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?

Gives clear when-to-use context: default confirm=false for preview, confirm=true to commit, and request_id for durable replay when committing. It does not name sibling alternatives (e.g., patch_note_section vs this) or state exclusions, so it falls short of a 5.

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