MCP server to build and publish Telegram, MAX and Instagram bot funnels/automations — and publish Markdown blog articles — in the zaytsv service. Zero dependencies.
Server has 31 tools with basic schemas and descriptions in Russian. Most tools have input schemas with required fields and type definitions, but descriptions lack LLM-optimization guidance (many are terse or procedural rather than explaining WHEN to use the tool). Parameter descriptions are sparse or missing entirely. Output schemas are not documented. Error handling exists but lacks recovery guidance. No tool annotations (readOnlyHint/destructiveHint). Naming is generally verb-noun compliant but some tools like 'edit_graph_live' are vague about what 'action' means. The server is functional but falls short of production-grade quality.
Удалить статью.
Получить полный текст статьи по ID.
Список статей пользователя (с пагинацией).
Опубликовать Markdown-статью в блог zaytsv.
Обновить опубликованную статью.
Собрать и опубликовать воронку бота (граф → API zaytsv /bots).
Скопировать граф (создать новый с тем же содержимым).
Output schemas not documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., what does list_bots return? Does it include bot IDs for chaining to list_graphs?). Violates pattern:tool and mxe:include-chaining-ids.
Parameter descriptions missing or minimal. 'action' in edit_graph_live has no description, LLM cannot infer valid values. 'nodes' and 'edges' in patch_graph lack type details. Violates pattern:tool-description.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot distinguish safe reads from destructive writes without parsing descriptions. delete_bot, delete_graph, delete_file, article_delete lack explicit destructive markers.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Создать новый бот.
Создать новый граф (сценарий) для бота.
Удалить бота.
Удалить файл из библиотеки медиа по ID.
Удалить граф.
Редактировать граф в реальном времени (WebSocket-подобный интерфейс через polling).
Получить информацию о боте по ID.
Получить информацию о канале/группе по ID.
Получить информацию о файле по ID.
Получить полный граф (узлы, рёбра, конфиг) по ID.
Получить компактную сводку графа (узлы, рёбра, статус) без объёмных данных.
Список ботов пользователя (id, имя, статус).
Список каналов/групп, подключённых к боту.
Список загруженных файлов в библиотеке медиа.
Список графов (сценариев) бота.
Обновить граф (узлы, рёбра, метаданные). Поддерживает частичное обновление.
Опубликовать граф (сценарий) бота.
Сохранить персональный токен (zmcp_...), который пользователь создал на /bots/mcp-tokens. Применяется сразу, без рестарта.
Показать статус авторизации и пошаговую инструкцию подключения. Вызывай первым, если пользователь не знает, что делать, или при ошибке доступа.
Снять граф с публикации.
Обновить параметры бота (имя, описание, платформа и т.д.).
Обновить параметры канала/группы.
Загрузить файл в библиотеку медиа (изображения, видео, аудио, документы).
Валидировать граф (проверить структуру, узлы, рёбра, конфиги) без публикации.
Error handling lacks recovery guidance. api() throws generic errors like 'HTTP 401' without suggesting next steps (e.g., 'Create a new token at /bots/mcp-tokens'). Violates pattern:recovery-guide.
Descriptions are terse and procedural (avg ~50 chars). 'Список ботов пользователя' (List user bots) lacks WHEN to use, prerequisites, or what fields are returned. Violates pattern:tool-description baseline of 50-200 chars with context.