Yandex Wiki MCP
Provides caching for read operations (wiki_page_get, wiki_page_get_by_url, wiki_page_get_text_by_url) using Redis as a backend, improving performance by caching API responses and invalidating cache on write operations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Yandex Wiki MCPget page 'Project Overview'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Yandex Wiki MCP
Реализация MCP-сервера для Яндекс Вики с режимами read/write и readonly.
Содержимое
mcp-yandex-wiki— полный режим (чтение + создание/обновление/append)mcp-yandex-wiki-ro— read-only режим (только чтение)
Related MCP server: yandex-wiki-search-mcp
Установка
Установить
uv(если ещё не установлен).Получить OAuth-токен Яндекс и
org_id:Создать приложение на oauth.yandex.ru с правами Wiki.
Подставить
client_idв URL:https://oauth.yandex.ru/authorize?response_type=token&client_id=<CLIENT_ID>и авторизоваться.
Переменные окружения
Обязательные:
WIKI_TOKENилиTRACKER_TOKENWIKI_ORG_IDилиTRACKER_ORG_ID
Опциональные:
WIKI_API_BASE_URL(по умолчаниюhttps://api.wiki.yandex.net/v1)TRANSPORT(stdioпо умолчанию)HOST(127.0.0.1)PORT(8088)MCP_PATH(/mcp)TOOLS_CACHE_ENABLED(true/false, по умолчаниюfalse)TOOLS_CACHE_REDIS_TTL(в секундах, по умолчанию3600)REDIS_ENDPOINT(localhost)REDIS_PORT(6379)REDIS_DB(0)REDIS_PASSWORDREDIS_POOL_MAX_SIZE(10)READONLY(true/false)
Кэширование (Redis)
Кэшируются только read-операции для Wiki:
wiki_page_getwiki_page_get_by_urlwiki_page_get_text_by_url
Особенности:
включается через
TOOLS_CACHE_ENABLED=trueкэш живёт в Redis (
REDIS_*)при любых write-операциях (
create,update,append_content) кэш инвалидируется для затронутых страниц/slugв ответах добавляется флаг
_mcp_cache_hit(true/false)
Минимальный пример для локального Redis:
docker run -p 6379:6379 --name redis-cache -d redis:alpine
TRACKER_TOKEN=your_token TRACKER_ORG_ID=your_org_id \
TOOLS_CACHE_ENABLED=true REDIS_ENDPOINT=127.0.0.1 REDIS_PORT=6379 uvx mcp-yandex-wikiProduction-подобный пример:
TRACKER_TOKEN=your_token TRACKER_ORG_ID=your_org_id \
TOOLS_CACHE_ENABLED=true \
REDIS_ENDPOINT=redis.internal \
REDIS_PORT=6379 \
REDIS_DB=0 \
REDIS_PASSWORD=secret \
TOOLS_CACHE_REDIS_TTL=7200 \
uvx mcp-yandex-wikiБыстрый запуск (через PyPI)
TRACKER_TOKEN=your_token TRACKER_ORG_ID=your_org_id \
uvx mcp-yandex-wiki
TRACKER_TOKEN=your_token TRACKER_ORG_ID=your_org_id \
uvx --from mcp-yandex-wiki mcp-yandex-wiki-roАльтернатива (после установки):
pip install mcp-yandex-wiki
python -m yandex_wiki_mcpПодключение в MCP-агентах (через PyPI)
Claude Code
Требования: должен быть установлен uvx (входит в uv).
claude mcp add yandex-wiki \
-e WIKI_TOKEN=your_token \
-e WIKI_ORG_ID=your_org_id \
-- uvx mcp-yandex-wiki
claude mcp add yandex-wiki-ro \
-e WIKI_TOKEN=your_token \
-e WIKI_ORG_ID=your_org_id \
-- uvx --from mcp-yandex-wiki mcp-yandex-wiki-ro --readonlyЕсли используете TRACKER_*-переменные, замените их на:
claude mcp add yandex-wiki \
-e TRACKER_TOKEN=your_token \
-e TRACKER_ORG_ID=your_org_id \
-- uvx mcp-yandex-wikiCodex (конфиг проекта)
[mcp_servers.yandex-wiki]
command = "uvx"
args = ["mcp-yandex-wiki"]
env = { WIKI_TOKEN = "your_token", WIKI_ORG_ID = "your_org_id" }
[mcp_servers.yandex-wiki-ro]
command = "uvx"
args = ["--from", "mcp-yandex-wiki", "mcp-yandex-wiki-ro"]
env = { WIKI_TOKEN = "your_token", WIKI_ORG_ID = "your_org_id" }Cursor
Открыть Settings → Cursor Settings → MCP → + Add new global MCP server. Откроется файл
~/.cursor/mcp.json.Добавить конфигурацию:
{
"mcpServers": {
"yandex-wiki": {
"command": "uvx",
"args": ["mcp-yandex-wiki"],
"env": {
"WIKI_TOKEN": "your_token",
"WIKI_ORG_ID": "your_org_id"
}
}
}
}Для read-only режима:
{
"mcpServers": {
"yandex-wiki-ro": {
"command": "uvx",
"args": ["--from", "mcp-yandex-wiki", "mcp-yandex-wiki-ro"],
"env": {
"WIKI_TOKEN": "your_token",
"WIKI_ORG_ID": "your_org_id"
}
}
}
}Можно также добавить на уровне проекта — создайте файл
.cursor/mcp.jsonв корне репозитория с аналогичным содержимым.
Вернуться в Settings → MCP и убедиться, что у сервера зелёный индикатор (статус «running»).
Другие MCP-клиенты (JSON, общий шаблон)
{
"mcpServers": {
"yandex-wiki": {
"command": "uvx",
"args": ["mcp-yandex-wiki"],
"env": {
"WIKI_TOKEN": "your_token",
"WIKI_ORG_ID": "your_org_id"
}
},
"yandex-wiki-ro": {
"command": "uvx",
"args": ["--from", "mcp-yandex-wiki", "mcp-yandex-wiki-ro"],
"env": {
"WIKI_TOKEN": "your_token",
"WIKI_ORG_ID": "your_org_id"
}
}
}
}Инструменты
mcp-yandex-wiki (rw)
wiki_page_getwiki_page_get_by_urlwiki_page_get_text_by_urlwiki_page_createwiki_page_updatewiki_page_append_content
mcp-yandex-wiki-ro
wiki_page_getwiki_page_get_by_urlwiki_page_get_text_by_urlwrite-инструменты возвращают
403
Отладка (MCP Inspector)
Для интерактивной отладки MCP-сервера можно использовать MCP Inspector.
Запустить сервер в режиме SSE:
uv run fastmcp run yandex_wiki_mcp/server.py --transport sseВ другом терминале запустить Inspector:
npx @modelcontextprotocol/inspector@latestВ открывшемся интерфейсе Inspector выбрать Transport Type: SSE и указать URL:
http://localhost:8000/sseНажать Connect — Inspector подключится к серверу и покажет список доступных инструментов, позволяя вызывать их вручную и видеть ответы.
Настройки FastMCP для production
Сервер поддерживает переменные окружения FastMCP для тонкой настройки поведения:
FASTMCP_MASK_ERROR_DETAILS— приtrueмаскирует детали ошибок в ответах клиентам. Показываются только сообщения из явно выброшенныхToolError. Рекомендуется для production.FASTMCP_STRICT_INPUT_VALIDATION— приtrueвключает строгую валидацию входных данных инструментов по JSON-схемам. Приfalse(по умолчанию) допускаются совместимые преобразования типов (например, строка"10"→ число10).
Available Tools
7 toolswiki_page_append_contentA
Write: добавить контент в начало/конец страницы или по якорю (#anchor).
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Поля в ответе через запятую: content, attributes, breadcrumbs, redirect | content,attributes,breadcrumbs,redirect |
| content | Yes | Содержимое для добавления | |
| page_id | Yes | Числовой ID страницы | |
| location | No | Позиция вставки: top, bottom или якорь в формате #anchor | bottom |
| is_silent | No | Не отправлять уведомления подписчикам |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is not read-only, not idempotent, and not destructive. The description adds context about the append behavior and location options, but does not disclose other behavioral traits like error handling or prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise single sentence with front-loaded action verb. No wasted words, but could benefit from structured breakdown of parameters or use cases.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple append operation given the schema and output schema exist, but missing details on behavior when anchor is not found, error cases, or effects on page versioning.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 5 parameters with descriptions, so baseline is 3. The description adds no new parameter-level details beyond a restatement of the location parameter's options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool adds content to a wiki page at specified locations (top/bottom/anchor). It effectively distinguishes from related tools like wiki_page_update (which replaces content) and wiki_page_create (which creates new pages).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage for adding content without overwriting, but no explicit guidance on when to use this tool versus alternatives like wiki_page_update or wiki_page_create. Lacks when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wiki_page_createB
Write: создать новую страницу.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Путь новой страницы без домена, например 'users/handbook/new-page' | |
| title | Yes | Заголовок страницы | |
| fields | No | Поля в ответе через запятую: content, attributes, breadcrumbs, redirect | content,attributes,breadcrumbs,redirect |
| content | Yes | Содержимое страницы в формате Wiki/WYSIWYG | |
| is_silent | No | Не отправлять уведомления подписчикам | |
| page_type | No | Тип страницы: wysiwyg или wikitext | wysiwyg |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate this is a write operation (readOnlyHint=false) and not idempotent or destructive. The description adds no behavioral details beyond this, such as whether duplicate slugs cause errors or how notifications work. The baseline is adequate but not enriched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single sentence with a prefix label. It is front-loaded and wastes no words. However, it may be too brief for a tool with six parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema and six parameters, the description provides only a one-liner. It does not explain uniqueness constraints, default values, or behavior differences between page types. A creation tool with this complexity requires more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, meaning all parameters are described in the schema. The description does not add any additional parameter-level meaning. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a new wiki page ('создать новую страницу'). It specifies the verb and resource, making the primary action obvious. However, it does not differentiate from sibling tools like wiki_page_update or wiki_page_append_content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description only states the tool's purpose, leaving the agent without context for tool selection, especially given the existence of update and append siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wiki_page_getARead-onlyIdempotent
Read-only: получить страницу по slug (путь без домена).
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Путь страницы без домена, например 'users/handbook/onboarding' | |
| fields | No | Поля через запятую: content, attributes, breadcrumbs, redirect | content,attributes,breadcrumbs,redirect |
| raise_on_redirect | No | Вернуть ошибку при редиректе вместо автоматического перехода |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, which the description echoes with 'Read-only'. However, it adds no new behavioral context beyond the annotations, such as error handling or default redirect behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the key trait ('Read-only') and concisely states the tool's purpose. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of a full output schema (not shown but stated as present) and 100% parameter coverage, the description is nearly complete for a simple read operation. It lacks some behavioral details like error cases or default redirect handling, but overall it suffices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description merely restates the concept of 'slug' as path without domain, which is already in the schema. No additional meaning is provided for 'fields' or 'raise_on_redirect' beyond what the schema already specifies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('получить страницу') and the resource ('по slug'), with a specific definition of slug as path without domain. This distinguishes it from siblings like wiki_page_get_by_url which uses a full URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives like wiki_page_get_by_url or wiki_page_resolve_id. Usage is implied (for reading a page by slug) but no exclusions or comparisons are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wiki_page_get_by_urlBRead-onlyIdempotent
Read-only: получить страницу по полной ссылке вида https://wiki.yandex.ru/<path...>/
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Полная ссылка на страницу, например https://wiki.yandex.ru/users/handbook/ | |
| fields | No | Поля через запятую: content, attributes, breadcrumbs, redirect | content,attributes,breadcrumbs,redirect |
| raise_on_redirect | No | Вернуть ошибку при редиректе вместо автоматического перехода |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description only repeats 'Read-only' without adding behavioral details like auth requirements or rate limits, so it adds minimal value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no wasted words. However, it is in Russian while the tool name is English, but that does not affect conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three parameters (including optional fields and redirect handling), the description is insufficient. It omits hints about these capabilities, making the tool less navigable despite an output schema being present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline 3 applies. The description does not elaborate on parameters beyond the URL format, adding no extra meaning to the schema's existing descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves a page by its full URL, distinguishing it from sibling tools like wiki_page_get (likely by ID) and wiki_page_get_text_by_url (text only). The verb 'get' and resource 'page' are explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description only states what it does without context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wiki_page_get_text_by_urlARead-onlyIdempotent
Read-only: вернуть только content страницы по полной ссылке.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Полная ссылка на страницу, например https://wiki.yandex.ru/users/handbook/ |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description reinforces this by stating 'Read-only' and adds that it returns only content, providing context beyond the annotations (e.g., what data is returned). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence conveys the essential purpose and constraint. There is no extraneous information, and every word adds value. The description is optimally concise for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (single required param, read-only, no side effects), the description together with the schema and output schema provides complete information. The description clearly states what is returned, and the schema covers the input. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes the 'url' parameter with a full description and example. The description adds no additional parameter details beyond repeating 'по полной ссылке', so it does not elevate understanding beyond the schema. With 100% schema coverage, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns only the content of a wiki page given a full URL. It uses a specific verb ('return') and resource ('content'), and distinguishes from siblings like wiki_page_get_by_url (which presumably returns full page data). The purpose is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates that the tool is read-only and returns only content, implying it should be used when only the page text is needed rather than the full page object. However, it does not explicitly state when to use it over siblings like wiki_page_get or wiki_page_get_by_url, leaving some inference required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wiki_page_resolve_idARead-onlyIdempotent
Read-only: получить page_id страницы по slug или полной ссылке. Используйте перед wiki_page_update / wiki_page_append_content, если известен только slug или URL.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Полная ссылка на страницу, например https://wiki.yandex.ru/users/handbook/ | |
| slug | No | Путь страницы без домена, например 'users/handbook/onboarding' |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description declares read-only behavior, matching annotations. It adds context about being a lookup/preparation step, but does not detail error handling or response content beyond annotations, which already cover safety and idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two succinct sentences: one for purpose ('Read-only: get page_id...') and one for usage guidance, front-loaded with key read-only attribute. No superfluous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema and simple 2-parameter input, the description covers the core operation and usage context. It lacks mention of behavior when both parameters are provided or error cases, but these are minor for a straightforward lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions already explaining the format of url and slug. The tool description mentions these inputs in context but does not add new semantic detail beyond what the schema provides, warranting the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool resolves page_id from slug or URL, specifying it is read-only and a preparatory step for update/append. This distinctly sets it apart from sibling tools that get content or perform mutations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using this tool before wiki_page_update or wiki_page_append_content when only slug or URL is known, providing clear when-to-use guidance and implicit exclusions for cases where page_id is already available.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wiki_page_updateBIdempotent
Write: обновить существующую страницу по ID (заголовок и/или контент).
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Новый заголовок страницы (None — не менять) | |
| fields | No | Поля в ответе через запятую: content, attributes, breadcrumbs, redirect | content,attributes,breadcrumbs,redirect |
| content | No | Новое содержимое страницы (None — не менять) | |
| page_id | Yes | Числовой ID страницы для обновления | |
| is_silent | No | Не отправлять уведомления подписчикам | |
| allow_merge | No | Разрешить слияние при конфликте версий |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true and destructiveHint=false, so the safety profile is clear. The description adds minimal behavioral context, just confirming mutation. No mention of side effects like notifications or version conflicts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, using a single sentence that is front-loaded with 'Write:'. It is efficient but could benefit from slightly more context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters and a rich output schema, the description is incomplete. It does not mention important parameters like fields, is_silent, or allow_merge, nor does it provide context about the operation's idempotency or non-destructiveness beyond what annotations already convey.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are fully described in the schema. The description hints at the title and content parameters but adds no additional meaning beyond what is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'update' and the resource 'existing page by ID', and specifies that it can modify title and/or content. It effectively distinguishes from sibling tools like create, get, or append_content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it does not mention that for appending content, one should use wiki_page_append_content, or that for creation, wiki_page_create is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
v0.1.0- First observed
wiki_page_append_content - First observed
wiki_page_create - First observed
wiki_page_get - First observed
wiki_page_get_by_url - First observed
wiki_page_get_text_by_url - First observed
wiki_page_resolve_id - First observed
wiki_page_update
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose: read operations differentiate between full URL, slug, content-only, and ID resolution; write operations cover create, update, and append. No overlap or ambiguity.
All tool names follow a consistent 'wiki_page_<verb>' pattern in snake_case. Verbs are descriptive (get, get_text, resolve_id, create, update, append_content) with no mixing of conventions.
7 tools is well-scoped for a wiki server, covering essential read and write operations without being excessive or insufficient.
The tool set covers create, read (multiple variants), update, and append, but lacks a delete operation. This is a minor gap, as deletion is often needed in wiki management.
Maintenance
Related MCP Connectors
- hiveWikiOAuthai.hivewiki
Shared project wiki for AI agents: read and write pages, next actions, and activity logs over MCP.
- FlowdexOAuthdk.flowdex
Read and write your team's shared, AI-readable wiki from any MCP client.
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
Read-only MCP for the Eco game wiki: search, Markdown pages, and wiki_* lookups. No keys, no writes.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMinimal MCP server for Yandex Wiki that enables reading, writing, searching, and managing wiki pages and attachments.1MIT
- AlicenseAqualityAmaintenanceMCP server for Yandex Wiki with full-text search. Read and write pages, comments, attachments, and dynamic tables (grids); optional server-side read-only mode for agents. Docker-ready.336Apache 2.0
- AlicenseNot gradedqualityAmaintenanceMCP server that enables AI assistants to interact with Yandex 360 organization services, currently supporting Yandex Wiki for reading, editing, and searching pages.MIT
- AlicenseNot gradedqualityAmaintenanceEnables MCP clients to search, read, list, create, update, and delete Wiki.js pages using a user's own Google Workspace identity, with Wiki.js enforcing all authorization.Apache 2.0