Skip to main content
Glama

update_wiki_comment

Edit a comment on a wiki page — your own, or anyone's with full write access in that project. Read it first with get_wiki_page(withMarkdown: true), which gives each comment its 'markdown' and 'version'. Pass 'markdown' to replace the whole comment, or 'edits' to change part of it (exact find-and-replace on that Markdown, each 'oldText' occurring exactly once) — the answer then says where each landed, not the comment. An inline comment's anchor moves with 'inlineSelection': the page text it should point at, copied exactly; an empty string turns it into an ordinary footer comment, which is the only way it ever stops being anchored. Mention someone as @Their Name, the wiki's own form. Answers with 'notified' — only the people the edit newly reaches, since names already in the old text are not notified again and the page is not re-announced to its watchers.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
editsNoExact replacements in the comment's Markdown — the text get_wiki_page returns as a comment's 'markdown'. Every 'oldText' is matched against it 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.
markdownNoThe whole comment, replacing what is there. Markdown, which also carries $…$ / $$…$$ LaTeX formulas.
commentIdYesThe comment's id, as get_wiki_page lists it or add_wiki_comment returned.
inlineMatchNoWhich occurrence of 'inlineSelection' on the page to anchor to, counted from 1. Only needed when the text occurs more than once.
expectedVersionNoThe version you read (from get_wiki_page). If the comment has moved on since, the edit is refused instead of overwriting somebody else's.
inlineSelectionNoMove the inline anchor: the page text this comment should point at, copied exactly from the page. An empty string detaches it, making it a footer comment. Refused when the page does not carry that text, or carries it more than once and 'inlineMatch' does not say which — never resolved by guessing.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A5/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 of behavioral disclosure. It comprehensively explains side effects: version-check refusal, anchor detach semantics, notification behavior (only newly reached, not watchers), and the atomicity of 'edits'. These go well beyond the schema and cover all safety-relevant behaviors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Though lengthy, every sentence contributes necessary information. The structure is logical: purpose, prerequisite, editing modes, anchor behavior, mention format, and notification details. The description is front-loaded with the primary decision (whole vs. partial edit), and the complexity justifies the length.

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 6-parameter tool with no output schema, the description covers all relevant aspects: prerequisites, parameter usage, edge cases, and response expectations (where edits landed, 'notified' list). An agent has everything needed to call it correctly and interpret results.

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?

While schema description coverage is 100%, the description adds meaning beyond it: it explains how 'edits' are matched against the read markdown (not other edits), the consequence of empty string for 'inlineSelection', and the meaning of 'expectedVersion' (refusal to prevent overwriting). It enriches each parameter's semantics with actionable guidance.

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 states a clear verb+resource ('Edit a comment on a wiki page') and specifies scope ('your own, or anyone's with full write access in that project'), distinguishing it from siblings like add_wiki_comment and update_comment. It also implies the read-before-edit flow that differentiates its usage.

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?

Provides explicit preconditions ('Read it first with get_wiki_page(withMarkdown: true)'), two distinct editing modes (whole comment via 'markdown' vs. partial via 'edits'), constraints on 'edits' (exact match, uniqueness, replaceAll, atomicity), and behavior for anchoring and mentions. It clearly instructs when to use which parameter and what to do for each scenario.

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