Skip to main content
Glama
Fino-wind

Vaultbeat MCP Server

Add to note

log_note_append

Append a symptom, mood, or event to a day's note without erasing prior entries. Keeps every update while preserving existing text, ideal for recording symptoms as they occur.

Instructions

Add a line to a day's note WITHOUT erasing what is already there (agent write).

There is one note per (kind, day). This tool appends your text to it on a new line and cannot delete what is already written.

USE THIS FOR SYMPTOMS. Discomfort arrives in installments across a day — nausea at noon, dizziness at night — so the second write of the day is the normal case, not the exception. log_note would replace the morning's entry with the evening's.

Reach for log_note ONLY when you intend your text to become the note's ENTIRE contents and whatever is there now to be deleted (e.g. correcting something you yourself wrote a minute ago).

kind="general" for day events worth joining against sleep/HRV later, kind="mood" for emotional state. (sleep/menstrual notes stay iOS-authored — this tool refuses them.) date = LOCAL calendar day "YYYY-MM-DD" (default today). Read back via get_notes.

The result is the same shape log_note returns. replaced_text is always null here — that null is the receipt that this call deleted nothing. Encrypted end-to-end before it ever leaves this machine.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNo
kindNogeneral
textYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.8.1

TDQS

A4.9/5.0
Behavior5/5

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

Annotations are sparse (all flat false hints), so the description carries the burden and fully delivers: it discloses append-only semantics, the inability to delete existing content, refusal of sleep/menstrual kinds, the always-null replaced_text receipt, end-to-end encryption, and consequence of repeat calls (second write is normal, not an error). This goes well beyond what annotations convey.

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?

Key behavior is front-loaded in the first sentence, and the structure flows from behavior to usage to parameters to return shape. It is somewhat long and the 'nausea at noon, dizziness at night' narrative is illustrative rather than strictly necessary, but every sentence does contribute usage, parameter, or behavioral value, so the length is mostly earned.

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 3-parameter write tool with barren schema (0% coverage), this description is complete: it covers selection (vs log_note), all parameters with formats and defaults, constrained kinds and refusals, return-value semantics via replaced_text, and security. The output schema exists, so not restating the full return shape is appropriate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the schema is just typed titles with no descriptions, so the description must compensate and does: text is the line to append, date is the local calendar day in YYYY-MM-DD with today as default, and kind is fully documented with 'general' and 'mood' semantics plus the refused values. Every parameter is meaningfully explained.

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?

The description names a specific verb and resource ('Add a line to a day's note') and immediately states the critical distinguishing scope: it appends WITHOUT erasing existing content. It explicitly contrasts with the sibling log_note and even names the exact condition under which log_note is the right choice, so an agent can disambiguate 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?

Gives explicit when-to-use guidance ('USE THIS FOR SYMPTOMS'), explains the recurring-write rationale with a concrete example, and states when NOT to use it (use log_note only when the text should become the entire note). It also enumerates allowed kind values and notes which kinds are refused, leaving nothing to inference.

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