Skip to main content
Glama

Update a note

kb_update_note
Destructive

Change an existing note. Address it by id or exact title. Pass only what changes. Set append=true to add the given body below what is already there — the natural 'add this to my notes' path — otherwise the body is replaced. An optional reminder schedules one future Telegram bot message to the owner; new schedules share the standalone creation allowance and may return entitlement_required; null cancels it. Completing or changing a task to another type cancels its pending reminder.

Input Schema

NameRequiredDescriptionDefault
idNoNote id.
bodyNoNew body, or text to append.
tagsNoReplace the tag list.
typeNoPage type. Existing pages keep their type if omitted. Only tasks support attached reminders. Standalone reminders use create_reminder.
titleNoCurrent exact title (to find it), or the new title.
appendNoAppend body instead of replacing it.
reminderNoOnly with user authorization: schedule one Telegram bot DM to the account owner. Null cancels; omitted preserves the existing reminder. Never infer a reminder from a task or date alone.
task_statusNoTask status. Completing a task cancels its pending reminder.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / type / description
      Previous value: -"Page type. Existing pages keep their type if omitted. Only tasks support reminders (Plus or Unlimited)."New value: +"Page type. Existing pages keep their type if omitted. Only tasks support attached reminders. Standalone reminders use create_reminder."
  2. Changed1 schema field changed
    • changedInput schema / properties / type / description
      Previous value: -"Page type. Existing pages keep their type if omitted. Only tasks support reminders."New value: +"Page type. Existing pages keep their type if omitted. Only tasks support reminders (Plus or Unlimited)."
  3. Changed3 schema fields changed
    • addedInput schema / properties / reminder
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "at": {
      +          "description": "Exact future ISO 8601 time with Z or UTC offset. Ask if the intended time or timezone is unclear.",
      +          "type": "string"
      +        },
      +        "text": {
      +          "description": "The specific reminder text authorized by the user, in their language.",
      +          "maxLength": 1500,
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "timezone": {
      +          "description": "User-confirmed IANA timezone, for example Europe/Samara.",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "at",
      +        "timezone",
      +        "text"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Only with user authorization: schedule one Telegram bot DM to the account owner. Null cancels; omitted preserves the existing reminder. Never infer a reminder from a task or date alone."
      +}
    • addedInput schema / properties / task_status
      Added value: +{
      +  "description": "Task status. Completing a task cancels its pending reminder.",
      +  "enum": [
      +    "open",
      +    "done"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / type
      Added value: +{
      +  "description": "Page type. Existing pages keep their type if omitted. Only tasks support reminders.",
      +  "enum": [
      +    "note",
      +    "project",
      +    "person",
      +    "task"
      +  ],
      +  "type": "string"
      +}
  4. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses that omitted body is destroyed/replaced unless append=true, that reminders are one-shot Telegram DMs requiring user authorization, that new schedules consume the standalone creation allowance and may return entitlement_required, and that completing or retyping a task cancels its pending reminder. This is exactly the destructive and side-effect context destructiveHint=true only hints at.

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?

Five tightly packed sentences, front-loaded with the core action and addressee before the append, reminder, and task caveats. Dense but every sentence carries operational information; only the "natural 'add this to my notes' path" phrasing is decorative.

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 an 8-parameter, zero-required, nested-reminder mutation with no output schema, the description covers the destructive default, the reminder lifecycle, and entitlement failure mode. Minor gaps remain: no guidance on failure/ambiguity handling (e.g., duplicate titles) or what a successful update returns, though the latter is arguably outside its scope.

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 coverage is 100%, so the baseline is 3, but the description adds real meaning: the append/replace dichotomy for body, id-vs-exact-title addressing, and the null-cancels / omitted-preserves distinction plus reminder cancellation on task completion. It stops short of covering tag replacement semantics or required reminder fields, which the schema already handles.

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 ("Change an existing note") and immediately specifies addressing by id or exact title, which distinguishes it from kb_create_note and kb_get_note. It also names the task/reminder interaction, so the agent can tell this mutation apart from create_reminder and cancel_reminder.

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?

Explicitly explains append=true as the "add this to my notes" path versus default body replacement, and routes standalone reminders to create_reminder. It does not explicitly say when to prefer kb_create_note for new notes or how to disambiguate a title that matches multiple notes, but context is otherwise clear.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources