Skip to main content
Glama
andreasd083

amazing-marvin-complete-mcp

update_notebook_page

Idempotent

Change a page's text, title, order or section, or move it. text replaces, append adds at the end; '- ' at the start of a line is written as '* '. New text shows up immediately in an open client.

Instructions

Change a page's text, title, order or section, or move it. text replaces, append adds at the end; '- ' at the start of a line is written as '* '. New text shows up immediately in an open client. Move: the section does not follow (sectionId null). The first page of a notebook with a parent is not moved out — it is the parent's note. Moving to a project or category without a notebook creates one in the app's shape. The response says when an order change switches which page the parent's note points to. Relies on undocumented writes (/doc/create and /doc/update, marked experimental by Marvin); the shape is matched against app 1.71.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rankNoNew order (lowest rank = page 1)
textNoNew text (replaces)
titleNoNew title
appendNoText to add at the end (after a blank line)
page_idYesThe page's id (pg_...)
section_idNoSection id, '' = no section
move_to_parent_idNoMove the page to a project's or category's notebook (created if needed)
move_to_notebook_idNoMove the page to this notebook

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.7.3

TDQS

A4.5/5.0
Behavior5/5

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

Adds a great deal beyond the annotations: overwrite-vs-append semantics, markdown rewriting ('- ' becomes '* '), immediate propagation to open clients, the section-not-following rule on move, auto-creation of a notebook when moving to a project/category, and the fact that the response signals parent-note re-pointing. It even discloses reliance on undocumented experimental write endpoints. Note the tension with destructiveHint=false (text replaces existing content) and idempotentHint=true (append is not idempotent), but the description itself discloses these behaviors rather than contradicting them, so the agent is not misled.

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-loads the purpose and labels the move behavior, and the length is defensible for 8 parameters and several edge cases. A few clauses are dense and cryptic (e.g. the sentence about the response signalling an order change), which keeps it from a 5.

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?

Given the parameter count, the move/section complexity, and an existing output schema (so return values need not be explained), the description covers the non-obvious edge cases well. It does not touch permissions/auth or error conditions, which is the remaining gap.

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 100%, so the baseline is 3, but the prose genuinely adds meaning: it explains replace-vs-append behavior, the blank-line separator on append, the '- ' to '* ' rewrite, and that move_to_parent_id auto-creates a notebook. It clarifies semantics rather than merely restating the schema.

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?

Opens with a specific verb and resource plus an enumeration of the modifiable facets (text, title, order, section, move), which immediately distinguishes it from create_notebook_page and delete_notebook_page. An agent knows exactly which mutation surface this tool covers without opening the 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 strong contextual guidance on which parameter to reach for (text replaces vs append adds) and states conditional limits on moves ('the section does not follow', 'the first page of a notebook with a parent is not moved out'). It never names an alternative sibling or an explicit do-not-use case, so it stops just 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.