AnySkills

ru.anyskills由 anyskills.ru 发布官方发布者v1.0.0更新于 Oct 24, 2026

AnySkills online school: build courses, lessons and tests, publish, track student progress.

已验证Streamable HTTP可网页运行效率与工作流沟通与协作商业与电商

概览

AI 生成的概览

AnySkills 把助手连接到在线学校平台,用于搭建课程、课程章节和测试,发布内容,并跟踪学员进度与销售。

可以做什么
读取学校概况、课程、模块、章节和测试(含草稿与正确答案),并创建或修改课程、模块、章节和测试;修改带版本校验,发布受套餐限额约束。跟踪班级与学员:班级进度、停滞学员,以及待批改作业队列。按全部作答统计测试题的正确率。管理销售流程:阶段、交易、备注、任务、标签和线索,创建线索带幂等保护。以草稿方式搭建 Telegram 机器人漏斗,读取漏斗格式,发布前检查漏斗,并管理销售规则(新建时默认关闭)。
适用场景
适合学校员工让助手起草或调整课程内容、查看班级进度、找出停滞学员,或在不打开管理后台的情况下处理销售流程和机器人漏斗。
运行要求
远程 streamable HTTP 端点,无需本地安装包。需要学校后台“设置 → API 与 AI”中签发的 Bearer API 密钥,放在 Authorization 请求头中。密钥的权限范围与学校的个人数据设置决定是否显示姓名。
安装前请注意
该密钥以学校员工身份操作:可创建和修改课程、章节、测试、交易、标签、任务和漏斗草稿,发布会计入套餐限额。测试工具会返回正确答案。交易与线索工具涉及个人数据;仅当密钥具备姓名权限且学校允许时才显示姓名。漏斗草稿和销售规则需由人在后台发布或启用后才会触达用户。

安装

