{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_fh7xe5uk96h9","handle":"anyskills","url":"https://wellknown.network/agents/anyskills","links":{"self":"https://wellknown.network/agents/anyskills/record.json","html":"https://wellknown.network/agents/anyskills","markdown":"https://wellknown.network/agents/anyskills/record.md","api":"https://wellknown.network/api/v1/agents/anyskills","status":"https://wellknown.network/api/v1/agents/anyskills/status","claim":"https://wellknown.network/agents/anyskills/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/anyskills/claim.json","badge":"https://wellknown.network/agents/anyskills/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/anyskills/history","tools":"https://wellknown.network/api/v1/agents/anyskills/tools"},"ard":{"identifier":"urn:air:mcp.anyskills.ru:server:anyskills","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"AnySkills","summary":"AnySkills online school: build courses, lessons and tests, publish, track student progress.","description":"AnySkills online school: build courses, lessons and tests, publish, track student progress.","publisher":{"name":"ru.anyskills","url":null},"homepage":"https://anyskills.ru/ai/","repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.anyskills.ru","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-08T15:07:33.546935Z","publishedAt":"2026-09-08T15:07:33.546935Z","registryName":"ru.anyskills/anyskills"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"productivity.crm","name":"CRM & Sales","confidence":0.962,"provenance":"derived"},{"slug":"communication.sms-voice","name":"SMS & Voice","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"}],"categories":["commerce","communication","content","productivity"],"language":"fr"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-12T01:25:20.587Z","lastProbedAt":"2026-10-12T01:25:20.587Z","statusComputedAt":"2026-10-12T01:27:40.400Z","reliability30d":{"probes":110,"successRate":1,"p50Ms":99,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":109,"ok":109,"authBoundaryOk":0,"serviceOk":109,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-12T01:25:20.587Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":103,"error":null,"detail":{"tools":[{"name":"get_school_summary","description":"Название школы, тариф, сколько курсов и из них опубликовано,\nсколько учеников и потоков, и что можно этому ключу.\n\nИИ вызывает это первым при подключении и пред"},{"name":"list_courses","description":"Все курсы школы, включая черновики: название, опубликован ли,\nсколько модулей и уроков. Звать первым, чтобы узнать номера курсов\nдля остальных запросов. Чернови"},{"name":"create_course","description":"Заводит курс-черновик: ученикам он не виден, пока не опубликован\nчерез `publish_course`. Черновиков можно держать сколько угодно\nна любом тарифе. Режим доступа:"},{"name":"get_course","description":"Один курс целиком: модули по порядку, в каждом — уроки по порядку\nс типом (`lecture`, `practice`, `webinar`, `test`, `survey`),\nдлительностью и признаком обязат"},{"name":"get_lesson","description":"Документ урока в формате Editor.js: список блоков `header`,\n`paragraph`, `list`, `quote`, `callout`, `code`, `table`, `image`,\n`video`, `file`. Это тот же форма"},{"name":"update_lesson","description":"Меняет название и/или документ урока. Истории правок нет и замена\nнеобратима, поэтому при замене документа ОБЯЗАТЕЛЬНО передать\n`updated_at` из `get_lesson`: ес"},{"name":"get_test","description":"Тест целиком: порог зачёта, число попыток и вопросы по порядку.\nУ каждого вопроса тип (`one`, `many`, `text`, `number`, `open`),\nварианты с отметкой верного либ"},{"name":"create_module","description":"Модуль встаёт в конец курса. Уроки добавляются в модуль отдельно,\n`create_lesson`. Порядок модулей потом можно поменять в кабинете."},{"name":"create_lesson","description":"Урок встаёт в конец модуля. `document` — в формате Editor.js:\n`{\"blocks\": [{\"type\": \"header\", \"data\": {\"text\": \"...\", \"level\": 2}},\n{\"type\": \"paragraph\", \"data\""},{"name":"create_test","description":"Тест целиком за один вызов: параметры и вопросы по порядку.\nТипы вопросов: `one` (один из списка, ровно один верный), `many`\n(несколько верных), `text` и `numbe"},{"name":"publish_course","description":"Открывает курс ученикам или возвращает в черновики. Публикация\nидёт через лимит тарифа — ту же проверку, что кнопка в кабинете:\nсчитаются только опубликованные "},{"name":"list_cohorts","description":"Потоки: курс, даты старта и окончания, сколько записано. Поток —\nгруппа учеников с общим расписанием; прогресс по нему —\n`cohort_progress`. Ученики вне потоков "},{"name":"cohort_progress","description":"По каждому ученику потока: процент курса (считается по обязательным\nопубликованным урокам, как в кабинете), когда последний раз заходил\nили проходил урок, сколь"},{"name":"stuck_students","description":"Ученики, которые не дошли до конца и ничего не делали дольше `days`\nдней (ни входа, ни пройденного урока). Это адрес для куратора,\nа не оценка ученика. `cohort_"},{"name":"review_queue","description":"Работы, которые ждут куратора: кто сдал, по какому заданию, когда\nи сколько часов ждёт. Отсортировано от самых старых. Принять или\nвернуть работу через API нель"},{"name":"question_stats","description":"По каждому вопросу теста: сколько ответов и какая доля верных\nпо завершённым попыткам. Считаются ВСЕ попытки, а не последняя:\nвопрос, на котором спотыкаются с п"},{"name":"list_sales_stages","description":"Этапы воронки продаж школы по порядку: номер, название и смысл\n(open — в работе, won — успех, lost — отказ). Нужны, чтобы перевести\nсделку или отобрать сделки н"},{"name":"create_sales_stage","description":"Новый этап «в работе» в воронке продаж: сразу после after_stage_id,\nа без него перед «Оплачено» и «Отказом». Цвет: secondary, azure,\nblue, purple, yellow, orang"},{"name":"list_deals","description":"Сделки школы, новые сверху: этап, курс, сумма, метки, откуда пришёл\nчеловек. Например, «какие сделки ждут оплаты»: отбор по этапу, «кто\nмолчит»: по метке (`tag`"},{"name":"get_deal","description":"Одна сделка: поля, человек и последние 30 событий ленты (заметки\nменеджеров, переводы, открытие доступа, оплаты). Помогает ответить,\nчто с человеком происходит "},{"name":"create_lead","description":"Завести заявку: человек и сделка одним запросом. Нужна почта,\nтелефон или Telegram. Человек, который уже есть, не заводится второй\nраз; повторная заявка про то "},{"name":"move_deal","description":"Перевести сделку на другой этап той же воронки. Для отказа можно\nуказать причину. Перевод пишется в ленту сделки с пометкой, что его\nсделал ключ API сотрудника."},{"name":"add_deal_note","description":"Добавить заметку в ленту сделки: итог звонка, договорённость,\nвозражение. Заметку увидят менеджеры в карточке сделки."},{"name":"list_deal_tags","description":"Справочник меток сделок школы: имя, цвет, группа «одна из» (у сделки\nодна метка группы, новая снимает прежнюю), признак источника (откуда\nпришёл человек), прежн"},{"name":"create_deal_tag","description":"Новая метка в справочнике сделок. group: имя группы «одна из»\n(у сделки одна метка группы, например «Урок»), новая группа заведётся.\nis_source: метка говорит, о"},{"name":"add_deal_tag","description":"Поставить сделке метку по имени. Имя сравнивается без регистра и\nс прежними именами меток; такой метки нет, она заводится. Если метка\nв группе «одна из», прежня"},{"name":"remove_deal_tag","description":"Снять со сделки метку по имени (или прежнему имени). Метка остаётся\nв справочнике и на других сделках. Если её на сделке не было, ответ\n`changed: false`."},{"name":"add_deal_task","description":"Поставить задачу по сделке со сроком: позвонить, отправить договор.\nОтветственный — хозяин ключа. Срок обязателен: задача без срока не\nпопадёт в «Сегодня» и буд"},{"name":"update_sales_stage","description":"Переименовать этап, сменить цвет или переставить: after_stage_id\nэто этап, после которого он встанет. Смысл этапа (в работе, успех,\nотказ) меняется только в каб"},{"name":"update_deal_tag","description":"Переименовать метку (прежнее имя запомнится, бот и правила по нему\nеё найдут), сменить цвет, группу (пустая строка убирает из группы)\nили признак источника. Уда"},{"name":"list_sales_rules","description":"Шаги правил продаж: повод (event tag или stage, с номером метки или\nэтапа), через сколько минут, что сделать (action: bot запустить\nворонку бота, tag_add, tag_r"},{"name":"create_sales_rule","description":"Шаг правила продаж, ВСЕГДА выключенный: включает его владелец\nв кабинете, до этого он ничего не делает. Повод: event tag (tag_id,\nметка поставлена на сделку) ил"},{"name":"update_sales_rule","description":"Поправить шаг правила, пока он выключен: только присланные поля.\nВключённый шаг работает на людях, его меняет только владелец\nв кабинете: ответ 409."},{"name":"list_bots","description":"Боты школы в Telegram: номер, название, адрес и работает ли.\nНомер бота нужен, чтобы читать его воронки и собирать новые."},{"name":"list_funnels","description":"Воронки бота: состояние (draft — черновик, active — работает,\npaused — остановлена), есть ли неопубликованные правки и чьи."},{"name":"create_funnel_draft","description":"Новая воронка бота черновиком. Людям ничего не уходит: опубликовать\nеё может только человек в кабинете, ссылка в ответе (editor_url).\nФормат воронки: get_funnel"},{"name":"get_funnel_format","description":"Формат воронки: блоки, их настройки и стрелки. Прочитать до того,\nкак собирать или править воронку: черновик присылается целиком\nв этом формате."},{"name":"get_funnel","description":"Черновик и опубликованная версия воронки, номер версии черновика\n(нужен для правки) и сколько людей сейчас стоит на каждом блоке\nопубликованной версии. Люди счи"},{"name":"check_funnel","description":"Та же проверка, что перед публикацией, но ничего не публикует.\nerrors: не опубликуется, пока не исправить; warnings: можно, но стоит\nпосмотреть. У каждой записи"},{"name":"update_funnel_draft","description":"Заменить черновик воронки целиком, в том числе у работающей:\nлюди идут по опубликованной версии, пока человек не опубликует\nправки в кабинете (там он увидит их "},{"name":"list_short_links","description":"Короткие ссылки школы, новые сверху: короткий адрес, куда ведёт\n(адрес или бот с кодом воронки), площадка, ролик или кампания, метки\nи цифры за последние 30 дне"},{"name":"create_short_link","description":"Короткая ссылка на домене школы: на адрес (url) или в бота\n(bot_username и, если нужно, start_code: код воронки «Старта»).\nplatform (youtube, vk, rutube, telegr"},{"name":"get_link_stats","description":"Что принесла одна ссылка за период. funnel: clicks (переходы),\npeople (разные люди), to_bot (пришли в бота), leads (заявки с сайта),\ndeals (сделки), payments (о"},{"name":"suggest_link_path","description":"До трёх свободных понятных путей для новой ссылки, лучшие первыми:\nлатиница, дефисы, до 40 знаков (go.школа.ru/osi-minikurs вместо\ngo.школа.ru/k7Pq2a). Строятся"},{"name":"update_short_link","description":"Поменять, куда ведёт ссылка (url), её название (title) или убрать\nв архив (archived=true, вернуть: false). Короткий адрес не меняется:\nновый url сразу получат в"}],"toolCount":45,"toolsHash":"526804e654088e16ad75952852fd5c903c2e06735467792e67e84cdc3653ee27","serverName":"AnySkills","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.11","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T18:26:05.190Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":101,"error":null,"detail":{"tools":[{"name":"get_school_summary","description":"Название школы, тариф, сколько курсов и из них опубликовано,\nсколько учеников и потоков, и что можно этому ключу.\n\nИИ вызывает это первым при подключении и пред"},{"name":"list_courses","description":"Все курсы школы, включая черновики: название, опубликован ли,\nсколько модулей и уроков. Звать первым, чтобы узнать номера курсов\nдля остальных запросов. Чернови"},{"name":"create_course","description":"Заводит курс-черновик: ученикам он не виден, пока не опубликован\nчерез `publish_course`. Черновиков можно держать сколько угодно\nна любом тарифе. Режим доступа:"},{"name":"get_course","description":"Один курс целиком: модули по порядку, в каждом — уроки по порядку\nс типом (`lecture`, `practice`, `webinar`, `test`, `survey`),\nдлительностью и признаком обязат"},{"name":"get_lesson","description":"Документ урока в формате Editor.js: список блоков `header`,\n`paragraph`, `list`, `quote`, `callout`, `code`, `table`, `image`,\n`video`, `file`. Это тот же форма"},{"name":"update_lesson","description":"Меняет название и/или документ урока. Истории правок нет и замена\nнеобратима, поэтому при замене документа ОБЯЗАТЕЛЬНО передать\n`updated_at` из `get_lesson`: ес"},{"name":"get_test","description":"Тест целиком: порог зачёта, число попыток и вопросы по порядку.\nУ каждого вопроса тип (`one`, `many`, `text`, `number`, `open`),\nварианты с отметкой верного либ"},{"name":"create_module","description":"Модуль встаёт в конец курса. Уроки добавляются в модуль отдельно,\n`create_lesson`. Порядок модулей потом можно поменять в кабинете."},{"name":"create_lesson","description":"Урок встаёт в конец модуля. `document` — в формате Editor.js:\n`{\"blocks\": [{\"type\": \"header\", \"data\": {\"text\": \"...\", \"level\": 2}},\n{\"type\": \"paragraph\", \"data\""},{"name":"create_test","description":"Тест целиком за один вызов: параметры и вопросы по порядку.\nТипы вопросов: `one` (один из списка, ровно один верный), `many`\n(несколько верных), `text` и `numbe"},{"name":"publish_course","description":"Открывает курс ученикам или возвращает в черновики. Публикация\nидёт через лимит тарифа — ту же проверку, что кнопка в кабинете:\nсчитаются только опубликованные "},{"name":"list_cohorts","description":"Потоки: курс, даты старта и окончания, сколько записано. Поток —\nгруппа учеников с общим расписанием; прогресс по нему —\n`cohort_progress`. Ученики вне потоков "},{"name":"cohort_progress","description":"По каждому ученику потока: процент курса (считается по обязательным\nопубликованным урокам, как в кабинете), когда последний раз заходил\nили проходил урок, сколь"},{"name":"stuck_students","description":"Ученики, которые не дошли до конца и ничего не делали дольше `days`\nдней (ни входа, ни пройденного урока). Это адрес для куратора,\nа не оценка ученика. `cohort_"},{"name":"review_queue","description":"Работы, которые ждут куратора: кто сдал, по какому заданию, когда\nи сколько часов ждёт. Отсортировано от самых старых. Принять или\nвернуть работу через API нель"},{"name":"question_stats","description":"По каждому вопросу теста: сколько ответов и какая доля верных\nпо завершённым попыткам. Считаются ВСЕ попытки, а не последняя:\nвопрос, на котором спотыкаются с п"},{"name":"list_sales_stages","description":"Этапы воронки продаж школы по порядку: номер, название и смысл\n(open — в работе, won — успех, lost — отказ). Нужны, чтобы перевести\nсделку или отобрать сделки н"},{"name":"create_sales_stage","description":"Новый этап «в работе» в воронке продаж: сразу после after_stage_id,\nа без него перед «Оплачено» и «Отказом». Цвет: secondary, azure,\nblue, purple, yellow, orang"},{"name":"list_deals","description":"Сделки школы, новые сверху: этап, курс, сумма, метки, откуда пришёл\nчеловек. Например, «какие сделки ждут оплаты»: отбор по этапу, «кто\nмолчит»: по метке (`tag`"},{"name":"get_deal","description":"Одна сделка: поля, человек и последние 30 событий ленты (заметки\nменеджеров, переводы, открытие доступа, оплаты). Помогает ответить,\nчто с человеком происходит "},{"name":"create_lead","description":"Завести заявку: человек и сделка одним запросом. Нужна почта,\nтелефон или Telegram. Человек, который уже есть, не заводится второй\nраз; повторная заявка про то "},{"name":"move_deal","description":"Перевести сделку на другой этап той же воронки. Для отказа можно\nуказать причину. Перевод пишется в ленту сделки с пометкой, что его\nсделал ключ API сотрудника."},{"name":"add_deal_note","description":"Добавить заметку в ленту сделки: итог звонка, договорённость,\nвозражение. Заметку увидят менеджеры в карточке сделки."},{"name":"list_deal_tags","description":"Справочник меток сделок школы: имя, цвет, группа «одна из» (у сделки\nодна метка группы, новая снимает прежнюю), признак источника (откуда\nпришёл человек), прежн"},{"name":"create_deal_tag","description":"Новая метка в справочнике сделок. group: имя группы «одна из»\n(у сделки одна метка группы, например «Урок»), новая группа заведётся.\nis_source: метка говорит, о"},{"name":"add_deal_tag","description":"Поставить сделке метку по имени. Имя сравнивается без регистра и\nс прежними именами меток; такой метки нет, она заводится. Если метка\nв группе «одна из», прежня"},{"name":"remove_deal_tag","description":"Снять со сделки метку по имени (или прежнему имени). Метка остаётся\nв справочнике и на других сделках. Если её на сделке не было, ответ\n`changed: false`."},{"name":"add_deal_task","description":"Поставить задачу по сделке со сроком: позвонить, отправить договор.\nОтветственный — хозяин ключа. Срок обязателен: задача без срока не\nпопадёт в «Сегодня» и буд"},{"name":"update_sales_stage","description":"Переименовать этап, сменить цвет или переставить: after_stage_id\nэто этап, после которого он встанет. Смысл этапа (в работе, успех,\nотказ) меняется только в каб"},{"name":"update_deal_tag","description":"Переименовать метку (прежнее имя запомнится, бот и правила по нему\nеё найдут), сменить цвет, группу (пустая строка убирает из группы)\nили признак источника. Уда"},{"name":"list_sales_rules","description":"Шаги правил продаж: повод (event tag или stage, с номером метки или\nэтапа), через сколько минут, что сделать (action: bot запустить\nворонку бота, tag_add, tag_r"},{"name":"create_sales_rule","description":"Шаг правила продаж, ВСЕГДА выключенный: включает его владелец\nв кабинете, до этого он ничего не делает. Повод: event tag (tag_id,\nметка поставлена на сделку) ил"},{"name":"update_sales_rule","description":"Поправить шаг правила, пока он выключен: только присланные поля.\nВключённый шаг работает на людях, его меняет только владелец\nв кабинете: ответ 409."},{"name":"list_bots","description":"Боты школы в Telegram: номер, название, адрес и работает ли.\nНомер бота нужен, чтобы читать его воронки и собирать новые."},{"name":"list_funnels","description":"Воронки бота: состояние (draft — черновик, active — работает,\npaused — остановлена), есть ли неопубликованные правки и чьи."},{"name":"create_funnel_draft","description":"Новая воронка бота черновиком. Людям ничего не уходит: опубликовать\nеё может только человек в кабинете, ссылка в ответе (editor_url).\nФормат воронки: get_funnel"},{"name":"get_funnel_format","description":"Формат воронки: блоки, их настройки и стрелки. Прочитать до того,\nкак собирать или править воронку: черновик присылается целиком\nв этом формате."},{"name":"get_funnel","description":"Черновик и опубликованная версия воронки, номер версии черновика\n(нужен для правки) и сколько людей сейчас стоит на каждом блоке\nопубликованной версии. Люди счи"},{"name":"check_funnel","description":"Та же проверка, что перед публикацией, но ничего не публикует.\nerrors: не опубликуется, пока не исправить; warnings: можно, но стоит\nпосмотреть. У каждой записи"},{"name":"update_funnel_draft","description":"Заменить черновик воронки целиком, в том числе у работающей:\nлюди идут по опубликованной версии, пока человек не опубликует\nправки в кабинете (там он увидит их "},{"name":"list_short_links","description":"Короткие ссылки школы, новые сверху: короткий адрес, куда ведёт\n(адрес или бот с кодом воронки), площадка, ролик или кампания, метки\nи цифры за последние 30 дне"},{"name":"create_short_link","description":"Короткая ссылка на домене школы: на адрес (url) или в бота\n(bot_username и, если нужно, start_code: код воронки «Старта»).\nplatform (youtube, vk, rutube, telegr"},{"name":"get_link_stats","description":"Что принесла одна ссылка за период. funnel: clicks (переходы),\npeople (разные люди), to_bot (пришли в бота), leads (заявки с сайта),\ndeals (сделки), payments (о"},{"name":"suggest_link_path","description":"До трёх свободных понятных путей для новой ссылки, лучшие первыми:\nлатиница, дефисы, до 40 знаков (go.школа.ru/osi-minikurs вместо\ngo.школа.ru/k7Pq2a). Строятся"},{"name":"update_short_link","description":"Поменять, куда ведёт ссылка (url), её название (title) или убрать\nв архив (archived=true, вернуть: false). Короткий адрес не меняется:\nновый url сразу получат в"}],"toolCount":45,"toolsHash":"526804e654088e16ad75952852fd5c903c2e06735467792e67e84cdc3653ee27","serverName":"AnySkills","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.11","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T11:22:46.395Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":92,"error":null,"detail":{"tools":[{"name":"get_school_summary","description":"Название школы, тариф, сколько курсов и из них опубликовано,\nсколько учеников и потоков, и что можно этому ключу.\n\nИИ вызывает это первым при подключении и пред"},{"name":"list_courses","description":"Все курсы школы, включая черновики: название, опубликован ли,\nсколько модулей и уроков. Звать первым, чтобы узнать номера курсов\nдля остальных запросов. Чернови"},{"name":"create_course","description":"Заводит курс-черновик: ученикам он не виден, пока не опубликован\nчерез `publish_course`. Черновиков можно держать сколько угодно\nна любом тарифе. Режим доступа:"},{"name":"get_course","description":"Один курс целиком: модули по порядку, в каждом — уроки по порядку\nс типом (`lecture`, `practice`, `webinar`, `test`, `survey`),\nдлительностью и признаком обязат"},{"name":"get_lesson","description":"Документ урока в формате Editor.js: список блоков `header`,\n`paragraph`, `list`, `quote`, `callout`, `code`, `table`, `image`,\n`video`, `file`. Это тот же форма"},{"name":"update_lesson","description":"Меняет название и/или документ урока. Истории правок нет и замена\nнеобратима, поэтому при замене документа ОБЯЗАТЕЛЬНО передать\n`updated_at` из `get_lesson`: ес"},{"name":"get_test","description":"Тест целиком: порог зачёта, число попыток и вопросы по порядку.\nУ каждого вопроса тип (`one`, `many`, `text`, `number`, `open`),\nварианты с отметкой верного либ"},{"name":"create_module","description":"Модуль встаёт в конец курса. Уроки добавляются в модуль отдельно,\n`create_lesson`. Порядок модулей потом можно поменять в кабинете."},{"name":"create_lesson","description":"Урок встаёт в конец модуля. `document` — в формате Editor.js:\n`{\"blocks\": [{\"type\": \"header\", \"data\": {\"text\": \"...\", \"level\": 2}},\n{\"type\": \"paragraph\", \"data\""},{"name":"create_test","description":"Тест целиком за один вызов: параметры и вопросы по порядку.\nТипы вопросов: `one` (один из списка, ровно один верный), `many`\n(несколько верных), `text` и `numbe"},{"name":"publish_course","description":"Открывает курс ученикам или возвращает в черновики. Публикация\nидёт через лимит тарифа — ту же проверку, что кнопка в кабинете:\nсчитаются только опубликованные "},{"name":"list_cohorts","description":"Потоки: курс, даты старта и окончания, сколько записано. Поток —\nгруппа учеников с общим расписанием; прогресс по нему —\n`cohort_progress`. Ученики вне потоков "},{"name":"cohort_progress","description":"По каждому ученику потока: процент курса (считается по обязательным\nопубликованным урокам, как в кабинете), когда последний раз заходил\nили проходил урок, сколь"},{"name":"stuck_students","description":"Ученики, которые не дошли до конца и ничего не делали дольше `days`\nдней (ни входа, ни пройденного урока). Это адрес для куратора,\nа не оценка ученика. `cohort_"},{"name":"review_queue","description":"Работы, которые ждут куратора: кто сдал, по какому заданию, когда\nи сколько часов ждёт. Отсортировано от самых старых. Принять или\nвернуть работу через API нель"},{"name":"question_stats","description":"По каждому вопросу теста: сколько ответов и какая доля верных\nпо завершённым попыткам. Считаются ВСЕ попытки, а не последняя:\nвопрос, на котором спотыкаются с п"},{"name":"list_sales_stages","description":"Этапы воронки продаж школы по порядку: номер, название и смысл\n(open — в работе, won — успех, lost — отказ). Нужны, чтобы перевести\nсделку или отобрать сделки н"},{"name":"create_sales_stage","description":"Новый этап «в работе» в воронке продаж: сразу после after_stage_id,\nа без него перед «Оплачено» и «Отказом». Цвет: secondary, azure,\nblue, purple, yellow, orang"},{"name":"list_deals","description":"Сделки школы, новые сверху: этап, курс, сумма, метки, откуда пришёл\nчеловек. Например, «какие сделки ждут оплаты»: отбор по этапу, «кто\nмолчит»: по метке (`tag`"},{"name":"get_deal","description":"Одна сделка: поля, человек и последние 30 событий ленты (заметки\nменеджеров, переводы, открытие доступа, оплаты). Помогает ответить,\nчто с человеком происходит "},{"name":"create_lead","description":"Завести заявку: человек и сделка одним запросом. Нужна почта,\nтелефон или Telegram. Человек, который уже есть, не заводится второй\nраз; повторная заявка про то "},{"name":"move_deal","description":"Перевести сделку на другой этап той же воронки. Для отказа можно\nуказать причину. Перевод пишется в ленту сделки с пометкой, что его\nсделал ключ API сотрудника."},{"name":"add_deal_note","description":"Добавить заметку в ленту сделки: итог звонка, договорённость,\nвозражение. Заметку увидят менеджеры в карточке сделки."},{"name":"list_deal_tags","description":"Справочник меток сделок школы: имя, цвет, группа «одна из» (у сделки\nодна метка группы, новая снимает прежнюю), признак источника (откуда\nпришёл человек), прежн"},{"name":"create_deal_tag","description":"Новая метка в справочнике сделок. group: имя группы «одна из»\n(у сделки одна метка группы, например «Урок»), новая группа заведётся.\nis_source: метка говорит, о"},{"name":"add_deal_tag","description":"Поставить сделке метку по имени. Имя сравнивается без регистра и\nс прежними именами меток; такой метки нет, она заводится. Если метка\nв группе «одна из», прежня"},{"name":"remove_deal_tag","description":"Снять со сделки метку по имени (или прежнему имени). Метка остаётся\nв справочнике и на других сделках. Если её на сделке не было, ответ\n`changed: false`."},{"name":"add_deal_task","description":"Поставить задачу по сделке со сроком: позвонить, отправить договор.\nОтветственный — хозяин ключа. Срок обязателен: задача без срока не\nпопадёт в «Сегодня» и буд"},{"name":"update_sales_stage","description":"Переименовать этап, сменить цвет или переставить: after_stage_id\nэто этап, после которого он встанет. Смысл этапа (в работе, успех,\nотказ) меняется только в каб"},{"name":"update_deal_tag","description":"Переименовать метку (прежнее имя запомнится, бот и правила по нему\nеё найдут), сменить цвет, группу (пустая строка убирает из группы)\nили признак источника. Уда"},{"name":"list_sales_rules","description":"Шаги правил продаж: повод (event tag или stage, с номером метки или\nэтапа), через сколько минут, что сделать (action: bot запустить\nворонку бота, tag_add, tag_r"},{"name":"create_sales_rule","description":"Шаг правила продаж, ВСЕГДА выключенный: включает его владелец\nв кабинете, до этого он ничего не делает. Повод: event tag (tag_id,\nметка поставлена на сделку) ил"},{"name":"update_sales_rule","description":"Поправить шаг правила, пока он выключен: только присланные поля.\nВключённый шаг работает на людях, его меняет только владелец\nв кабинете: ответ 409."},{"name":"list_bots","description":"Боты школы в Telegram: номер, название, адрес и работает ли.\nНомер бота нужен, чтобы читать его воронки и собирать новые."},{"name":"list_funnels","description":"Воронки бота: состояние (draft — черновик, active — работает,\npaused — остановлена), есть ли неопубликованные правки и чьи."},{"name":"create_funnel_draft","description":"Новая воронка бота черновиком. Людям ничего не уходит: опубликовать\nеё может только человек в кабинете, ссылка в ответе (editor_url).\nФормат воронки: get_funnel"},{"name":"get_funnel_format","description":"Формат воронки: блоки, их настройки и стрелки. Прочитать до того,\nкак собирать или править воронку: черновик присылается целиком\nв этом формате."},{"name":"get_funnel","description":"Черновик и опубликованная версия воронки, номер версии черновика\n(нужен для правки) и сколько людей сейчас стоит на каждом блоке\nопубликованной версии. Люди счи"},{"name":"check_funnel","description":"Та же проверка, что перед публикацией, но ничего не публикует.\nerrors: не опубликуется, пока не исправить; warnings: можно, но стоит\nпосмотреть. У каждой записи"},{"name":"update_funnel_draft","description":"Заменить черновик воронки целиком, в том числе у работающей:\nлюди идут по опубликованной версии, пока человек не опубликует\nправки в кабинете (там он увидит их "},{"name":"list_short_links","description":"Короткие ссылки школы, новые сверху: короткий адрес, куда ведёт\n(адрес или бот с кодом воронки), площадка, ролик или кампания, метки\nи цифры за последние 30 дне"},{"name":"create_short_link","description":"Короткая ссылка на домене школы: на адрес (url) или в бота\n(bot_username и, если нужно, start_code: код воронки «Старта»).\nplatform (youtube, vk, rutube, telegr"},{"name":"get_link_stats","description":"Что принесла одна ссылка за период. funnel: clicks (переходы),\npeople (разные люди), to_bot (пришли в бота), leads (заявки с сайта),\ndeals (сделки), payments (о"},{"name":"suggest_link_path","description":"До трёх свободных понятных путей для новой ссылки, лучшие первыми:\nлатиница, дефисы, до 40 знаков (go.школа.ru/osi-minikurs вместо\ngo.школа.ru/k7Pq2a). Строятся"},{"name":"update_short_link","description":"Поменять, куда ведёт ссылка (url), её название (title) или убрать\nв архив (archived=true, вернуть: false). Короткий адрес не меняется:\nновый url сразу получат в"}],"toolCount":45,"toolsHash":"526804e654088e16ad75952852fd5c903c2e06735467792e67e84cdc3653ee27","serverName":"AnySkills","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.11","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T04:26:14.247Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":106,"error":null,"detail":{"tools":[{"name":"get_school_summary","description":"Название школы, тариф, сколько курсов и из них опубликовано,\nсколько учеников и потоков, и что можно этому ключу.\n\nИИ вызывает это первым при подключении и пред"},{"name":"list_courses","description":"Все курсы школы, включая черновики: название, опубликован ли,\nсколько модулей и уроков. Звать первым, чтобы узнать номера курсов\nдля остальных запросов. Чернови"},{"name":"create_course","description":"Заводит курс-черновик: ученикам он не виден, пока не опубликован\nчерез `publish_course`. Черновиков можно держать сколько угодно\nна любом тарифе. Режим доступа:"},{"name":"get_course","description":"Один курс целиком: модули по порядку, в каждом — уроки по порядку\nс типом (`lecture`, `practice`, `webinar`, `test`, `survey`),\nдлительностью и признаком обязат"},{"name":"get_lesson","description":"Документ урока в формате Editor.js: список блоков `header`,\n`paragraph`, `list`, `quote`, `callout`, `code`, `table`, `image`,\n`video`, `file`. Это тот же форма"},{"name":"update_lesson","description":"Меняет название и/или документ урока. Истории правок нет и замена\nнеобратима, поэтому при замене документа ОБЯЗАТЕЛЬНО передать\n`updated_at` из `get_lesson`: ес"},{"name":"get_test","description":"Тест целиком: порог зачёта, число попыток и вопросы по порядку.\nУ каждого вопроса тип (`one`, `many`, `text`, `number`, `open`),\nварианты с отметкой верного либ"},{"name":"create_module","description":"Модуль встаёт в конец курса. Уроки добавляются в модуль отдельно,\n`create_lesson`. Порядок модулей потом можно поменять в кабинете."},{"name":"create_lesson","description":"Урок встаёт в конец модуля. `document` — в формате Editor.js:\n`{\"blocks\": [{\"type\": \"header\", \"data\": {\"text\": \"...\", \"level\": 2}},\n{\"type\": \"paragraph\", \"data\""},{"name":"create_test","description":"Тест целиком за один вызов: параметры и вопросы по порядку.\nТипы вопросов: `one` (один из списка, ровно один верный), `many`\n(несколько верных), `text` и `numbe"},{"name":"publish_course","description":"Открывает курс ученикам или возвращает в черновики. Публикация\nидёт через лимит тарифа — ту же проверку, что кнопка в кабинете:\nсчитаются только опубликованные "},{"name":"list_cohorts","description":"Потоки: курс, даты старта и окончания, сколько записано. Поток —\nгруппа учеников с общим расписанием; прогресс по нему —\n`cohort_progress`. Ученики вне потоков "},{"name":"cohort_progress","description":"По каждому ученику потока: процент курса (считается по обязательным\nопубликованным урокам, как в кабинете), когда последний раз заходил\nили проходил урок, сколь"},{"name":"stuck_students","description":"Ученики, которые не дошли до конца и ничего не делали дольше `days`\nдней (ни входа, ни пройденного урока). Это адрес для куратора,\nа не оценка ученика. `cohort_"},{"name":"review_queue","description":"Работы, которые ждут куратора: кто сдал, по какому заданию, когда\nи сколько часов ждёт. Отсортировано от самых старых. Принять или\nвернуть работу через API нель"},{"name":"question_stats","description":"По каждому вопросу теста: сколько ответов и какая доля верных\nпо завершённым попыткам. Считаются ВСЕ попытки, а не последняя:\nвопрос, на котором спотыкаются с п"},{"name":"list_sales_stages","description":"Этапы воронки продаж школы по порядку: номер, название и смысл\n(open — в работе, won — успех, lost — отказ). Нужны, чтобы перевести\nсделку или отобрать сделки н"},{"name":"create_sales_stage","description":"Новый этап «в работе» в воронке продаж: сразу после after_stage_id,\nа без него перед «Оплачено» и «Отказом». Цвет: secondary, azure,\nblue, purple, yellow, orang"},{"name":"list_deals","description":"Сделки школы, новые сверху: этап, курс, сумма, метки, откуда пришёл\nчеловек. Например, «какие сделки ждут оплаты»: отбор по этапу, «кто\nмолчит»: по метке (`tag`"},{"name":"get_deal","description":"Одна сделка: поля, человек и последние 30 событий ленты (заметки\nменеджеров, переводы, открытие доступа, оплаты). Помогает ответить,\nчто с человеком происходит "},{"name":"create_lead","description":"Завести заявку: человек и сделка одним запросом. Нужна почта,\nтелефон или Telegram. Человек, который уже есть, не заводится второй\nраз; повторная заявка про то "},{"name":"move_deal","description":"Перевести сделку на другой этап той же воронки. Для отказа можно\nуказать причину. Перевод пишется в ленту сделки с пометкой, что его\nсделал ключ API сотрудника."},{"name":"add_deal_note","description":"Добавить заметку в ленту сделки: итог звонка, договорённость,\nвозражение. Заметку увидят менеджеры в карточке сделки."},{"name":"list_deal_tags","description":"Справочник меток сделок школы: имя, цвет, группа «одна из» (у сделки\nодна метка группы, новая снимает прежнюю), признак источника (откуда\nпришёл человек), прежн"},{"name":"create_deal_tag","description":"Новая метка в справочнике сделок. group: имя группы «одна из»\n(у сделки одна метка группы, например «Урок»), новая группа заведётся.\nis_source: метка говорит, о"},{"name":"add_deal_tag","description":"Поставить сделке метку по имени. Имя сравнивается без регистра и\nс прежними именами меток; такой метки нет, она заводится. Если метка\nв группе «одна из», прежня"},{"name":"remove_deal_tag","description":"Снять со сделки метку по имени (или прежнему имени). Метка остаётся\nв справочнике и на других сделках. Если её на сделке не было, ответ\n`changed: false`."},{"name":"add_deal_task","description":"Поставить задачу по сделке со сроком: позвонить, отправить договор.\nОтветственный — хозяин ключа. Срок обязателен: задача без срока не\nпопадёт в «Сегодня» и буд"},{"name":"update_sales_stage","description":"Переименовать этап, сменить цвет или переставить: after_stage_id\nэто этап, после которого он встанет. Смысл этапа (в работе, успех,\nотказ) меняется только в каб"},{"name":"update_deal_tag","description":"Переименовать метку (прежнее имя запомнится, бот и правила по нему\nеё найдут), сменить цвет, группу (пустая строка убирает из группы)\nили признак источника. Уда"},{"name":"list_sales_rules","description":"Шаги правил продаж: повод (event tag или stage, с номером метки или\nэтапа), через сколько минут, что сделать (action: bot запустить\nворонку бота, tag_add, tag_r"},{"name":"create_sales_rule","description":"Шаг правила продаж, ВСЕГДА выключенный: включает его владелец\nв кабинете, до этого он ничего не делает. Повод: event tag (tag_id,\nметка поставлена на сделку) ил"},{"name":"update_sales_rule","description":"Поправить шаг правила, пока он выключен: только присланные поля.\nВключённый шаг работает на людях, его меняет только владелец\nв кабинете: ответ 409."},{"name":"list_bots","description":"Боты школы в Telegram: номер, название, адрес и работает ли.\nНомер бота нужен, чтобы читать его воронки и собирать новые."},{"name":"list_funnels","description":"Воронки бота: состояние (draft — черновик, active — работает,\npaused — остановлена), есть ли неопубликованные правки и чьи."},{"name":"create_funnel_draft","description":"Новая воронка бота черновиком. Людям ничего не уходит: опубликовать\nеё может только человек в кабинете, ссылка в ответе (editor_url).\nФормат воронки: get_funnel"},{"name":"get_funnel_format","description":"Формат воронки: блоки, их настройки и стрелки. Прочитать до того,\nкак собирать или править воронку: черновик присылается целиком\nв этом формате."},{"name":"get_funnel","description":"Черновик и опубликованная версия воронки, номер версии черновика\n(нужен для правки) и сколько людей сейчас стоит на каждом блоке\nопубликованной версии. Люди счи"},{"name":"check_funnel","description":"Та же проверка, что перед публикацией, но ничего не публикует.\nerrors: не опубликуется, пока не исправить; warnings: можно, но стоит\nпосмотреть. У каждой записи"},{"name":"update_funnel_draft","description":"Заменить черновик воронки целиком, в том числе у работающей:\nлюди идут по опубликованной версии, пока человек не опубликует\nправки в кабинете (там он увидит их "},{"name":"list_short_links","description":"Короткие ссылки школы, новые сверху: короткий адрес, куда ведёт\n(адрес или бот с кодом воронки), площадка, ролик или кампания, метки\nи цифры за последние 30 дне"},{"name":"create_short_link","description":"Короткая ссылка на домене школы: на адрес (url) или в бота\n(bot_username и, если нужно, start_code: код воронки «Старта»).\nplatform (youtube, vk, rutube, telegr"},{"name":"get_link_stats","description":"Что принесла одна ссылка за период. funnel: clicks (переходы),\npeople (разные люди), to_bot (пришли в бота), leads (заявки с сайта),\ndeals (сделки), payments (о"},{"name":"suggest_link_path","description":"До трёх свободных понятных путей для новой ссылки, лучшие первыми:\nлатиница, дефисы, до 40 знаков (go.школа.ru/osi-minikurs вместо\ngo.школа.ru/k7Pq2a). Строятся"},{"name":"update_short_link","description":"Поменять, куда ведёт ссылка (url), её название (title) или убрать\nв архив (archived=true, вернуть: false). Короткий адрес не меняется:\nновый url сразу получат в"}],"toolCount":45,"toolsHash":"526804e654088e16ad75952852fd5c903c2e06735467792e67e84cdc3653ee27","serverName":"AnySkills","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.11","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T22:21:02.806Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":86,"error":null,"detail":{"tools":[{"name":"get_school_summary","description":"Название школы, тариф, сколько курсов и из них опубликовано,\nсколько учеников и потоков, и что можно этому ключу.\n\nИИ вызывает это первым при подключении и пред"},{"name":"list_courses","description":"Все курсы школы, включая черновики: название, опубликован ли,\nсколько модулей и уроков. Звать первым, чтобы узнать номера курсов\nдля остальных запросов. Чернови"},{"name":"create_course","description":"Заводит курс-черновик: ученикам он не виден, пока не опубликован\nчерез `publish_course`. Черновиков можно держать сколько угодно\nна любом тарифе. Режим доступа:"},{"name":"get_course","description":"Один курс целиком: модули по порядку, в каждом — уроки по порядку\nс типом (`lecture`, `practice`, `webinar`, `test`, `survey`),\nдлительностью и признаком обязат"},{"name":"get_lesson","description":"Документ урока в формате Editor.js: список блоков `header`,\n`paragraph`, `list`, `quote`, `callout`, `code`, `table`, `image`,\n`video`, `file`. Это тот же форма"},{"name":"update_lesson","description":"Меняет название и/или документ урока. Истории правок нет и замена\nнеобратима, поэтому при замене документа ОБЯЗАТЕЛЬНО передать\n`updated_at` из `get_lesson`: ес"},{"name":"get_test","description":"Тест целиком: порог зачёта, число попыток и вопросы по порядку.\nУ каждого вопроса тип (`one`, `many`, `text`, `number`, `open`),\nварианты с отметкой верного либ"},{"name":"create_module","description":"Модуль встаёт в конец курса. Уроки добавляются в модуль отдельно,\n`create_lesson`. Порядок модулей потом можно поменять в кабинете."},{"name":"create_lesson","description":"Урок встаёт в конец модуля. `document` — в формате Editor.js:\n`{\"blocks\": [{\"type\": \"header\", \"data\": {\"text\": \"...\", \"level\": 2}},\n{\"type\": \"paragraph\", \"data\""},{"name":"create_test","description":"Тест целиком за один вызов: параметры и вопросы по порядку.\nТипы вопросов: `one` (один из списка, ровно один верный), `many`\n(несколько верных), `text` и `numbe"},{"name":"publish_course","description":"Открывает курс ученикам или возвращает в черновики. Публикация\nидёт через лимит тарифа — ту же проверку, что кнопка в кабинете:\nсчитаются только опубликованные "},{"name":"list_cohorts","description":"Потоки: курс, даты старта и окончания, сколько записано. Поток —\nгруппа учеников с общим расписанием; прогресс по нему —\n`cohort_progress`. Ученики вне потоков "},{"name":"cohort_progress","description":"По каждому ученику потока: процент курса (считается по обязательным\nопубликованным урокам, как в кабинете), когда последний раз заходил\nили проходил урок, сколь"},{"name":"stuck_students","description":"Ученики, которые не дошли до конца и ничего не делали дольше `days`\nдней (ни входа, ни пройденного урока). Это адрес для куратора,\nа не оценка ученика. `cohort_"},{"name":"review_queue","description":"Работы, которые ждут куратора: кто сдал, по какому заданию, когда\nи сколько часов ждёт. Отсортировано от самых старых. Принять или\nвернуть работу через API нель"},{"name":"question_stats","description":"По каждому вопросу теста: сколько ответов и какая доля верных\nпо завершённым попыткам. Считаются ВСЕ попытки, а не последняя:\nвопрос, на котором спотыкаются с п"},{"name":"list_sales_stages","description":"Этапы воронки продаж школы по порядку: номер, название и смысл\n(open — в работе, won — успех, lost — отказ). Нужны, чтобы перевести\nсделку или отобрать сделки н"},{"name":"create_sales_stage","description":"Новый этап «в работе» в воронке продаж: сразу после after_stage_id,\nа без него перед «Оплачено» и «Отказом». Цвет: secondary, azure,\nblue, purple, yellow, orang"},{"name":"list_deals","description":"Сделки школы, новые сверху: этап, курс, сумма, метки, откуда пришёл\nчеловек. Например, «какие сделки ждут оплаты»: отбор по этапу, «кто\nмолчит»: по метке (`tag`"},{"name":"get_deal","description":"Одна сделка: поля, человек и последние 30 событий ленты (заметки\nменеджеров, переводы, открытие доступа, оплаты). Помогает ответить,\nчто с человеком происходит "},{"name":"create_lead","description":"Завести заявку: человек и сделка одним запросом. Нужна почта,\nтелефон или Telegram. Человек, который уже есть, не заводится второй\nраз; повторная заявка про то "},{"name":"move_deal","description":"Перевести сделку на другой этап той же воронки. Для отказа можно\nуказать причину. Перевод пишется в ленту сделки с пометкой, что его\nсделал ключ API сотрудника."},{"name":"add_deal_note","description":"Добавить заметку в ленту сделки: итог звонка, договорённость,\nвозражение. Заметку увидят менеджеры в карточке сделки."},{"name":"list_deal_tags","description":"Справочник меток сделок школы: имя, цвет, группа «одна из» (у сделки\nодна метка группы, новая снимает прежнюю), признак источника (откуда\nпришёл человек), прежн"},{"name":"create_deal_tag","description":"Новая метка в справочнике сделок. group: имя группы «одна из»\n(у сделки одна метка группы, например «Урок»), новая группа заведётся.\nis_source: метка говорит, о"},{"name":"add_deal_tag","description":"Поставить сделке метку по имени. Имя сравнивается без регистра и\nс прежними именами меток; такой метки нет, она заводится. Если метка\nв группе «одна из», прежня"},{"name":"remove_deal_tag","description":"Снять со сделки метку по имени (или прежнему имени). Метка остаётся\nв справочнике и на других сделках. Если её на сделке не было, ответ\n`changed: false`."},{"name":"add_deal_task","description":"Поставить задачу по сделке со сроком: позвонить, отправить договор.\nОтветственный — хозяин ключа. Срок обязателен: задача без срока не\nпопадёт в «Сегодня» и буд"},{"name":"update_sales_stage","description":"Переименовать этап, сменить цвет или переставить: after_stage_id\nэто этап, после которого он встанет. Смысл этапа (в работе, успех,\nотказ) меняется только в каб"},{"name":"update_deal_tag","description":"Переименовать метку (прежнее имя запомнится, бот и правила по нему\nеё найдут), сменить цвет, группу (пустая строка убирает из группы)\nили признак источника. Уда"},{"name":"list_sales_rules","description":"Шаги правил продаж: повод (event tag или stage, с номером метки или\nэтапа), через сколько минут, что сделать (action: bot запустить\nворонку бота, tag_add, tag_r"},{"name":"create_sales_rule","description":"Шаг правила продаж, ВСЕГДА выключенный: включает его владелец\nв кабинете, до этого он ничего не делает. Повод: event tag (tag_id,\nметка поставлена на сделку) ил"},{"name":"update_sales_rule","description":"Поправить шаг правила, пока он выключен: только присланные поля.\nВключённый шаг работает на людях, его меняет только владелец\nв кабинете: ответ 409."},{"name":"list_bots","description":"Боты школы в Telegram: номер, название, адрес и работает ли.\nНомер бота нужен, чтобы читать его воронки и собирать новые."},{"name":"list_funnels","description":"Воронки бота: состояние (draft — черновик, active — работает,\npaused — остановлена), есть ли неопубликованные правки и чьи."},{"name":"create_funnel_draft","description":"Новая воронка бота черновиком. Людям ничего не уходит: опубликовать\nеё может только человек в кабинете, ссылка в ответе (editor_url).\nФормат воронки: get_funnel"},{"name":"get_funnel_format","description":"Формат воронки: блоки, их настройки и стрелки. Прочитать до того,\nкак собирать или править воронку: черновик присылается целиком\nв этом формате."},{"name":"get_funnel","description":"Черновик и опубликованная версия воронки, номер версии черновика\n(нужен для правки) и сколько людей сейчас стоит на каждом блоке\nопубликованной версии. Люди счи"},{"name":"check_funnel","description":"Та же проверка, что перед публикацией, но ничего не публикует.\nerrors: не опубликуется, пока не исправить; warnings: можно, но стоит\nпосмотреть. У каждой записи"},{"name":"update_funnel_draft","description":"Заменить черновик воронки целиком, в том числе у работающей:\nлюди идут по опубликованной версии, пока человек не опубликует\nправки в кабинете (там он увидит их "},{"name":"list_short_links","description":"Короткие ссылки школы, новые сверху: короткий адрес, куда ведёт\n(адрес или бот с кодом воронки), площадка, ролик или кампания, метки\nи цифры за последние 30 дне"},{"name":"create_short_link","description":"Короткая ссылка на домене школы: на адрес (url) или в бота\n(bot_username и, если нужно, start_code: код воронки «Старта»).\nplatform (youtube, vk, rutube, telegr"},{"name":"get_link_stats","description":"Что принесла одна ссылка за период. funnel: clicks (переходы),\npeople (разные люди), to_bot (пришли в бота), leads (заявки с сайта),\ndeals (сделки), payments (о"},{"name":"suggest_link_path","description":"До трёх свободных понятных путей для новой ссылки, лучшие первыми:\nлатиница, дефисы, до 40 знаков (go.школа.ru/osi-minikurs вместо\ngo.школа.ru/k7Pq2a). Строятся"},{"name":"update_short_link","description":"Поменять, куда ведёт ссылка (url), её название (title) или убрать\nв архив (archived=true, вернуть: false). Короткий адрес не меняется:\nновый url сразу получат в"}],"toolCount":45,"toolsHash":"526804e654088e16ad75952852fd5c903c2e06735467792e67e84cdc3653ee27","serverName":"AnySkills","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.11","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T15:31:11.202Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":93,"error":null,"detail":{"tools":[{"name":"get_school_summary","description":"Название школы, тариф, сколько курсов и из них опубликовано,\nсколько учеников и потоков, и что можно этому ключу.\n\nИИ вызывает это первым при подключении и пред"},{"name":"list_courses","description":"Все курсы школы, включая черновики: название, опубликован ли,\nсколько модулей и уроков. Звать первым, чтобы узнать номера курсов\nдля остальных запросов. Чернови"},{"name":"create_course","description":"Заводит курс-черновик: ученикам он не виден, пока не опубликован\nчерез `publish_course`. Черновиков можно держать сколько угодно\nна любом тарифе. Режим доступа:"},{"name":"get_course","description":"Один курс целиком: модули по порядку, в каждом — уроки по порядку\nс типом (`lecture`, `practice`, `webinar`, `test`, `survey`),\nдлительностью и признаком обязат"},{"name":"get_lesson","description":"Документ урока в формате Editor.js: список блоков `header`,\n`paragraph`, `list`, `quote`, `callout`, `code`, `table`, `image`,\n`video`, `file`. Это тот же форма"},{"name":"update_lesson","description":"Меняет название и/или документ урока. Истории правок нет и замена\nнеобратима, поэтому при замене документа ОБЯЗАТЕЛЬНО передать\n`updated_at` из `get_lesson`: ес"},{"name":"get_test","description":"Тест целиком: порог зачёта, число попыток и вопросы по порядку.\nУ каждого вопроса тип (`one`, `many`, `text`, `number`, `open`),\nварианты с отметкой верного либ"},{"name":"create_module","description":"Модуль встаёт в конец курса. Уроки добавляются в модуль отдельно,\n`create_lesson`. Порядок модулей потом можно поменять в кабинете."},{"name":"create_lesson","description":"Урок встаёт в конец модуля. `document` — в формате Editor.js:\n`{\"blocks\": [{\"type\": \"header\", \"data\": {\"text\": \"...\", \"level\": 2}},\n{\"type\": \"paragraph\", \"data\""},{"name":"create_test","description":"Тест целиком за один вызов: параметры и вопросы по порядку.\nТипы вопросов: `one` (один из списка, ровно один верный), `many`\n(несколько верных), `text` и `numbe"},{"name":"publish_course","description":"Открывает курс ученикам или возвращает в черновики. Публикация\nидёт через лимит тарифа — ту же проверку, что кнопка в кабинете:\nсчитаются только опубликованные "},{"name":"list_cohorts","description":"Потоки: курс, даты старта и окончания, сколько записано. Поток —\nгруппа учеников с общим расписанием; прогресс по нему —\n`cohort_progress`. Ученики вне потоков "},{"name":"cohort_progress","description":"По каждому ученику потока: процент курса (считается по обязательным\nопубликованным урокам, как в кабинете), когда последний раз заходил\nили проходил урок, сколь"},{"name":"stuck_students","description":"Ученики, которые не дошли до конца и ничего не делали дольше `days`\nдней (ни входа, ни пройденного урока). Это адрес для куратора,\nа не оценка ученика. `cohort_"},{"name":"review_queue","description":"Работы, которые ждут куратора: кто сдал, по какому заданию, когда\nи сколько часов ждёт. Отсортировано от самых старых. Принять или\nвернуть работу через API нель"},{"name":"question_stats","description":"По каждому вопросу теста: сколько ответов и какая доля верных\nпо завершённым попыткам. Считаются ВСЕ попытки, а не последняя:\nвопрос, на котором спотыкаются с п"},{"name":"list_sales_stages","description":"Этапы воронки продаж школы по порядку: номер, название и смысл\n(open — в работе, won — успех, lost — отказ). Нужны, чтобы перевести\nсделку или отобрать сделки н"},{"name":"create_sales_stage","description":"Новый этап «в работе» в воронке продаж: сразу после after_stage_id,\nа без него перед «Оплачено» и «Отказом». Цвет: secondary, azure,\nblue, purple, yellow, orang"},{"name":"list_deals","description":"Сделки школы, новые сверху: этап, курс, сумма, метки, откуда пришёл\nчеловек. Например, «какие сделки ждут оплаты»: отбор по этапу, «кто\nмолчит»: по метке (`tag`"},{"name":"get_deal","description":"Одна сделка: поля, человек и последние 30 событий ленты (заметки\nменеджеров, переводы, открытие доступа, оплаты). Помогает ответить,\nчто с человеком происходит "},{"name":"create_lead","description":"Завести заявку: человек и сделка одним запросом. Нужна почта,\nтелефон или Telegram. Человек, который уже есть, не заводится второй\nраз; повторная заявка про то "},{"name":"move_deal","description":"Перевести сделку на другой этап той же воронки. Для отказа можно\nуказать причину. Перевод пишется в ленту сделки с пометкой, что его\nсделал ключ API сотрудника."},{"name":"add_deal_note","description":"Добавить заметку в ленту сделки: итог звонка, договорённость,\nвозражение. Заметку увидят менеджеры в карточке сделки."},{"name":"list_deal_tags","description":"Справочник меток сделок школы: имя, цвет, группа «одна из» (у сделки\nодна метка группы, новая снимает прежнюю), признак источника (откуда\nпришёл человек), прежн"},{"name":"create_deal_tag","description":"Новая метка в справочнике сделок. group: имя группы «одна из»\n(у сделки одна метка группы, например «Урок»), новая группа заведётся.\nis_source: метка говорит, о"},{"name":"add_deal_tag","description":"Поставить сделке метку по имени. Имя сравнивается без регистра и\nс прежними именами меток; такой метки нет, она заводится. Если метка\nв группе «одна из», прежня"},{"name":"remove_deal_tag","description":"Снять со сделки метку по имени (или прежнему имени). Метка остаётся\nв справочнике и на других сделках. Если её на сделке не было, ответ\n`changed: false`."},{"name":"add_deal_task","description":"Поставить задачу по сделке со сроком: позвонить, отправить договор.\nОтветственный — хозяин ключа. Срок обязателен: задача без срока не\nпопадёт в «Сегодня» и буд"},{"name":"update_sales_stage","description":"Переименовать этап, сменить цвет или переставить: after_stage_id\nэто этап, после которого он встанет. Смысл этапа (в работе, успех,\nотказ) меняется только в каб"},{"name":"update_deal_tag","description":"Переименовать метку (прежнее имя запомнится, бот и правила по нему\nеё найдут), сменить цвет, группу (пустая строка убирает из группы)\nили признак источника. Уда"},{"name":"list_sales_rules","description":"Шаги правил продаж: повод (event tag или stage, с номером метки или\nэтапа), через сколько минут, что сделать (action: bot запустить\nворонку бота, tag_add, tag_r"},{"name":"create_sales_rule","description":"Шаг правила продаж, ВСЕГДА выключенный: включает его владелец\nв кабинете, до этого он ничего не делает. Повод: event tag (tag_id,\nметка поставлена на сделку) ил"},{"name":"update_sales_rule","description":"Поправить шаг правила, пока он выключен: только присланные поля.\nВключённый шаг работает на людях, его меняет только владелец\nв кабинете: ответ 409."},{"name":"list_bots","description":"Боты школы в Telegram: номер, название, адрес и работает ли.\nНомер бота нужен, чтобы читать его воронки и собирать новые."},{"name":"list_funnels","description":"Воронки бота: состояние (draft — черновик, active — работает,\npaused — остановлена), есть ли неопубликованные правки и чьи."},{"name":"create_funnel_draft","description":"Новая воронка бота черновиком. Людям ничего не уходит: опубликовать\nеё может только человек в кабинете, ссылка в ответе (editor_url).\nФормат воронки: get_funnel"},{"name":"get_funnel_format","description":"Формат воронки: блоки, их настройки и стрелки. Прочитать до того,\nкак собирать или править воронку: черновик присылается целиком\nв этом формате."},{"name":"get_funnel","description":"Черновик и опубликованная версия воронки, номер версии черновика\n(нужен для правки) и сколько людей сейчас стоит на каждом блоке\nопубликованной версии. Люди счи"},{"name":"check_funnel","description":"Та же проверка, что перед публикацией, но ничего не публикует.\nerrors: не опубликуется, пока не исправить; warnings: можно, но стоит\nпосмотреть. У каждой записи"},{"name":"update_funnel_draft","description":"Заменить черновик воронки целиком, в том числе у работающей:\nлюди идут по опубликованной версии, пока человек не опубликует\nправки в кабинете (там он увидит их "},{"name":"list_short_links","description":"Короткие ссылки школы, новые сверху: короткий адрес, куда ведёт\n(адрес или бот с кодом воронки), площадка, ролик или кампания, метки\nи цифры за последние 30 дне"},{"name":"create_short_link","description":"Короткая ссылка на домене школы: на адрес (url) или в бота\n(bot_username и, если нужно, start_code: код воронки «Старта»).\nplatform (youtube, vk, rutube, telegr"},{"name":"get_link_stats","description":"Что принесла одна ссылка за период. funnel: clicks (переходы),\npeople (разные люди), to_bot (пришли в бота), leads (заявки с сайта),\ndeals (сделки), payments (о"},{"name":"suggest_link_path","description":"До трёх свободных понятных путей для новой ссылки, лучшие первыми:\nлатиница, дефисы, до 40 знаков (go.школа.ru/osi-minikurs вместо\ngo.школа.ru/k7Pq2a). Строятся"},{"name":"update_short_link","description":"Поменять, куда ведёт ссылка (url), её название (title) или убрать\nв архив (archived=true, вернуть: false). Короткий адрес не меняется:\nновый url сразу получат в"}],"toolCount":45,"toolsHash":"526804e654088e16ad75952852fd5c903c2e06735467792e67e84cdc3653ee27","serverName":"AnySkills","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.11","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T09:23:56.299Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":101,"error":null,"detail":{"tools":[{"name":"get_school_summary","description":"Название школы, тариф, сколько курсов и из них опубликовано,\nсколько учеников и потоков, и что можно этому ключу.\n\nИИ вызывает это первым при подключении и пред"},{"name":"list_courses","description":"Все курсы школы, включая черновики: название, опубликован ли,\nсколько модулей и уроков. Звать первым, чтобы узнать номера курсов\nдля остальных запросов. Чернови"},{"name":"create_course","description":"Заводит курс-черновик: ученикам он не виден, пока не опубликован\nчерез `publish_course`. Черновиков можно держать сколько угодно\nна любом тарифе. Режим доступа:"},{"name":"get_course","description":"Один курс целиком: модули по порядку, в каждом — уроки по порядку\nс типом (`lecture`, `practice`, `webinar`, `test`, `survey`),\nдлительностью и признаком обязат"},{"name":"get_lesson","description":"Документ урока в формате Editor.js: список блоков `header`,\n`paragraph`, `list`, `quote`, `callout`, `code`, `table`, `image`,\n`video`, `file`. Это тот же форма"},{"name":"update_lesson","description":"Меняет название и/или документ урока. Истории правок нет и замена\nнеобратима, поэтому при замене документа ОБЯЗАТЕЛЬНО передать\n`updated_at` из `get_lesson`: ес"},{"name":"get_test","description":"Тест целиком: порог зачёта, число попыток и вопросы по порядку.\nУ каждого вопроса тип (`one`, `many`, `text`, `number`, `open`),\nварианты с отметкой верного либ"},{"name":"create_module","description":"Модуль встаёт в конец курса. Уроки добавляются в модуль отдельно,\n`create_lesson`. Порядок модулей потом можно поменять в кабинете."},{"name":"create_lesson","description":"Урок встаёт в конец модуля. `document` — в формате Editor.js:\n`{\"blocks\": [{\"type\": \"header\", \"data\": {\"text\": \"...\", \"level\": 2}},\n{\"type\": \"paragraph\", \"data\""},{"name":"create_test","description":"Тест целиком за один вызов: параметры и вопросы по порядку.\nТипы вопросов: `one` (один из списка, ровно один верный), `many`\n(несколько верных), `text` и `numbe"},{"name":"publish_course","description":"Открывает курс ученикам или возвращает в черновики. Публикация\nидёт через лимит тарифа — ту же проверку, что кнопка в кабинете:\nсчитаются только опубликованные "},{"name":"list_cohorts","description":"Потоки: курс, даты старта и окончания, сколько записано. Поток —\nгруппа учеников с общим расписанием; прогресс по нему —\n`cohort_progress`. Ученики вне потоков "},{"name":"cohort_progress","description":"По каждому ученику потока: процент курса (считается по обязательным\nопубликованным урокам, как в кабинете), когда последний раз заходил\nили проходил урок, сколь"},{"name":"stuck_students","description":"Ученики, которые не дошли до конца и ничего не делали дольше `days`\nдней (ни входа, ни пройденного урока). Это адрес для куратора,\nа не оценка ученика. `cohort_"},{"name":"review_queue","description":"Работы, которые ждут куратора: кто сдал, по какому заданию, когда\nи сколько часов ждёт. Отсортировано от самых старых. Принять или\nвернуть работу через API нель"},{"name":"question_stats","description":"По каждому вопросу теста: сколько ответов и какая доля верных\nпо завершённым попыткам. Считаются ВСЕ попытки, а не последняя:\nвопрос, на котором спотыкаются с п"},{"name":"list_sales_stages","description":"Этапы воронки продаж школы по порядку: номер, название и смысл\n(open — в работе, won — успех, lost — отказ). Нужны, чтобы перевести\nсделку или отобрать сделки н"},{"name":"create_sales_stage","description":"Новый этап «в работе» в воронке продаж: сразу после after_stage_id,\nа без него перед «Оплачено» и «Отказом». Цвет: secondary, azure,\nblue, purple, yellow, orang"},{"name":"list_deals","description":"Сделки школы, новые сверху: этап, курс, сумма, метки, откуда пришёл\nчеловек. Например, «какие сделки ждут оплаты»: отбор по этапу, «кто\nмолчит»: по метке (`tag`"},{"name":"get_deal","description":"Одна сделка: поля, человек и последние 30 событий ленты (заметки\nменеджеров, переводы, открытие доступа, оплаты). Помогает ответить,\nчто с человеком происходит "},{"name":"create_lead","description":"Завести заявку: человек и сделка одним запросом. Нужна почта,\nтелефон или Telegram. Человек, который уже есть, не заводится второй\nраз; повторная заявка про то "},{"name":"move_deal","description":"Перевести сделку на другой этап той же воронки. Для отказа можно\nуказать причину. Перевод пишется в ленту сделки с пометкой, что его\nсделал ключ API сотрудника."},{"name":"add_deal_note","description":"Добавить заметку в ленту сделки: итог звонка, договорённость,\nвозражение. Заметку увидят менеджеры в карточке сделки."},{"name":"list_deal_tags","description":"Справочник меток сделок школы: имя, цвет, группа «одна из» (у сделки\nодна метка группы, новая снимает прежнюю), признак источника (откуда\nпришёл человек), прежн"},{"name":"create_deal_tag","description":"Новая метка в справочнике сделок. group: имя группы «одна из»\n(у сделки одна метка группы, например «Урок»), новая группа заведётся.\nis_source: метка говорит, о"},{"name":"add_deal_tag","description":"Поставить сделке метку по имени. Имя сравнивается без регистра и\nс прежними именами меток; такой метки нет, она заводится. Если метка\nв группе «одна из», прежня"},{"name":"remove_deal_tag","description":"Снять со сделки метку по имени (или прежнему имени). Метка остаётся\nв справочнике и на других сделках. Если её на сделке не было, ответ\n`changed: false`."},{"name":"add_deal_task","description":"Поставить задачу по сделке со сроком: позвонить, отправить договор.\nОтветственный — хозяин ключа. Срок обязателен: задача без срока не\nпопадёт в «Сегодня» и буд"},{"name":"update_sales_stage","description":"Переименовать этап, сменить цвет или переставить: after_stage_id\nэто этап, после которого он встанет. Смысл этапа (в работе, успех,\nотказ) меняется только в каб"},{"name":"update_deal_tag","description":"Переименовать метку (прежнее имя запомнится, бот и правила по нему\nеё найдут), сменить цвет, группу (пустая строка убирает из группы)\nили признак источника. Уда"},{"name":"list_sales_rules","description":"Шаги правил продаж: повод (event tag или stage, с номером метки или\nэтапа), через сколько минут, что сделать (action: bot запустить\nворонку бота, tag_add, tag_r"},{"name":"create_sales_rule","description":"Шаг правила продаж, ВСЕГДА выключенный: включает его владелец\nв кабинете, до этого он ничего не делает. Повод: event tag (tag_id,\nметка поставлена на сделку) ил"},{"name":"update_sales_rule","description":"Поправить шаг правила, пока он выключен: только присланные поля.\nВключённый шаг работает на людях, его меняет только владелец\nв кабинете: ответ 409."},{"name":"list_bots","description":"Боты школы в Telegram: номер, название, адрес и работает ли.\nНомер бота нужен, чтобы читать его воронки и собирать новые."},{"name":"list_funnels","description":"Воронки бота: состояние (draft — черновик, active — работает,\npaused — остановлена), есть ли неопубликованные правки и чьи."},{"name":"create_funnel_draft","description":"Новая воронка бота черновиком. Людям ничего не уходит: опубликовать\nеё может только человек в кабинете, ссылка в ответе (editor_url).\nФормат воронки: get_funnel"},{"name":"get_funnel_format","description":"Формат воронки: блоки, их настройки и стрелки. Прочитать до того,\nкак собирать или править воронку: черновик присылается целиком\nв этом формате."},{"name":"get_funnel","description":"Черновик и опубликованная версия воронки, номер версии черновика\n(нужен для правки) и сколько людей сейчас стоит на каждом блоке\nопубликованной версии. Люди счи"},{"name":"check_funnel","description":"Та же проверка, что перед публикацией, но ничего не публикует.\nerrors: не опубликуется, пока не исправить; warnings: можно, но стоит\nпосмотреть. У каждой записи"},{"name":"update_funnel_draft","description":"Заменить черновик воронки целиком, в том числе у работающей:\nлюди идут по опубликованной версии, пока человек не опубликует\nправки в кабинете (там он увидит их "},{"name":"list_short_links","description":"Короткие ссылки школы, новые сверху: короткий адрес, куда ведёт\n(адрес или бот с кодом воронки), площадка, ролик или кампания, метки\nи цифры за последние 30 дне"},{"name":"create_short_link","description":"Короткая ссылка на домене школы: на адрес (url) или в бота\n(bot_username и, если нужно, start_code: код воронки «Старта»).\nplatform (youtube, vk, rutube, telegr"},{"name":"get_link_stats","description":"Что принесла одна ссылка за период. funnel: clicks (переходы),\npeople (разные люди), to_bot (пришли в бота), leads (заявки с сайта),\ndeals (сделки), payments (о"},{"name":"suggest_link_path","description":"До трёх свободных понятных путей для новой ссылки, лучшие первыми:\nлатиница, дефисы, до 40 знаков (go.школа.ru/osi-minikurs вместо\ngo.школа.ru/k7Pq2a). Строятся"},{"name":"update_short_link","description":"Поменять, куда ведёт ссылка (url), её название (title) или убрать\nв архив (archived=true, вернуть: false). Короткий адрес не меняется:\nновый url сразу получат в"}],"toolCount":45,"toolsHash":"526804e654088e16ad75952852fd5c903c2e06735467792e67e84cdc3653ee27","serverName":"AnySkills","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.11","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T02:30:36.712Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":95,"error":null,"detail":{"tools":[{"name":"get_school_summary","description":"Название школы, тариф, сколько курсов и из них опубликовано,\nсколько учеников и потоков, и что можно этому ключу.\n\nИИ вызывает это первым при подключении и пред"},{"name":"list_courses","description":"Все курсы школы, включая черновики: название, опубликован ли,\nсколько модулей и уроков. Звать первым, чтобы узнать номера курсов\nдля остальных запросов. Чернови"},{"name":"create_course","description":"Заводит курс-черновик: ученикам он не виден, пока не опубликован\nчерез `publish_course`. Черновиков можно держать сколько угодно\nна любом тарифе. Режим доступа:"},{"name":"get_course","description":"Один курс целиком: модули по порядку, в каждом — уроки по порядку\nс типом (`lecture`, `practice`, `webinar`, `test`, `survey`),\nдлительностью и признаком обязат"},{"name":"get_lesson","description":"Документ урока в формате Editor.js: список блоков `header`,\n`paragraph`, `list`, `quote`, `callout`, `code`, `table`, `image`,\n`video`, `file`. Это тот же форма"},{"name":"update_lesson","description":"Меняет название и/или документ урока. Истории правок нет и замена\nнеобратима, поэтому при замене документа ОБЯЗАТЕЛЬНО передать\n`updated_at` из `get_lesson`: ес"},{"name":"get_test","description":"Тест целиком: порог зачёта, число попыток и вопросы по порядку.\nУ каждого вопроса тип (`one`, `many`, `text`, `number`, `open`),\nварианты с отметкой верного либ"},{"name":"create_module","description":"Модуль встаёт в конец курса. Уроки добавляются в модуль отдельно,\n`create_lesson`. Порядок модулей потом можно поменять в кабинете."},{"name":"create_lesson","description":"Урок встаёт в конец модуля. `document` — в формате Editor.js:\n`{\"blocks\": [{\"type\": \"header\", \"data\": {\"text\": \"...\", \"level\": 2}},\n{\"type\": \"paragraph\", \"data\""},{"name":"create_test","description":"Тест целиком за один вызов: параметры и вопросы по порядку.\nТипы вопросов: `one` (один из списка, ровно один верный), `many`\n(несколько верных), `text` и `numbe"},{"name":"publish_course","description":"Открывает курс ученикам или возвращает в черновики. Публикация\nидёт через лимит тарифа — ту же проверку, что кнопка в кабинете:\nсчитаются только опубликованные "},{"name":"list_cohorts","description":"Потоки: курс, даты старта и окончания, сколько записано. Поток —\nгруппа учеников с общим расписанием; прогресс по нему —\n`cohort_progress`. Ученики вне потоков "},{"name":"cohort_progress","description":"По каждому ученику потока: процент курса (считается по обязательным\nопубликованным урокам, как в кабинете), когда последний раз заходил\nили проходил урок, сколь"},{"name":"stuck_students","description":"Ученики, которые не дошли до конца и ничего не делали дольше `days`\nдней (ни входа, ни пройденного урока). Это адрес для куратора,\nа не оценка ученика. `cohort_"},{"name":"review_queue","description":"Работы, которые ждут куратора: кто сдал, по какому заданию, когда\nи сколько часов ждёт. Отсортировано от самых старых. Принять или\nвернуть работу через API нель"},{"name":"question_stats","description":"По каждому вопросу теста: сколько ответов и какая доля верных\nпо завершённым попыткам. Считаются ВСЕ попытки, а не последняя:\nвопрос, на котором спотыкаются с п"},{"name":"list_sales_stages","description":"Этапы воронки продаж школы по порядку: номер, название и смысл\n(open — в работе, won — успех, lost — отказ). Нужны, чтобы перевести\nсделку или отобрать сделки н"},{"name":"create_sales_stage","description":"Новый этап «в работе» в воронке продаж: сразу после after_stage_id,\nа без него перед «Оплачено» и «Отказом». Цвет: secondary, azure,\nblue, purple, yellow, orang"},{"name":"list_deals","description":"Сделки школы, новые сверху: этап, курс, сумма, метки, откуда пришёл\nчеловек. Например, «какие сделки ждут оплаты»: отбор по этапу, «кто\nмолчит»: по метке (`tag`"},{"name":"get_deal","description":"Одна сделка: поля, человек и последние 30 событий ленты (заметки\nменеджеров, переводы, открытие доступа, оплаты). Помогает ответить,\nчто с человеком происходит "},{"name":"create_lead","description":"Завести заявку: человек и сделка одним запросом. Нужна почта,\nтелефон или Telegram. Человек, который уже есть, не заводится второй\nраз; повторная заявка про то "},{"name":"move_deal","description":"Перевести сделку на другой этап той же воронки. Для отказа можно\nуказать причину. Перевод пишется в ленту сделки с пометкой, что его\nсделал ключ API сотрудника."},{"name":"add_deal_note","description":"Добавить заметку в ленту сделки: итог звонка, договорённость,\nвозражение. Заметку увидят менеджеры в карточке сделки."},{"name":"list_deal_tags","description":"Справочник меток сделок школы: имя, цвет, группа «одна из» (у сделки\nодна метка группы, новая снимает прежнюю), признак источника (откуда\nпришёл человек), прежн"},{"name":"create_deal_tag","description":"Новая метка в справочнике сделок. group: имя группы «одна из»\n(у сделки одна метка группы, например «Урок»), новая группа заведётся.\nis_source: метка говорит, о"},{"name":"add_deal_tag","description":"Поставить сделке метку по имени. Имя сравнивается без регистра и\nс прежними именами меток; такой метки нет, она заводится. Если метка\nв группе «одна из», прежня"},{"name":"remove_deal_tag","description":"Снять со сделки метку по имени (или прежнему имени). Метка остаётся\nв справочнике и на других сделках. Если её на сделке не было, ответ\n`changed: false`."},{"name":"add_deal_task","description":"Поставить задачу по сделке со сроком: позвонить, отправить договор.\nОтветственный — хозяин ключа. Срок обязателен: задача без срока не\nпопадёт в «Сегодня» и буд"},{"name":"update_sales_stage","description":"Переименовать этап, сменить цвет или переставить: after_stage_id\nэто этап, после которого он встанет. Смысл этапа (в работе, успех,\nотказ) меняется только в каб"},{"name":"update_deal_tag","description":"Переименовать метку (прежнее имя запомнится, бот и правила по нему\nеё найдут), сменить цвет, группу (пустая строка убирает из группы)\nили признак источника. Уда"},{"name":"list_sales_rules","description":"Шаги правил продаж: повод (event tag или stage, с номером метки или\nэтапа), через сколько минут, что сделать (action: bot запустить\nворонку бота, tag_add, tag_r"},{"name":"create_sales_rule","description":"Шаг правила продаж, ВСЕГДА выключенный: включает его владелец\nв кабинете, до этого он ничего не делает. Повод: event tag (tag_id,\nметка поставлена на сделку) ил"},{"name":"update_sales_rule","description":"Поправить шаг правила, пока он выключен: только присланные поля.\nВключённый шаг работает на людях, его меняет только владелец\nв кабинете: ответ 409."},{"name":"list_bots","description":"Боты школы в Telegram: номер, название, адрес и работает ли.\nНомер бота нужен, чтобы читать его воронки и собирать новые."},{"name":"list_funnels","description":"Воронки бота: состояние (draft — черновик, active — работает,\npaused — остановлена), есть ли неопубликованные правки и чьи."},{"name":"create_funnel_draft","description":"Новая воронка бота черновиком. Людям ничего не уходит: опубликовать\nеё может только человек в кабинете, ссылка в ответе (editor_url).\nФормат воронки: get_funnel"},{"name":"get_funnel_format","description":"Формат воронки: блоки, их настройки и стрелки. Прочитать до того,\nкак собирать или править воронку: черновик присылается целиком\nв этом формате."},{"name":"get_funnel","description":"Черновик и опубликованная версия воронки, номер версии черновика\n(нужен для правки) и сколько людей сейчас стоит на каждом блоке\nопубликованной версии. Люди счи"},{"name":"check_funnel","description":"Та же проверка, что перед публикацией, но ничего не публикует.\nerrors: не опубликуется, пока не исправить; warnings: можно, но стоит\nпосмотреть. У каждой записи"},{"name":"update_funnel_draft","description":"Заменить черновик воронки целиком, в том числе у работающей:\nлюди идут по опубликованной версии, пока человек не опубликует\nправки в кабинете (там он увидит их "},{"name":"list_short_links","description":"Короткие ссылки школы, новые сверху: короткий адрес, куда ведёт\n(адрес или бот с кодом воронки), площадка, ролик или кампания, метки\nи цифры за последние 30 дне"},{"name":"create_short_link","description":"Короткая ссылка на домене школы: на адрес (url) или в бота\n(bot_username и, если нужно, start_code: код воронки «Старта»).\nplatform (youtube, vk, rutube, telegr"},{"name":"get_link_stats","description":"Что принесла одна ссылка за период. funnel: clicks (переходы),\npeople (разные люди), to_bot (пришли в бота), leads (заявки с сайта),\ndeals (сделки), payments (о"},{"name":"suggest_link_path","description":"До трёх свободных понятных путей для новой ссылки, лучшие первыми:\nлатиница, дефисы, до 40 знаков (go.школа.ru/osi-minikurs вместо\ngo.школа.ru/k7Pq2a). Строятся"},{"name":"update_short_link","description":"Поменять, куда ведёт ссылка (url), её название (title) или убрать\nв архив (archived=true, вернуть: false). Короткий адрес не меняется:\nновый url сразу получат в"}],"toolCount":45,"toolsHash":"526804e654088e16ad75952852fd5c903c2e06735467792e67e84cdc3653ee27","serverName":"AnySkills","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.11","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T20:31:33.006Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":95,"error":null,"detail":{"tools":[{"name":"get_school_summary","description":"Название школы, тариф, сколько курсов и из них опубликовано,\nсколько учеников и потоков, и что можно этому ключу.\n\nИИ вызывает это первым при подключении и пред"},{"name":"list_courses","description":"Все курсы школы, включая черновики: название, опубликован ли,\nсколько модулей и уроков. Звать первым, чтобы узнать номера курсов\nдля остальных запросов. Чернови"},{"name":"create_course","description":"Заводит курс-черновик: ученикам он не виден, пока не опубликован\nчерез `publish_course`. Черновиков можно держать сколько угодно\nна любом тарифе. Режим доступа:"},{"name":"get_course","description":"Один курс целиком: модули по порядку, в каждом — уроки по порядку\nс типом (`lecture`, `practice`, `webinar`, `test`, `survey`),\nдлительностью и признаком обязат"},{"name":"get_lesson","description":"Документ урока в формате Editor.js: список блоков `header`,\n`paragraph`, `list`, `quote`, `callout`, `code`, `table`, `image`,\n`video`, `file`. Это тот же форма"},{"name":"update_lesson","description":"Меняет название и/или документ урока. Истории правок нет и замена\nнеобратима, поэтому при замене документа ОБЯЗАТЕЛЬНО передать\n`updated_at` из `get_lesson`: ес"},{"name":"get_test","description":"Тест целиком: порог зачёта, число попыток и вопросы по порядку.\nУ каждого вопроса тип (`one`, `many`, `text`, `number`, `open`),\nварианты с отметкой верного либ"},{"name":"create_module","description":"Модуль встаёт в конец курса. Уроки добавляются в модуль отдельно,\n`create_lesson`. Порядок модулей потом можно поменять в кабинете."},{"name":"create_lesson","description":"Урок встаёт в конец модуля. `document` — в формате Editor.js:\n`{\"blocks\": [{\"type\": \"header\", \"data\": {\"text\": \"...\", \"level\": 2}},\n{\"type\": \"paragraph\", \"data\""},{"name":"create_test","description":"Тест целиком за один вызов: параметры и вопросы по порядку.\nТипы вопросов: `one` (один из списка, ровно один верный), `many`\n(несколько верных), `text` и `numbe"},{"name":"publish_course","description":"Открывает курс ученикам или возвращает в черновики. Публикация\nидёт через лимит тарифа — ту же проверку, что кнопка в кабинете:\nсчитаются только опубликованные "},{"name":"list_cohorts","description":"Потоки: курс, даты старта и окончания, сколько записано. Поток —\nгруппа учеников с общим расписанием; прогресс по нему —\n`cohort_progress`. Ученики вне потоков "},{"name":"cohort_progress","description":"По каждому ученику потока: процент курса (считается по обязательным\nопубликованным урокам, как в кабинете), когда последний раз заходил\nили проходил урок, сколь"},{"name":"stuck_students","description":"Ученики, которые не дошли до конца и ничего не делали дольше `days`\nдней (ни входа, ни пройденного урока). Это адрес для куратора,\nа не оценка ученика. `cohort_"},{"name":"review_queue","description":"Работы, которые ждут куратора: кто сдал, по какому заданию, когда\nи сколько часов ждёт. Отсортировано от самых старых. Принять или\nвернуть работу через API нель"},{"name":"question_stats","description":"По каждому вопросу теста: сколько ответов и какая доля верных\nпо завершённым попыткам. Считаются ВСЕ попытки, а не последняя:\nвопрос, на котором спотыкаются с п"},{"name":"list_sales_stages","description":"Этапы воронки продаж школы по порядку: номер, название и смысл\n(open — в работе, won — успех, lost — отказ). Нужны, чтобы перевести\nсделку или отобрать сделки н"},{"name":"create_sales_stage","description":"Новый этап «в работе» в воронке продаж: сразу после after_stage_id,\nа без него перед «Оплачено» и «Отказом». Цвет: secondary, azure,\nblue, purple, yellow, orang"},{"name":"list_deals","description":"Сделки школы, новые сверху: этап, курс, сумма, метки, откуда пришёл\nчеловек. Например, «какие сделки ждут оплаты»: отбор по этапу, «кто\nмолчит»: по метке (`tag`"},{"name":"get_deal","description":"Одна сделка: поля, человек и последние 30 событий ленты (заметки\nменеджеров, переводы, открытие доступа, оплаты). Помогает ответить,\nчто с человеком происходит "},{"name":"create_lead","description":"Завести заявку: человек и сделка одним запросом. Нужна почта,\nтелефон или Telegram. Человек, который уже есть, не заводится второй\nраз; повторная заявка про то "},{"name":"move_deal","description":"Перевести сделку на другой этап той же воронки. Для отказа можно\nуказать причину. Перевод пишется в ленту сделки с пометкой, что его\nсделал ключ API сотрудника."},{"name":"add_deal_note","description":"Добавить заметку в ленту сделки: итог звонка, договорённость,\nвозражение. Заметку увидят менеджеры в карточке сделки."},{"name":"list_deal_tags","description":"Справочник меток сделок школы: имя, цвет, группа «одна из» (у сделки\nодна метка группы, новая снимает прежнюю), признак источника (откуда\nпришёл человек), прежн"},{"name":"create_deal_tag","description":"Новая метка в справочнике сделок. group: имя группы «одна из»\n(у сделки одна метка группы, например «Урок»), новая группа заведётся.\nis_source: метка говорит, о"},{"name":"add_deal_tag","description":"Поставить сделке метку по имени. Имя сравнивается без регистра и\nс прежними именами меток; такой метки нет, она заводится. Если метка\nв группе «одна из», прежня"},{"name":"remove_deal_tag","description":"Снять со сделки метку по имени (или прежнему имени). Метка остаётся\nв справочнике и на других сделках. Если её на сделке не было, ответ\n`changed: false`."},{"name":"add_deal_task","description":"Поставить задачу по сделке со сроком: позвонить, отправить договор.\nОтветственный — хозяин ключа. Срок обязателен: задача без срока не\nпопадёт в «Сегодня» и буд"},{"name":"update_sales_stage","description":"Переименовать этап, сменить цвет или переставить: after_stage_id\nэто этап, после которого он встанет. Смысл этапа (в работе, успех,\nотказ) меняется только в каб"},{"name":"update_deal_tag","description":"Переименовать метку (прежнее имя запомнится, бот и правила по нему\nеё найдут), сменить цвет, группу (пустая строка убирает из группы)\nили признак источника. Уда"},{"name":"list_sales_rules","description":"Шаги правил продаж: повод (event tag или stage, с номером метки или\nэтапа), через сколько минут, что сделать (action: bot запустить\nворонку бота, tag_add, tag_r"},{"name":"create_sales_rule","description":"Шаг правила продаж, ВСЕГДА выключенный: включает его владелец\nв кабинете, до этого он ничего не делает. Повод: event tag (tag_id,\nметка поставлена на сделку) ил"},{"name":"update_sales_rule","description":"Поправить шаг правила, пока он выключен: только присланные поля.\nВключённый шаг работает на людях, его меняет только владелец\nв кабинете: ответ 409."},{"name":"list_bots","description":"Боты школы в Telegram: номер, название, адрес и работает ли.\nНомер бота нужен, чтобы читать его воронки и собирать новые."},{"name":"list_funnels","description":"Воронки бота: состояние (draft — черновик, active — работает,\npaused — остановлена), есть ли неопубликованные правки и чьи."},{"name":"create_funnel_draft","description":"Новая воронка бота черновиком. Людям ничего не уходит: опубликовать\nеё может только человек в кабинете, ссылка в ответе (editor_url).\nФормат воронки: get_funnel"},{"name":"get_funnel_format","description":"Формат воронки: блоки, их настройки и стрелки. Прочитать до того,\nкак собирать или править воронку: черновик присылается целиком\nв этом формате."},{"name":"get_funnel","description":"Черновик и опубликованная версия воронки, номер версии черновика\n(нужен для правки) и сколько людей сейчас стоит на каждом блоке\nопубликованной версии. Люди счи"},{"name":"check_funnel","description":"Та же проверка, что перед публикацией, но ничего не публикует.\nerrors: не опубликуется, пока не исправить; warnings: можно, но стоит\nпосмотреть. У каждой записи"},{"name":"update_funnel_draft","description":"Заменить черновик воронки целиком, в том числе у работающей:\nлюди идут по опубликованной версии, пока человек не опубликует\nправки в кабинете (там он увидит их "},{"name":"list_short_links","description":"Короткие ссылки школы, новые сверху: короткий адрес, куда ведёт\n(адрес или бот с кодом воронки), площадка, ролик или кампания, метки\nи цифры за последние 30 дне"},{"name":"create_short_link","description":"Короткая ссылка на домене школы: на адрес (url) или в бота\n(bot_username и, если нужно, start_code: код воронки «Старта»).\nplatform (youtube, vk, rutube, telegr"},{"name":"get_link_stats","description":"Что принесла одна ссылка за период. funnel: clicks (переходы),\npeople (разные люди), to_bot (пришли в бота), leads (заявки с сайта),\ndeals (сделки), payments (о"},{"name":"suggest_link_path","description":"До трёх свободных понятных путей для новой ссылки, лучшие первыми:\nлатиница, дефисы, до 40 знаков (go.школа.ru/osi-minikurs вместо\ngo.школа.ru/k7Pq2a). Строятся"},{"name":"update_short_link","description":"Поменять, куда ведёт ссылка (url), её название (title) или убрать\nв архив (archived=true, вернуть: false). Короткий адрес не меняется:\nновый url сразу получат в"}],"toolCount":45,"toolsHash":"526804e654088e16ad75952852fd5c903c2e06735467792e67e84cdc3653ee27","serverName":"AnySkills","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.11","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T14:31:34.095Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":92,"error":null,"detail":{"tools":[{"name":"get_school_summary","description":"Название школы, тариф, сколько курсов и из них опубликовано,\nсколько учеников и потоков, и что можно этому ключу.\n\nИИ вызывает это первым при подключении и пред"},{"name":"list_courses","description":"Все курсы школы, включая черновики: название, опубликован ли,\nсколько модулей и уроков. Звать первым, чтобы узнать номера курсов\nдля остальных запросов. Чернови"},{"name":"create_course","description":"Заводит курс-черновик: ученикам он не виден, пока не опубликован\nчерез `publish_course`. Черновиков можно держать сколько угодно\nна любом тарифе. Режим доступа:"},{"name":"get_course","description":"Один курс целиком: модули по порядку, в каждом — уроки по порядку\nс типом (`lecture`, `practice`, `webinar`, `test`, `survey`),\nдлительностью и признаком обязат"},{"name":"get_lesson","description":"Документ урока в формате Editor.js: список блоков `header`,\n`paragraph`, `list`, `quote`, `callout`, `code`, `table`, `image`,\n`video`, `file`. Это тот же форма"},{"name":"update_lesson","description":"Меняет название и/или документ урока. Истории правок нет и замена\nнеобратима, поэтому при замене документа ОБЯЗАТЕЛЬНО передать\n`updated_at` из `get_lesson`: ес"},{"name":"get_test","description":"Тест целиком: порог зачёта, число попыток и вопросы по порядку.\nУ каждого вопроса тип (`one`, `many`, `text`, `number`, `open`),\nварианты с отметкой верного либ"},{"name":"create_module","description":"Модуль встаёт в конец курса. Уроки добавляются в модуль отдельно,\n`create_lesson`. Порядок модулей потом можно поменять в кабинете."},{"name":"create_lesson","description":"Урок встаёт в конец модуля. `document` — в формате Editor.js:\n`{\"blocks\": [{\"type\": \"header\", \"data\": {\"text\": \"...\", \"level\": 2}},\n{\"type\": \"paragraph\", \"data\""},{"name":"create_test","description":"Тест целиком за один вызов: параметры и вопросы по порядку.\nТипы вопросов: `one` (один из списка, ровно один верный), `many`\n(несколько верных), `text` и `numbe"},{"name":"publish_course","description":"Открывает курс ученикам или возвращает в черновики. Публикация\nидёт через лимит тарифа — ту же проверку, что кнопка в кабинете:\nсчитаются только опубликованные "},{"name":"list_cohorts","description":"Потоки: курс, даты старта и окончания, сколько записано. Поток —\nгруппа учеников с общим расписанием; прогресс по нему —\n`cohort_progress`. Ученики вне потоков "},{"name":"cohort_progress","description":"По каждому ученику потока: процент курса (считается по обязательным\nопубликованным урокам, как в кабинете), когда последний раз заходил\nили проходил урок, сколь"},{"name":"stuck_students","description":"Ученики, которые не дошли до конца и ничего не делали дольше `days`\nдней (ни входа, ни пройденного урока). Это адрес для куратора,\nа не оценка ученика. `cohort_"},{"name":"review_queue","description":"Работы, которые ждут куратора: кто сдал, по какому заданию, когда\nи сколько часов ждёт. Отсортировано от самых старых. Принять или\nвернуть работу через API нель"},{"name":"question_stats","description":"По каждому вопросу теста: сколько ответов и какая доля верных\nпо завершённым попыткам. Считаются ВСЕ попытки, а не последняя:\nвопрос, на котором спотыкаются с п"},{"name":"list_sales_stages","description":"Этапы воронки продаж школы по порядку: номер, название и смысл\n(open — в работе, won — успех, lost — отказ). Нужны, чтобы перевести\nсделку или отобрать сделки н"},{"name":"create_sales_stage","description":"Новый этап «в работе» в воронке продаж: сразу после after_stage_id,\nа без него перед «Оплачено» и «Отказом». Цвет: secondary, azure,\nblue, purple, yellow, orang"},{"name":"list_deals","description":"Сделки школы, новые сверху: этап, курс, сумма, метки, откуда пришёл\nчеловек. Например, «какие сделки ждут оплаты»: отбор по этапу, «кто\nмолчит»: по метке (`tag`"},{"name":"get_deal","description":"Одна сделка: поля, человек и последние 30 событий ленты (заметки\nменеджеров, переводы, открытие доступа, оплаты). Помогает ответить,\nчто с человеком происходит "},{"name":"create_lead","description":"Завести заявку: человек и сделка одним запросом. Нужна почта,\nтелефон или Telegram. Человек, который уже есть, не заводится второй\nраз; повторная заявка про то "},{"name":"move_deal","description":"Перевести сделку на другой этап той же воронки. Для отказа можно\nуказать причину. Перевод пишется в ленту сделки с пометкой, что его\nсделал ключ API сотрудника."},{"name":"add_deal_note","description":"Добавить заметку в ленту сделки: итог звонка, договорённость,\nвозражение. Заметку увидят менеджеры в карточке сделки."},{"name":"list_deal_tags","description":"Справочник меток сделок школы: имя, цвет, группа «одна из» (у сделки\nодна метка группы, новая снимает прежнюю), признак источника (откуда\nпришёл человек), прежн"},{"name":"create_deal_tag","description":"Новая метка в справочнике сделок. group: имя группы «одна из»\n(у сделки одна метка группы, например «Урок»), новая группа заведётся.\nis_source: метка говорит, о"},{"name":"add_deal_tag","description":"Поставить сделке метку по имени. Имя сравнивается без регистра и\nс прежними именами меток; такой метки нет, она заводится. Если метка\nв группе «одна из», прежня"},{"name":"remove_deal_tag","description":"Снять со сделки метку по имени (или прежнему имени). Метка остаётся\nв справочнике и на других сделках. Если её на сделке не было, ответ\n`changed: false`."},{"name":"add_deal_task","description":"Поставить задачу по сделке со сроком: позвонить, отправить договор.\nОтветственный — хозяин ключа. Срок обязателен: задача без срока не\nпопадёт в «Сегодня» и буд"},{"name":"update_sales_stage","description":"Переименовать этап, сменить цвет или переставить: after_stage_id\nэто этап, после которого он встанет. Смысл этапа (в работе, успех,\nотказ) меняется только в каб"},{"name":"update_deal_tag","description":"Переименовать метку (прежнее имя запомнится, бот и правила по нему\nеё найдут), сменить цвет, группу (пустая строка убирает из группы)\nили признак источника. Уда"},{"name":"list_sales_rules","description":"Шаги правил продаж: повод (event tag или stage, с номером метки или\nэтапа), через сколько минут, что сделать (action: bot запустить\nворонку бота, tag_add, tag_r"},{"name":"create_sales_rule","description":"Шаг правила продаж, ВСЕГДА выключенный: включает его владелец\nв кабинете, до этого он ничего не делает. Повод: event tag (tag_id,\nметка поставлена на сделку) ил"},{"name":"update_sales_rule","description":"Поправить шаг правила, пока он выключен: только присланные поля.\nВключённый шаг работает на людях, его меняет только владелец\nв кабинете: ответ 409."},{"name":"list_bots","description":"Боты школы в Telegram: номер, название, адрес и работает ли.\nНомер бота нужен, чтобы читать его воронки и собирать новые."},{"name":"list_funnels","description":"Воронки бота: состояние (draft — черновик, active — работает,\npaused — остановлена), есть ли неопубликованные правки и чьи."},{"name":"create_funnel_draft","description":"Новая воронка бота черновиком. Людям ничего не уходит: опубликовать\nеё может только человек в кабинете, ссылка в ответе (editor_url).\nФормат воронки: get_funnel"},{"name":"get_funnel_format","description":"Формат воронки: блоки, их настройки и стрелки. Прочитать до того,\nкак собирать или править воронку: черновик присылается целиком\nв этом формате."},{"name":"get_funnel","description":"Черновик и опубликованная версия воронки, номер версии черновика\n(нужен для правки) и сколько людей сейчас стоит на каждом блоке\nопубликованной версии. Люди счи"},{"name":"check_funnel","description":"Та же проверка, что перед публикацией, но ничего не публикует.\nerrors: не опубликуется, пока не исправить; warnings: можно, но стоит\nпосмотреть. У каждой записи"},{"name":"update_funnel_draft","description":"Заменить черновик воронки целиком, в том числе у работающей:\nлюди идут по опубликованной версии, пока человек не опубликует\nправки в кабинете (там он увидит их "},{"name":"list_short_links","description":"Короткие ссылки школы, новые сверху: короткий адрес, куда ведёт\n(адрес или бот с кодом воронки), площадка, ролик или кампания, метки\nи цифры за последние 30 дне"},{"name":"create_short_link","description":"Короткая ссылка на домене школы: на адрес (url) или в бота\n(bot_username и, если нужно, start_code: код воронки «Старта»).\nplatform (youtube, vk, rutube, telegr"},{"name":"get_link_stats","description":"Что принесла одна ссылка за период. funnel: clicks (переходы),\npeople (разные люди), to_bot (пришли в бота), leads (заявки с сайта),\ndeals (сделки), payments (о"},{"name":"suggest_link_path","description":"До трёх свободных понятных путей для новой ссылки, лучшие первыми:\nлатиница, дефисы, до 40 знаков (go.школа.ru/osi-minikurs вместо\ngo.школа.ru/k7Pq2a). Строятся"},{"name":"update_short_link","description":"Поменять, куда ведёт ссылка (url), её название (title) или убрать\nв архив (archived=true, вернуть: false). Короткий адрес не меняется:\nновый url сразу получат в"}],"toolCount":45,"toolsHash":"526804e654088e16ad75952852fd5c903c2e06735467792e67e84cdc3653ee27","serverName":"AnySkills","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.11","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get_school_summary","description":"Название школы, тариф, сколько курсов и из них опубликовано,\nсколько учеников и потоков, и что можно этому ключу.\n\nИИ вызывает это первым при подключении и пред"},{"name":"list_courses","description":"Все курсы школы, включая черновики: название, опубликован ли,\nсколько модулей и уроков. Звать первым, чтобы узнать номера курсов\nдля остальных запросов. Чернови"},{"name":"create_course","description":"Заводит курс-черновик: ученикам он не виден, пока не опубликован\nчерез `publish_course`. Черновиков можно держать сколько угодно\nна любом тарифе. Режим доступа:"},{"name":"get_course","description":"Один курс целиком: модули по порядку, в каждом — уроки по порядку\nс типом (`lecture`, `practice`, `webinar`, `test`, `survey`),\nдлительностью и признаком обязат"},{"name":"get_lesson","description":"Документ урока в формате Editor.js: список блоков `header`,\n`paragraph`, `list`, `quote`, `callout`, `code`, `table`, `image`,\n`video`, `file`. Это тот же форма"},{"name":"update_lesson","description":"Меняет название и/или документ урока. Истории правок нет и замена\nнеобратима, поэтому при замене документа ОБЯЗАТЕЛЬНО передать\n`updated_at` из `get_lesson`: ес"},{"name":"get_test","description":"Тест целиком: порог зачёта, число попыток и вопросы по порядку.\nУ каждого вопроса тип (`one`, `many`, `text`, `number`, `open`),\nварианты с отметкой верного либ"},{"name":"create_module","description":"Модуль встаёт в конец курса. Уроки добавляются в модуль отдельно,\n`create_lesson`. Порядок модулей потом можно поменять в кабинете."},{"name":"create_lesson","description":"Урок встаёт в конец модуля. `document` — в формате Editor.js:\n`{\"blocks\": [{\"type\": \"header\", \"data\": {\"text\": \"...\", \"level\": 2}},\n{\"type\": \"paragraph\", \"data\""},{"name":"create_test","description":"Тест целиком за один вызов: параметры и вопросы по порядку.\nТипы вопросов: `one` (один из списка, ровно один верный), `many`\n(несколько верных), `text` и `numbe"},{"name":"publish_course","description":"Открывает курс ученикам или возвращает в черновики. Публикация\nидёт через лимит тарифа — ту же проверку, что кнопка в кабинете:\nсчитаются только опубликованные "},{"name":"list_cohorts","description":"Потоки: курс, даты старта и окончания, сколько записано. Поток —\nгруппа учеников с общим расписанием; прогресс по нему —\n`cohort_progress`. Ученики вне потоков "},{"name":"cohort_progress","description":"По каждому ученику потока: процент курса (считается по обязательным\nопубликованным урокам, как в кабинете), когда последний раз заходил\nили проходил урок, сколь"},{"name":"stuck_students","description":"Ученики, которые не дошли до конца и ничего не делали дольше `days`\nдней (ни входа, ни пройденного урока). Это адрес для куратора,\nа не оценка ученика. `cohort_"},{"name":"review_queue","description":"Работы, которые ждут куратора: кто сдал, по какому заданию, когда\nи сколько часов ждёт. Отсортировано от самых старых. Принять или\nвернуть работу через API нель"},{"name":"question_stats","description":"По каждому вопросу теста: сколько ответов и какая доля верных\nпо завершённым попыткам. Считаются ВСЕ попытки, а не последняя:\nвопрос, на котором спотыкаются с п"},{"name":"list_sales_stages","description":"Этапы воронки продаж школы по порядку: номер, название и смысл\n(open — в работе, won — успех, lost — отказ). Нужны, чтобы перевести\nсделку или отобрать сделки н"},{"name":"create_sales_stage","description":"Новый этап «в работе» в воронке продаж: сразу после after_stage_id,\nа без него перед «Оплачено» и «Отказом». Цвет: secondary, azure,\nblue, purple, yellow, orang"},{"name":"list_deals","description":"Сделки школы, новые сверху: этап, курс, сумма, метки, откуда пришёл\nчеловек. Например, «какие сделки ждут оплаты»: отбор по этапу, «кто\nмолчит»: по метке (`tag`"},{"name":"get_deal","description":"Одна сделка: поля, человек и последние 30 событий ленты (заметки\nменеджеров, переводы, открытие доступа, оплаты). Помогает ответить,\nчто с человеком происходит "},{"name":"create_lead","description":"Завести заявку: человек и сделка одним запросом. Нужна почта,\nтелефон или Telegram. Человек, который уже есть, не заводится второй\nраз; повторная заявка про то "},{"name":"move_deal","description":"Перевести сделку на другой этап той же воронки. Для отказа можно\nуказать причину. Перевод пишется в ленту сделки с пометкой, что его\nсделал ключ API сотрудника."},{"name":"add_deal_note","description":"Добавить заметку в ленту сделки: итог звонка, договорённость,\nвозражение. Заметку увидят менеджеры в карточке сделки."},{"name":"list_deal_tags","description":"Справочник меток сделок школы: имя, цвет, группа «одна из» (у сделки\nодна метка группы, новая снимает прежнюю), признак источника (откуда\nпришёл человек), прежн"},{"name":"create_deal_tag","description":"Новая метка в справочнике сделок. group: имя группы «одна из»\n(у сделки одна метка группы, например «Урок»), новая группа заведётся.\nis_source: метка говорит, о"},{"name":"add_deal_tag","description":"Поставить сделке метку по имени. Имя сравнивается без регистра и\nс прежними именами меток; такой метки нет, она заводится. Если метка\nв группе «одна из», прежня"},{"name":"remove_deal_tag","description":"Снять со сделки метку по имени (или прежнему имени). Метка остаётся\nв справочнике и на других сделках. Если её на сделке не было, ответ\n`changed: false`."},{"name":"add_deal_task","description":"Поставить задачу по сделке со сроком: позвонить, отправить договор.\nОтветственный — хозяин ключа. Срок обязателен: задача без срока не\nпопадёт в «Сегодня» и буд"},{"name":"update_sales_stage","description":"Переименовать этап, сменить цвет или переставить: after_stage_id\nэто этап, после которого он встанет. Смысл этапа (в работе, успех,\nотказ) меняется только в каб"},{"name":"update_deal_tag","description":"Переименовать метку (прежнее имя запомнится, бот и правила по нему\nеё найдут), сменить цвет, группу (пустая строка убирает из группы)\nили признак источника. Уда"},{"name":"list_sales_rules","description":"Шаги правил продаж: повод (event tag или stage, с номером метки или\nэтапа), через сколько минут, что сделать (action: bot запустить\nворонку бота, tag_add, tag_r"},{"name":"create_sales_rule","description":"Шаг правила продаж, ВСЕГДА выключенный: включает его владелец\nв кабинете, до этого он ничего не делает. Повод: event tag (tag_id,\nметка поставлена на сделку) ил"},{"name":"update_sales_rule","description":"Поправить шаг правила, пока он выключен: только присланные поля.\nВключённый шаг работает на людях, его меняет только владелец\nв кабинете: ответ 409."},{"name":"list_bots","description":"Боты школы в Telegram: номер, название, адрес и работает ли.\nНомер бота нужен, чтобы читать его воронки и собирать новые."},{"name":"list_funnels","description":"Воронки бота: состояние (draft — черновик, active — работает,\npaused — остановлена), есть ли неопубликованные правки и чьи."},{"name":"create_funnel_draft","description":"Новая воронка бота черновиком. Людям ничего не уходит: опубликовать\nеё может только человек в кабинете, ссылка в ответе (editor_url).\nФормат воронки: get_funnel"},{"name":"get_funnel_format","description":"Формат воронки: блоки, их настройки и стрелки. Прочитать до того,\nкак собирать или править воронку: черновик присылается целиком\nв этом формате."},{"name":"get_funnel","description":"Черновик и опубликованная версия воронки, номер версии черновика\n(нужен для правки) и сколько людей сейчас стоит на каждом блоке\nопубликованной версии. Люди счи"},{"name":"check_funnel","description":"Та же проверка, что перед публикацией, но ничего не публикует.\nerrors: не опубликуется, пока не исправить; warnings: можно, но стоит\nпосмотреть. У каждой записи"},{"name":"update_funnel_draft","description":"Заменить черновик воронки целиком, в том числе у работающей:\nлюди идут по опубликованной версии, пока человек не опубликует\nправки в кабинете (там он увидит их "},{"name":"list_short_links","description":"Короткие ссылки школы, новые сверху: короткий адрес, куда ведёт\n(адрес или бот с кодом воронки), площадка, ролик или кампания, метки\nи цифры за последние 30 дне"},{"name":"create_short_link","description":"Короткая ссылка на домене школы: на адрес (url) или в бота\n(bot_username и, если нужно, start_code: код воронки «Старта»).\nplatform (youtube, vk, rutube, telegr"},{"name":"get_link_stats","description":"Что принесла одна ссылка за период. funnel: clicks (переходы),\npeople (разные люди), to_bot (пришли в бота), leads (заявки с сайта),\ndeals (сделки), payments (о"},{"name":"suggest_link_path","description":"До трёх свободных понятных путей для новой ссылки, лучшие первыми:\nлатиница, дефисы, до 40 знаков (go.школа.ru/osi-minikurs вместо\ngo.школа.ru/k7Pq2a). Строятся"},{"name":"update_short_link","description":"Поменять, куда ведёт ссылка (url), её название (title) или убрать\nв архив (archived=true, вернуть: false). Короткий адрес не меняется:\nновый url сразу получат в"}],"package":null,"toolSurface":{"id":"ts_bj72xj7khfdk","endpointId":"ep_3xzfyz4qw4fv","hash":"526804e654088e16ad75952852fd5c903c2e06735467792e67e84cdc3653ee27","toolCount":45,"serverName":"AnySkills","serverVersion":"4.0.10","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-02T05:26:37.650Z","lastSeenAt":"2026-10-12T01:25:20.594Z","observations":37,"toolNames":["get_school_summary","list_courses","create_course","get_course","get_lesson","update_lesson","get_test","create_module","create_lesson","create_test","publish_course","list_cohorts","cohort_progress","stuck_students","review_queue","question_stats","list_sales_stages","create_sales_stage","list_deals","get_deal","create_lead","move_deal","add_deal_note","list_deal_tags","create_deal_tag","add_deal_tag","remove_deal_tag","add_deal_task","update_sales_stage","update_deal_tag","list_sales_rules","create_sales_rule","update_sales_rule","list_bots","list_funnels","create_funnel_draft","get_funnel_format","get_funnel","check_funnel","update_funnel_draft","list_short_links","create_short_link","get_link_stats","suggest_link_path","update_short_link"],"distinctSurfaces":5},"endpointFacts":[{"id":"ep_3xzfyz4qw4fv","url":"https://mcp.anyskills.ru","type":"mcp_streamable_http","factsCheckedAt":"2026-10-12T01:25:20.600Z","auth":{"observedAt":"2026-10-12T01:25:20.853Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-12T01:25:21.032Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.anyskills.ru","issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validFrom":"2026-09-08T13:37:30.000Z","validTo":"2026-12-07T13:37:29.000Z","daysToExpiry":56,"sanCount":1,"fingerprint256":"2A:DA:82:D5:6E:74:35:0F:89:25:F6:7B:E9:F3:3C:86:33:05:6F:8E:B8:AA:8E:9C:79:78:C8:D1:4A:45:2D:68"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"ru.anyskills/anyskills","url":"https://registry.modelcontextprotocol.io/v0/servers/ru.anyskills%2Fanyskills","firstSeenAt":"2026-09-09T08:18:29.239Z","fetchedAt":"2026-10-11T15:19:30.940Z","normalizedAt":"2026-10-11T15:19:30.940Z"}]},"firstSeenAt":"2026-09-09T08:18:29.239Z","updatedAt":"2026-10-12T01:28:29.282Z"}