Skip to main content
Glama

把计划写回 Notion

apply_plan

Re-reads a Notion page, builds an execution plan, and applies content-gated changes; defaults to dry-run reporting and returns a snapshot for rollback and diff.

Instructions

重新读取页面、生成计划并执行。默认 dryRun 为 true,只会报告将要做什么。真正写入前必须已有 handoff_status 的 content_pass(或正在 beautifying)。写入成功后状态变为 beautifying。返回快照,供 rollback 和 diff_after_beautify 使用。讲解正文由调用方 Agent 撰写,本工具不调用模型。MCP 负责抽课件、给结构骨架、内容审、写入 Notion 和美化。跳步 = Fail。无推导的复杂公式 = Fail。讲解过浅 = Fail。内容未过关就美化 = Fail。口头说可以美化不算过关,只有 gate.pass 为 true 才 bloom。

Input Schema

NameRequiredDescriptionDefault
opIdsNo只执行这些操作 id;不传则执行计划中的全部安全操作
dryRunNo默认 true
pageIdYes
themeIdNo主题 id:clean-docs、warm-notes、focus-brief。缺省用 clean-docs
allowRecreateNo
includeDestructiveNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and discloses that dryRun defaults to true, real writes require a prior content pass, and successful writes change state to beautifying. It also states that the tool returns a snapshot for rollback and diff_after_beautify, that the calling agent authors lecture prose, and that this tool does not call a model. Several explicit fail conditions further clarify behavior.

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?

The description front-loads the key operational facts: reread, generate, execute, dryRun default, and write prerequisites. It is longer than a minimal description, but most sentences convey relevant gating or state-transition information. The final failure-condition list is somewhat repetitive, though still tied to correct usage.

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 complex mutation tool with no annotations and no output schema, the description covers critical context: default dry-run behavior, write prerequisites, state transition after success, and snapshot return. It remains incomplete on the semantics of allowRecreate and includeDestructive, and it does not describe the snapshot structure. Even so, an agent can understand the main safe invocation pattern.

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

Parameters2/5

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

Schema coverage is only 50%, and the description adds meaning mainly for dryRun by explaining that it only reports intended actions. It does not explain allowRecreate or includeDestructive, both of which are potentially important booleans, and it adds little beyond the schema for opIds and themeId. pageId is implicitly required but not elaborated.

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?

The description clearly states that the tool re-reads the page, generates a plan, and executes it, with dryRun defaulting to true. It also distinguishes the write path from rollback and diff_after_beautify by mentioning the snapshot it returns. It is specific about the core action, though it does not directly contrast itself with siblings such as draft_lecture or run_lecture_pipeline.

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?

The description gives explicit preconditions for real writes: handoff_status content_pass or beautifying, and only gate.pass true counts as passing. It also states that dryRun defaults to true and only reports intended actions, which guides safe first use. It stops short of naming alternative tools for planning or drafting.

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