在 SourceWeft 中

  1. 打开 控制台中的 AnySkills,将其添加到工作区。
  2. 连接 Authorization token 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/ru.anyskills%2Fanyskills/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "anyskills": {
      "type": "http",
      "url": "https://mcp.anyskills.ru/",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

工具

45

get_school_summary

Сводка школы

Название школы, тариф, сколько курсов и из них опубликовано, сколько учеников и потоков, и что можно этому ключу. ИИ вызывает это первым при подключении и представляется человеку по-человечески: не списком инструментов, а тремя делами, ради которых школа его подключила, и одним примером вопроса. Цифры настоящие, из этого же ключа.

无需输入参数。

list_courses

Курсы школы

Все курсы школы, включая черновики: название, опубликован ли, сколько модулей и уроков. Звать первым, чтобы узнать номера курсов для остальных запросов. Черновик отличается от опубликованного полем `is_published`; ученики видят только опубликованные.

无需输入参数。

create_course

Создать курс

Заводит курс-черновик: ученикам он не виден, пока не опубликован через `publish_course`. Черновиков можно держать сколько угодно на любом тарифе. Режим доступа: `open` — всё открыто сразу, `cohort` — по расписанию потока, `sequence` — по прогрессу ученика. Автор курса — хозяин ключа. Повтор с тем же Idempotency-Key вернёт тот же курс, а не создаст второй.

输入参数title必填access_modedescription

get_course

Структура курса

Один курс целиком: модули по порядку, в каждом — уроки по порядку с типом (`lecture`, `practice`, `webinar`, `test`, `survey`), длительностью и признаком обязательности. Итоговый тест модуля, если есть, назван по номеру — его вопросы отдаёт `get_test`. Текст уроков сюда не входит: за ним `get_lesson`.

输入参数course_id必填

get_lesson

Урок целиком

Документ урока в формате TipTap/ProseMirror (`document_format: "v2"`): `{"type": "doc", "content": [узлы]}`. Узлы: `paragraph`, `heading` (`attrs.level` 2–4), `bulletList`/`orderedList`/`taskList` из `listItem`/`taskItem`, `blockquote`, `codeBlock` (`attrs.language`), `table`, `image` (`attrs.attachmentId`), `video` (`attrs.provider`, `attrs.videoId`), `file`, `test` (`attrs.testId`), `assignment`, `survey`, `callout` (`attrs.style`), `details` (спойлер), `columns`, `section`, `horizontalRule`. Текст — узлы `text` с `marks` (`bold`, `italic`, `link` …). Ответ годится как образец для `create_lesson`. Урок, ещё не открытый в редакторе, отдаётся тоже в этом формате.

输入参数lesson_id必填

update_lesson

Изменить урок

Меняет название и/или документ урока. Прежний документ уходит в историю версий урока (вернуть — в кабинете). При замене документа ОБЯЗАТЕЛЬНО передать `updated_at` из `get_lesson`: если урок с тех пор менялся — отказ 409, а не затирание. Сначала `get_lesson`, потом правка.

输入参数titledocumentlesson_id必填updated_at

get_test

Тест с вопросами

Тест целиком: порог зачёта, число попыток и вопросы по порядку. У каждого вопроса тип (`one`, `many`, `text`, `number`, `open`), варианты с отметкой верного либо верный текст. Верные ответы отдаются, потому что ключ принадлежит сотруднику школы, а не ученику. Владельцу и методисту — любой тест школы; остальным — только тест, стоящий в их курсах.

输入参数test_id必填

create_module

Добавить модуль в курс

Модуль встаёт в конец курса. Уроки добавляются в модуль отдельно, `create_lesson`. Порядок модулей потом можно поменять в кабинете.

输入参数title必填course_id必填

create_lesson

Добавить урок в модуль

Урок встаёт в конец модуля. `document` — в формате TipTap (`{"type": "doc", "content": [{"type": "heading", "attrs": {"level": 2}, "content": [{"type": "text", "text": "..."}]}, {"type": "paragraph", "content": [...]}]}`); узлы перечислены у `get_lesson`, образец отдаёт он же. Старый формат Editor.js (`{"blocks": [...]}`) тоже принимается и переводится. Видео — провайдер и идентификатор, не iframe. Неизвестное выбрасывается.

输入参数kindtitle必填documentmodule_id必填is_requiredduration_minutes

create_test

Создать тест с вопросами

Тест целиком за один вызов: параметры и вопросы по порядку. Типы вопросов: `one` (один из списка, ровно один верный), `many` (несколько верных), `text` и `number` (верный ответ в `correct_text`), `open` (ответ своими словами; `reference_answer` и `criteria` помогают проверке). Куда положить: `lesson_id` — блоком в конец урока, `module_id` — итоговым тестом модуля; можно и то и другое, можно ничего.

输入参数title必填lesson_idmodule_idquestions必填pass_scoredescriptionmax_attempts

publish_course

Опубликовать курс

Открывает курс ученикам или возвращает в черновики. Публикация идёт через лимит тарифа — ту же проверку, что кнопка в кабинете: считаются только опубликованные курсы, черновики нет. Если лимит исчерпан — 409 с текстом, что делать. Снять с публикации можно всегда.

输入参数course_id必填published

list_cohorts

Потоки школы

Потоки: курс, даты старта и окончания, сколько записано. Поток — группа учеников с общим расписанием; прогресс по нему — `cohort_progress`. Ученики вне потоков (запись без потока) сюда не попадают — их ищет `stuck_students` без `cohort_id`.

无需输入参数。

cohort_progress

Прогресс потока по ученикам

По каждому ученику потока: процент курса (считается по обязательным опубликованным урокам, как в кабинете), когда последний раз заходил или проходил урок, сколько дней с тех пор. Плюс доходимость потока — доля тех, кто дошёл до 100 %. Имена — только по ступени 3 (см. описание сервера), иначе «Ученик 14».

输入参数cohort_id必填

stuck_students

Кто встал

Ученики, которые не дошли до конца и ничего не делали дольше `days` дней (ни входа, ни пройденного урока). Это адрес для куратора, а не оценка ученика. `cohort_id` сужает до одного потока; без него — вся школа, включая записи без потока. Черновики курсов не считаются.

输入参数dayscohort_id

review_queue

Очередь проверки

Работы, которые ждут куратора: кто сдал, по какому заданию, когда и сколько часов ждёт. Отсортировано от самых старых. Принять или вернуть работу через API нельзя — только посмотреть очередь.

无需输入参数。

question_stats

Где спотыкаются

По каждому вопросу теста: сколько ответов и какая доля верных по завершённым попыткам. Считаются ВСЕ попытки, а не последняя: вопрос, на котором спотыкаются с первого раза, виден только так. Ниже 50 % верных — вопрос стоит перечитать: он либо трудный, либо сформулирован неясно.

输入参数test_id必填

list_sales_stages

Этапы воронки продаж

Этапы воронки продаж школы по порядку: номер, название и смысл (open — в работе, won — успех, lost — отказ). Нужны, чтобы перевести сделку или отобрать сделки на одном этапе.

无需输入参数。

create_sales_stage

Завести этап продаж

Новый этап «в работе» в воронке продаж: сразу после after_stage_id, а без него перед «Оплачено» и «Отказом». Цвет: secondary, azure, blue, purple, yellow, orange, green, red. Людям это ничего не шлёт. Удалить этап может только человек в кабинете.

输入参数name必填colorafter_stage_id

list_deals

Сделки школы

Сделки школы, новые сверху: этап, курс, сумма, метки, откуда пришёл человек. Например, «какие сделки ждут оплаты»: отбор по этапу, «кто молчит»: по метке (`tag`, имя метки или её прежнее имя). Люди без имён, если у ключа нет области «имена» или школа не разрешила ИИ персональные данные. Не больше 200 за раз.

输入参数taglimitstage_idopen_onlyupdated_since

get_deal

Сделка с лентой

Одна сделка: поля, человек и последние 30 событий ленты (заметки менеджеров, переводы, открытие доступа, оплаты). Помогает ответить, что с человеком происходит и о чём с ним договорились.

输入参数deal_id必填

create_lead

Новая заявка

Завести заявку: человек и сделка одним запросом. Нужна почта, телефон или Telegram. Человек, который уже есть, не заводится второй раз; повторная заявка про то же ложится заметкой в открытую сделку. Заголовок `Idempotency-Key` защищает от двойной отправки.

输入参数nameemailphonecommenttelegramutm_termcourse_idutm_mediumutm_sourceutm_contentutm_campaign

move_deal

Перевести сделку на этап

Перевести сделку на другой этап той же воронки. Для отказа можно указать причину. Перевод пишется в ленту сделки с пометкой, что его сделал ключ API сотрудника.

输入参数reasondeal_id必填stage_id必填

add_deal_note

Заметка в сделку

Добавить заметку в ленту сделки: итог звонка, договорённость, возражение. Заметку увидят менеджеры в карточке сделки.

输入参数text必填deal_id必填

list_deal_tags

Метки сделок

Справочник меток сделок школы: имя, цвет, группа «одна из» (у сделки одна метка группы, новая снимает прежнюю), признак источника (откуда пришёл человек), прежние имена и на скольких сделках метка стоит. Нужен, чтобы поставить метку существующим именем, а не завести дубль.

无需输入参数。

create_deal_tag

Завести метку сделок

Новая метка в справочнике сделок. group: имя группы «одна из» (у сделки одна метка группы, например «Урок»), новая группа заведётся. is_source: метка говорит, откуда пришёл человек. Имя, занятое другой меткой или её прежним именем, отказ: возьмите ту метку.

输入参数name必填colorgroupis_source

add_deal_tag

Поставить метку сделке

Поставить сделке метку по имени. Имя сравнивается без регистра и с прежними именами меток; такой метки нет, она заводится. Если метка в группе «одна из», прежняя метка группы снимается сама. Повторная метка ничего не меняет. Событие ложится в ленту сделки.

输入参数name必填deal_id必填

remove_deal_tag

Снять метку со сделки

Снять со сделки метку по имени (или прежнему имени). Метка остаётся в справочнике и на других сделках. Если её на сделке не было, ответ `changed: false`.

输入参数name必填deal_id必填

add_deal_task

Задача по сделке

Поставить задачу по сделке со сроком: позвонить, отправить договор. Ответственный — хозяин ключа. Срок обязателен: задача без срока не попадёт в «Сегодня» и будет забыта.

输入参数text必填due_at必填deal_id必填

update_sales_stage

Поправить этап продаж

Переименовать этап, сменить цвет или переставить: after_stage_id это этап, после которого он встанет. Смысл этапа (в работе, успех, отказ) меняется только в кабинете.

输入参数namecolorstage_id必填after_stage_id

update_deal_tag

Поправить метку сделок

Переименовать метку (прежнее имя запомнится, бот и правила по нему её найдут), сменить цвет, группу (пустая строка убирает из группы) или признак источника. Удалить и склеить метки можно только в кабинете.

输入参数namecolorgrouptag_id必填is_source

list_sales_rules

Правила продаж

Шаги правил продаж: повод (event tag или stage, с номером метки или этапа), через сколько минут, что сделать (action: bot запустить воронку бота, tag_add, tag_remove, stage, task, goal), включён ли и почему может не сработать (problem).

无需输入参数。

create_sales_rule

Собрать шаг правила продаж выключенным

Шаг правила продаж, ВСЕГДА выключенный: включает его владелец в кабинете, до этого он ничего не делает. Повод: event tag (tag_id, метка поставлена на сделку) или stage (stage_id, сделка перешла на этап). delay_minutes: через сколько. action: bot (funnel_id, запустить воронку бота), tag_add или tag_remove (target_tag_id), stage (target_stage_id, «Оплачено» нельзя), task (task_text, task_days), goal (цель Метрики). skip_if_replied: не делать, если человек ответил.

输入参数goaleventactiontag_idstage_idfunnel_idtask_daystask_textlost_reasondelay_minutestarget_tag_idskip_if_replied另有 1 个

update_sales_rule

Поправить выключенный шаг правила

Поправить шаг правила, пока он выключен: только присланные поля. Включённый шаг работает на людях, его меняет только владелец в кабинете: ответ 409.

输入参数goaleventactiontag_idrule_id必填stage_idfunnel_idtask_daystask_textlost_reasondelay_minutestarget_tag_id另有 2 个

list_bots

Боты школы

Боты школы в Telegram: номер, название, адрес и работает ли. Номер бота нужен, чтобы читать его воронки и собирать новые.

无需输入参数。

list_funnels

Воронки бота

Воронки бота: состояние (draft — черновик, active — работает, paused — остановлена), есть ли неопубликованные правки и чьи.

输入参数bot_id必填

create_funnel_draft

Собрать новую воронку черновиком

Новая воронка бота черновиком. Людям ничего не уходит: опубликовать её может только человек в кабинете, ссылка в ответе (editor_url). Формат воронки: get_funnel_format. В ответе проверка (errors, warnings): исправьте ошибки правкой черновика.

输入参数name必填graph必填bot_id必填

get_funnel_format

Как устроена воронка

Формат воронки: блоки, их настройки и стрелки. Прочитать до того, как собирать или править воронку: черновик присылается целиком в этом формате.

无需输入参数。

get_funnel

Воронка целиком

Черновик и опубликованная версия воронки, номер версии черновика (нужен для правки) и сколько людей сейчас стоит на каждом блоке опубликованной версии. Люди считаются числом, без имён.

输入参数funnel_id必填

check_funnel

Проверить черновик воронки

Та же проверка, что перед публикацией, но ничего не публикует. errors: не опубликуется, пока не исправить; warnings: можно, но стоит посмотреть. У каждой записи номер блока (node) и текст.

输入参数funnel_id必填

update_funnel_draft

Поправить черновик воронки

Заменить черновик воронки целиком, в том числе у работающей: люди идут по опубликованной версии, пока человек не опубликует правки в кабинете (там он увидит их списком). draft_version из get_funnel: если черновик успели поменять, ответ 409, прочитайте воронку заново. В ответе задетые блоки и проверка.

输入参数namegraph必填funnel_id必填draft_version必填

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 83%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分

    请声明包含 README 的 GitHub 仓库,或在 OAuth 受保护资源元数据中提供 resource_documentation。

  • 许可证不适用

    托管服务按其提供方的条款使用,因此这里不要求许可证。此检查项不计入百分比。