Skip to main content
Glama

Edit Wiki Page Content

page_edit

Update a Yandex Wiki page by replacing specific text snippets in a single write, applying sequential replacements to the current content.

Instructions

Edit a Yandex Wiki page by exact-text replacements, without resending the whole page: reads the current content, applies the replacements in order, and writes the result back with a single update. Each old_text must match the stored YFM markup exactly (copy it from page_get, whitespace included) and occur exactly once unless replace_all is set — a missing or ambiguous match fails the whole call before anything is written. NOTE: the Wiki API has no page revisions, so the read-modify-write is not atomic; allow_merge (on by default) asks Wiki to merge a concurrent edit that landed in between rather than overwrite it. Do NOT blindly retry a call whose result you did not see: a replacement whose new_text contains its own old_text applies again on a repeat. Content is Markdown (YFM): plain Markdown renders as-is, but GitHub-specific extensions ('[!NOTE]' alerts, raw HTML) do not — see the wiki-mcp://yfm-cheatsheet resource for YFM equivalents.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugNoWiki page slug or full Wiki URL. Provide either page_id or slug.
page_idNoWiki page numeric ID. Provide either page_id or slug.
is_silentNoWhether to suppress notifications when supported by the API.
allow_mergeNoLet Yandex Wiki three-way merge an edit that landed between this tool's read and its write. On by default: the read-modify-write has no revision to lock against, so without it a concurrent edit is overwritten.
replacementsYesReplacements to apply sequentially: each old_text is matched against the content as already edited by the preceding entries.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugNo
titleNo
page_idYes
yfm_warningsNoMarkup warnings for the written content (the write itself succeeded): parts that will not render as intended on Yandex Wiki. See the wiki-mcp://yfm-cheatsheet resource for fixes.
occurrences_replacedYesTotal occurrences replaced across all entries. Every entry applied — a replacement that did not match fails the whole call before anything is written.
Behavior5/5

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

The description discloses multiple critical behaviors beyond the minimal annotations (only openWorldHint: false): read-modify-write non-atomicity, allow_merge for concurrent edits, exact matching requirements (including replace_all semantics), failure conditions for missing/ambiguous matches, and YFM content limitations. No contradictions with annotations.

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?

The description is front-loaded with the core purpose and then incrementally adds necessary details (exact matching, atomicity warning, retry danger, YFM note). Every sentence serves a distinct purpose, and there is no redundancy. It is appropriately sized for a complex mutation tool.

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?

Given the tool's complexity (5 params, sequential replacements, non-atomic behavior), the description covers all essential aspects: how it works, failure modes, concurrency handling, content format, and a pointer to a YFM cheatsheet resource. The presence of an output schema (from context signals) means return values need not be explained. No gaps remain for an agent to safely invoke this tool.

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% with descriptions for all 5 parameters, setting a baseline of 3. The description adds significant value beyond the schema: it explains that replacements are applied sequentially, that each old_text must match exactly once unless replace_all is set, and that failures abort the entire call. It also clarifies the merge parameter's role in concurrent edits.

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 'Edit a Yandex Wiki page by exact-text replacements, without resending the whole page', which clearly identifies the verb (edit), resource (Wiki page), and method (exact-text replacements). This distinguishes it from sibling tools like page_update (full page rewrite) and page_append_content (appending), as it specifies the targeted, in-place replacement approach.

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 implies usage for small, precise edits (vs. full page resend) and warns against blind retries. However, it does not explicitly list when not to use it or compare directly to siblings like page_update or page_append_content. The context is clear but lacks explicit exclusion criteria.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dlbolshov/yandex-wiki-search-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server