Skip to main content

MCP server for Yandex Wiki API — pages, grids, YFM syntax, prompt templates

Project description

ya-wiki-mcp

MCP server for Yandex Wiki API. Works with Claude Code, Claude Desktop, and any MCP client.

Built on ya-wiki-api Python client.

Quick Start

# Add to Claude Code
claude mcp add ya-wiki \
  -e YA_WIKI_TOKEN=your-token \
  -e YA_WIKI_ORG_ID=your-org-id \
  -- uvx ya-wiki-mcp

# Or run directly
uvx ya-wiki-mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "ya-wiki": {
      "command": "uvx",
      "args": ["ya-wiki-mcp"],
      "env": {
        "YA_WIKI_TOKEN": "your-token",
        "YA_WIKI_ORG_ID": "your-org-id"
      }
    }
  }
}

Features

  • 36 tools — full CRUD for pages, dynamic tables (grids), resources, and tree navigation
  • Page tree cache — local tree cache with auto-sync on page create/update/delete/clone, plus full refresh from API
  • YFM reference — built-in Yandex Flavored Markdown syntax guide
  • Markdown to YFM converter — automatically converts standard Markdown to Wiki format
  • Prompt templates — manage reusable page templates directly from chat

Configuration

Variable Required Description
YA_WIKI_TOKEN Yes OAuth token. Get one at https://oauth.yandex.ru/
YA_WIKI_ORG_ID Yes Organization ID
YA_WIKI_ORG_TYPE No cloud (default) or business

You can set these in a .env file or pass via -e flags.

Getting a Token

  1. Go to https://oauth.yandex.ru/ and create an app
  2. Select "For API access or debugging"
  3. Add scopes: wiki:write (full access) or wiki:read (read-only)
  4. Get your token: https://oauth.yandex.ru/authorize?response_type=token&client_id=<ClientID>

Tools

Pages

Tool Description
get_page Get a page by slug or ID
get_page_content Get page text only (no metadata)
create_page Create a page (wysiwyg, page, grid, template). Auto-updates tree cache.
update_page Update title, content, or redirect. Auto-updates tree cache on title change.
delete_page Delete a page (returns recovery token). Auto-removes from tree cache.
clone_page Clone a page to a new location. Auto-adds clone to tree cache.
append_content Append text to a page (top, bottom, section, or anchor)
get_descendants Get all subpages (all levels) by page ID
get_descendants_by_slug Get all subpages (all levels) by slug

Resources

Tool Description
get_page_resources Get attachments, grids, and SharePoint docs for a page
get_page_grids List grids attached to a page

Dynamic Tables (Grids)

Tool Description
create_grid Create a table on a page
get_grid Get a table with filtering and sorting
update_grid Update title or sort order
delete_grid Delete a table
add_rows Add rows
delete_rows Delete rows
add_columns Add columns
delete_columns Delete columns
update_cells Update cell values
move_rows Move rows
move_columns Move columns
clone_grid Clone a table to another page

Page Tree Cache

Tool Description
get_tree Get tree from cache (default) or fresh from API (use_cache=false)
refresh_tree_cache Full rebuild of tree cache from API by root slug
clear_tree_cache Clear tree cache
suggest_placement Suggest where to place a new page based on description
add_tree_section Manually add a section to the tree
remove_tree_section Manually remove a section from the tree
set_tree Replace entire tree from YAML

Utilities

Tool Description
convert_md_to_yfm Convert Markdown to YFM (tables, callouts, details, underline, highlight)

Prompt Manager

Tool Description
prompts_list List all saved templates
prompts_get Get and render a template with arguments
prompts_add Create a template from chat
prompts_add_from_file Load a template from a file
prompts_remove Delete a template

Page Tree Cache

The server maintains a local tree cache (tree.yaml) that maps your wiki's section hierarchy. This cache is used by get_tree and suggest_placement to help with page navigation and placement.

Auto-sync: The cache updates automatically when you create, update, delete, or clone pages through the MCP tools.

Manual refresh: Use refresh_tree_cache("root-slug") to rebuild the cache from the API. This fetches all descendant pages and their titles.

# First time — initialize cache from your wiki root
refresh_tree_cache("your-root-slug")

# Quick check — read from cache (instant)
get_tree()

# Force fresh — bypass cache and fetch from API
get_tree(use_cache=false)

# Reset — clear and re-fetch
clear_tree_cache()
refresh_tree_cache("your-root-slug")

Markdown to YFM Converter

Yandex Wiki uses YFM (Yandex Flavored Markdown), which differs from standard Markdown. The converter handles:

Markdown YFM
| H1 | H2 | tables #| || |# wiki tables
> [!NOTE] callouts {% note info %}
<details><summary> {% cut "Title" %}
<u>text</u> ++text++
<mark>text</mark> ==text==
<sup>text</sup> text^super^
<sub>text</sub> text~sub~

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ya_wiki_mcp-0.3.0.tar.gz (486.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ya_wiki_mcp-0.3.0-py3-none-any.whl (492.5 kB view details)

Uploaded Python 3

File details

Details for the file ya_wiki_mcp-0.3.0.tar.gz.

File metadata

  • Download URL: ya_wiki_mcp-0.3.0.tar.gz
  • Upload date:
  • Size: 486.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.13

File hashes

Hashes for ya_wiki_mcp-0.3.0.tar.gz
Algorithm Hash digest
SHA256 6c1f14e598af6f32bae4b465c44c6fda51cda52eb5befcd6d46f3fbbeb215d62
MD5 89b3412f2472be60b393255261ecfe45
BLAKE2b-256 d59b495c8ca14e3f41620c38b05846db17e99d179973c5abfe0a300e0a1e195a

See more details on using hashes here.

File details

Details for the file ya_wiki_mcp-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ya_wiki_mcp-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 33d17a062ccea6c0e9337342344174caaa4181ec3c03f2fe4c63cd89bba70e85
MD5 6dbb8ac14bcd4e7ac239530146cf83e9
BLAKE2b-256 3eb1b45b3cdbb91443ea283715238007260c6af4bae6dec590c4d6e8f77a26b9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page