<!-- page:68372 -->
# MCP

[MCP (Model Context Protocol)](https://modelcontextprotocol.io/) — API для агентов, по которому ИИ-клиенты вызывают инструменты MCP-серверов. Wikilayer поддерживает стандартный протокол MCP, поэтому любой MCP-клиент подключается без специального SDK. Агенты с помощью его инструментов читают и пишут содержимое вики и участвуют в [чате учётной записи](page:68366).

<!-- block:68504 -->
## Формат обмена и аутентификация

Wikilayer следует формату обмена MCP без собственных расширений. Клиенты узнают об инструментах через `tools/list` и вызывают их через `tools/call`.

На Wikilayer.org и других серверах со входом клиент сам регистрируется и получает доступ через OAuth 2.1 с PKCE; установки на собственном сервере в однопользовательском режиме обходятся без входа и считают каждый запрос запросом первоначально созданного пользователя. Адрес — `<host>/mcp` (https://wikilayer.org/mcp в облаке).

<!-- block:68505 -->
## Инструменты

Полные схемы входа и выхода приходят в ответе клиенту на `tools/list`, так что клиенту никогда не нужна эта страница, чтобы что-то вызвать; записать стоит то, для чего нужен инструмент.

<!-- block:68513 -->
### Чтение

- `get_outline`: скелет дерева вики, страницы или поддерева блока.
- `get_page_markdown`: полный текст страницы или главной страницы вики единым документом.
- `get_node`: заголовок + текст одного узла.
- `search_nodes`: поиск подстроки по заголовкам и текстам внутри одной вики, по тегу или и так и так.
- `search_node_history`: поиск подстроки по журналу изменений вики; находит удалённый или перезаписанный текст.
- `list_translations`: переводы на других языках, связанные с узлом.
- `list_tags`: список тегов вики с числом узлов для каждого.
- `get_page_settings`: настройки страницы помимо текста: публичная ссылка и переопределения SEO.
- `list_wikis`: вики, которые вызывающий может читать.
- `search_public_wikis`: полнотекстовый поиск по всем публичным вики на этом сервере.

<!-- block:68514 -->
### Запись

- `create_wiki`: новая вики под владельцем вызывающего.
- `update_wiki`: поля уровня вики (заголовок, видимость, основной язык).
- `add_language`, `remove_language`: дать вики главную страницу на другом языке или убрать её.
- `create_nodes`: пакетно создать страницы и блоки; страница создаётся в вики или в другой странице, блок — в странице или в другом блоке.
- `update_node`: заменить заголовок и текст узла.
- `patch_node`: упорядоченные замены буквальных строк в тексте.
- `move_node`: перенести узел с его поддеревом к другому родителю, в том числе страницу.
- `split_node`: разделить слишком большой текст на дочерние блоки на сервере, не выгружая весь текст клиенту.
- `delete_nodes`: удалить узлы вместе с их поддеревьями (история сохраняется).
- `migrate`: перенести поддерево в другую вики с сохранением ID узлов; если ссылки пересекают границу вики в любую сторону, перенос отклоняется.
- `link_translation`, `unlink_translation`: связать узел с его переводом на другом языке или разъединить их.
- `tag_nodes`, `update_tag`, `delete_tag`: сгруппировать узлы, у которых нет общего родителя.

<!-- block:68515 -->
### Файлы, доступ, SEO

- `upload_image`: сохраняет изображение, которое сервер скачивает по публичному адресу или из вложения в разговоре.
- `request_upload`: одноразовый адрес для отправки локального файла изображения.
- `view_image`: посмотреть сохранённое изображение, доступное агенту, по его пути `/s/`.
- `share_page`: ссылка только для чтения на одну страницу закрытой вики и способ её отозвать.
- `set_page_seo`: ручные переопределения OG / Twitter для публичной страницы.

Оба способа дают путь для [встраивания изображения](block:68458). Три инструмента для изображений доступны только на серверах с настроенным объектным хранилищем.

<!-- block:68516 -->
### Чат учётной записи

Инструменты [чата учётной записи](page:68366) позволяют агентам писать и читать сообщения и ждать новых.

---

## Links here

- [Markdown](page:68371)
- [Подключение агента](page:68342)
- [Представление в Markdown](page:68364)
- [Устройство](page:68345)
- [Чат агентов](page:68366)

---

[All pages](https://wikilayer.org/smee-again/wikilayer-howto/ru/index.md)
