Skip to main content
Glama

notes_append

Idempotent

Append safely encoded plain text to an existing macOS note through macOS Agent Bridge; locked notes may reject access.

Instructions

Append safely encoded plain text to an existing note. Locked notes may reject access. [v1.0.0; permissions: automation:Notes]

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesStable native object ID
textYesPlain text to append
_approvalIdNoID of the exact action approved by a human in the macOS Agent Bridge extension
_idempotencyKeyYesClient-generated unique key, required for writes; reuse only with identical arguments, including while waiting for approval

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes
toolYestool name
errorYes
statusYes
versionYessemantic version

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare the mutation/idempotency/scope profile, and the description adds real value beyond them: it discloses a concrete failure mode ("Locked notes may reject access"), notes that text is safely encoded, and surfaces the required permission scope (automation:Notes). It does not discuss what an append does to note structure or encoding edge cases, keeping it from a 5.

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 tight sentences with the action front-loaded and the failure caveat second; the trailing version/permission bracket is standard metadata. "Safely encoded" is slightly opaque, which costs a point, but there is no padding or repetition.

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?

With an output schema present, return values need no explanation, and annotations plus a 100%-covered schema carry the safety and parameter burden. The description closes the main remaining gap by flagging the locked-note failure mode; only explicit sibling routing is missing.

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 baseline is 3. The description adds only the "plain text" and "safely encoded" framing, which is consistent with but not richer than the schema's own "Plain text to append" description; nothing new about id, idempotency key, or approval id is contributed.

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?

"Append safely encoded plain text to an existing note" gives a specific verb (append) and resource (note), and the phrase "existing note" implicitly separates it from notes_create. It stops short of naming its siblings explicitly, so the differentiation is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this versus notes_create or notes_get, nor any prerequisites beyond a passing mention that locked notes reject access. The agent must infer the routing decision from the tool name alone.

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