Skip to main content
Glama

update_wiki_page

Edit a wiki page: retitle it, change its body, move it under another parent (or to the top of its space), or set its labels. Identify it by 'id', or by 'spaceKey' + 'title'. To change part of the body, pass 'edits' (exact find-and-replace on the Markdown source, each 'oldText' occurring exactly once) or 'replaceSection' — the answer says where each landed, not the page, so a one-line fix to a long page costs one line. 'markdown' replaces the whole body — read it first with get_wiki_page(withMarkdown: true) and edit that, or the page's links, images and macros are dropped; 'appendMarkdown' adds to the end and leaves what is there untouched. Mention someone as @Their Name, the wiki's own form. Requires permission to edit the page. Answers with 'notified' (who this actually reaches) and 'unresolvedMentions' (what looked like a mention and reached nobody, each with a reason) — a wrong handle is stored as written and never refused, so that list is the only sign it did not land.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoPage id (as returned by search_wiki).
editsNoExact replacements in the page's Markdown source — the text get_wiki_page returns with 'section', 'offset' or withMarkdown: true. Every 'oldText' is matched against the page as you read it (not against the result of the other edits) and must occur exactly once unless 'replaceAll' is set; if any edit does not fit, none is applied. Pair with 'expectedVersion'.
titleNoCurrent page title, when identifying the page by title.
labelsNoLabels to set, space or comma separated. Replaces the existing set.
messageNoShort note for the page history, e.g. why you changed it.
markdownNoThe complete new body as Markdown — replaces what is there. Carries $…$ / $$…$$ LaTeX formulas and the wiki's macros on a line of their own ({toc}, {children}, {info} … {info}, {expand:title=…} … {expand}).
newTitleNoNew title. The page's existing links follow the rename.
parentIdNoMove the page under this parent page id.
spaceKeyNoSpace key, when identifying the page by title.
minorEditNoMark this as a minor edit in the history.
toTopLevelNoMove the page to the top of its space, out from under any parent, so it sits beside the space's other root pages. Use this instead of parentId/parentTitle — a tool argument has no way to say 'no parent' by leaving one out.
parentTitleNoMove the page under the page with this title, in the same space.
appendMarkdownNoMarkdown to add to the end of the page, leaving the rest as it is. Same syntax as 'markdown'.
replaceSectionNoReplace one whole section: 'section' names it as get_wiki_page's 'section' does (anchor or heading text), 'markdown' is what replaces it — heading line included, as reading the section returned it. Can be combined with 'edits' elsewhere on the page.
expectedVersionNoThe version you read (from get_wiki_page). If the page has moved on since, the edit is refused instead of overwriting someone else's.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses destructive behavior ('markdown' drops links, images, and macros unless read first), atomicity (no edit applies if any doesn't fit), version-check refusal, and the mention resolution behavior (unresolvedMentions list, wrong handles stored as written). This goes well beyond the schema.

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 is a single dense paragraph but each clause earns its place, covering purpose, identification, all edit modes, warnings, and output behavior. It is front-loaded with the main purpose and uses commas and semicolons to keep related ideas together. Slightly long, but efficient given the tool's complexity.

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 15-parameter tool with no output schema and no annotations, the description is exceptionally complete. It covers identification, all edit strategies, permission, the return fields (notified, unresolvedMentions), and the destructive risk of 'markdown'. Nothing an agent needs to call it correctly appears missing.

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?

The input schema has 100% coverage with detailed descriptions for every parameter, so the baseline is 3. The description adds strategic context beyond the schema, such as the trade-off between 'edits' and 'replaceSection', the note that the answer reports where edits landed, and the mention syntax. It enriches but doesn't repeat the schema, meriting a 4.

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 opens with a precise verb and resource ('Edit a wiki page') and enumerates the exact operations: retitle, change body, move under parent, set labels. It clearly distinguishes from siblings like create_wiki_page and update_wiki_comment by stating what it does not do (e.g., it edits existing pages, not comments).

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?

The description gives explicit guidance on parameter selection: 'edits' for exact find-and-replace, 'replaceSection' for whole sections, 'markdown' to replace the whole body (with a warning to read first), and 'appendMarkdown' to add without touching existing content. It also explains identification by id or spaceKey+title, and notes the permission requirement, making it clear when to use this tool and how to avoid pitfalls.

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