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
- Go to https://oauth.yandex.ru/ and create an app
- Select "For API access or debugging"
- Add scopes:
wiki:write(full access) orwiki:read(read-only) - 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 at ~/.cache/ya-wiki-mcp/tree.yaml that maps your wiki's section hierarchy. This cache is shared across all terminal sessions and 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
Metadata
Release files for ya-wiki-mcp 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ya_wiki_mcp-0.3.1.tar.gz | 483.8 kB | Without provenance | Details for ya_wiki_mcp-0.3.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ya_wiki_mcp-0.3.1-py3-none-any.whl | Python 3 | none | any | Details for ya_wiki_mcp-0.3.1-py3-none-any.whl |
Total release size: 973.5 kB
Release files / ya_wiki_mcp-0.3.1.tar.gz
| Download URL | ya_wiki_mcp-0.3.1.tar.gz |
|---|---|
| Size | 483.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4fbc9e371815d091b6e01c44773423ed96a2c6fbe1a4e45bcfab65b044eec510
|
|
BLAKE2b-256 checksum How to use checksums |
16d986c42bee238d426db85e4adcdf0ecd9483c0babca7977019e62a3fa96e65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.13
|
Release files / ya_wiki_mcp-0.3.1-py3-none-any.whl
| Download URL | ya_wiki_mcp-0.3.1-py3-none-any.whl |
|---|---|
| Size | 489.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
478ae546bb724cea7f958a85bfa1bfaead31dfddf30a73dbc4ee9e3681e5a8aa
|
|
BLAKE2b-256 checksum How to use checksums |
2f413732ecdad9d470a5e6c2e466ca7dc6656c7984d61769db0b8cfbf05e4762
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.13
|
Security for ya-wiki-mcp 0.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.