AnySkills online school: build courses, lessons and tests, publish, track student progress.
AnySkills is a remote MCP server published at mcp.anyskills.ru. It has been probed 15 times since 9/12/2026. It answered in 15 of them (100.0%), a near-uninterrupted record. Median response time is 1,794 ms, a delay an agent will notice. It exposes a broad tool surface of 16 tools. On the protocol side it speaks the 2026-07-28 stateless spec.
Can an LLM agent pick the right tool here — names, descriptions and parameter clarity are assessed.
Risk: low
| Run | Era | Modern | ms | Legacy | ms | Versions |
|---|---|---|---|---|---|---|
| 2026-09-13 21:01:02 | Dual-era | 200 | 1483 | 200 | 1480 | 2026-07-28 |
| 2026-09-13 18:57:30 | Dual-era | 200 | 371 | 200 | 369 | 2026-07-28 |
| 2026-09-13 16:52:42 | Dual-era | 200 | 1602 | 200 | 1600 | 2026-07-28 |
| 2026-09-13 14:49:35 | Dual-era | 200 | 1149 | 200 | 1145 | 2026-07-28 |
| 2026-09-13 12:47:19 | Dual-era | 200 | 3230 | 200 | 3227 | 2026-07-28 |
| 2026-09-13 10:45:14 | Dual-era | 200 | 1197 | 200 | 1308 | 2026-07-28 |
| 2026-09-13 08:43:04 | Dual-era | 200 | 1794 | 200 | 1791 | 2026-07-28 |
| 2026-09-13 06:40:42 | Dual-era | 200 | 1555 | 200 | 1553 | 2026-07-28 |
| 2026-09-13 04:35:29 | Dual-era | 200 | 2396 | 200 | 2404 | 2026-07-28 |
| 2026-09-13 01:33:33 | Dual-era | 200 | 1850 | 200 | 1848 | 2026-07-28 |
tools/list structure, inputSchema validity, and a functional smoke test — the components of the 0-100 score.
Tools the server advertised in the latest measurement — measured, not catalog-claimed.
get_school_summaryНазвание школы, тариф, сколько курсов и из них опубликовано, сколько учеников и потоков, и что можно этому ключу. ИИ вызывает это первым при подключении и представляется человеку по-человечески: не списком инструментов, а тремя делами, ради которых школа его подключила, и одним примером вопроса. Цифры настоящие, из этого же ключа.
list_coursesВсе курсы школы, включая черновики: название, опубликован ли, сколько модулей и уроков. Звать первым, чтобы узнать номера курсов для остальных запросов. Черновик отличается от опубликованного полем `is_published`; ученики видят только опубликованные.
create_courseЗаводит курс-черновик: ученикам он не виден, пока не опубликован через `publish_course`. Черновиков можно держать сколько угодно на любом тарифе. Режим доступа: `open` — всё открыто сразу, `cohort` — по расписанию потока, `sequence` — по прогрессу ученика. Автор курса — хозяин ключа. Повтор с тем же Idempotency-Key вернёт тот же курс, а не создаст второй.
titlestringrequireddescriptionstringaccess_modestringget_courseОдин курс целиком: модули по порядку, в каждом — уроки по порядку с типом (`lecture`, `practice`, `webinar`, `test`, `survey`), длительностью и признаком обязательности. Итоговый тест модуля, если есть, назван по номеру — его вопросы отдаёт `get_test`. Текст уроков сюда не входит: за ним `get_lesson`.
course_idintegerrequiredget_lessonДокумент урока в формате Editor.js: список блоков `header`, `paragraph`, `list`, `quote`, `callout`, `code`, `table`, `image`, `video`, `file`. Это тот же формат, в котором урок принимается на запись, поэтому ответ годится как образец для `create_lesson`. У старых уроков документа может не быть — тогда `document` пуст, а содержимое лежит строками в `blocks`.
lesson_idintegerrequiredupdate_lessonМеняет название и/или документ урока. Истории правок нет и замена необратима, поэтому при замене документа ОБЯЗАТЕЛЬНО передать `updated_at` из `get_lesson`: если урок с тех пор менялся — отказ 409, а не затирание. Сначала `get_lesson`, потом правка.
lesson_idintegerrequiredtitledocumentupdated_atget_testТест целиком: порог зачёта, число попыток и вопросы по порядку. У каждого вопроса тип (`one`, `many`, `text`, `number`, `open`), варианты с отметкой верного либо верный текст. Верные ответы отдаются, потому что ключ принадлежит сотруднику школы, а не ученику.
test_idintegerrequiredcreate_moduleМодуль встаёт в конец курса. Уроки добавляются в модуль отдельно, `create_lesson`. Порядок модулей потом можно поменять в кабинете.
course_idintegerrequiredtitlestringrequiredcreate_lessonУрок встаёт в конец модуля. `document` — в формате Editor.js: `{"blocks": [{"type": "header", "data": {"text": "...", "level": 2}}, {"type": "paragraph", "data": {"text": "..."}}, ...]}`. Разрешённые блоки: header, paragraph, list, quote, callout, code, table, image, video (провайдер и идентификатор, не iframe), file, test (`{"test_id": N}`). Неизвестные блоки выбрасываются, разметка чистится. Образец готового документа отдаёт `get_lesson`.
module_idintegerrequiredtitlestringrequiredkindstringduration_minutesis_requiredbooleandocumentcreate_testТест целиком за один вызов: параметры и вопросы по порядку. Типы вопросов: `one` (один из списка, ровно один верный), `many` (несколько верных), `text` и `number` (верный ответ в `correct_text`), `open` (ответ своими словами; `reference_answer` и `criteria` помогают проверке). Куда положить: `lesson_id` — блоком в конец урока, `module_id` — итоговым тестом модуля; можно и то и другое, можно ничего.
titlestringrequireddescriptionstringpass_scoreintegermax_attemptsintegerquestionsarrayrequiredlesson_idmodule_idpublish_courseОткрывает курс ученикам или возвращает в черновики. Публикация идёт через лимит тарифа — ту же проверку, что кнопка в кабинете: считаются только опубликованные курсы, черновики нет. Если лимит исчерпан — 409 с текстом, что делать. Снять с публикации можно всегда.
course_idintegerrequiredpublishedbooleanlist_cohortsПотоки: курс, даты старта и окончания, сколько записано. Поток — группа учеников с общим расписанием; прогресс по нему — `cohort_progress`. Ученики вне потоков (запись без потока) сюда не попадают — их ищет `stuck_students` без `cohort_id`.
Each block is one measurement round. Green: working response. Amber: responded but the server was returning errors (5xx). Red: no response at all.
Each cell is one probe run. Faded cells are incomplete probes — one leg did not answer, so the era is inconclusive.
The two probe legs separately: modern server/discover and legacy initialize.
Derived by comparing consecutive probes — changes in era, protocol version, build and reachability.
Add this badge to your README — it updates automatically as measurements change.
[](https://mcpmetrics.io/servers/ru-anyskills-anyskills)<a href="https://mcpmetrics.io/servers/ru-anyskills-anyskills"><img src="https://mcpmetrics.io/badge/ru.anyskills/anyskills/era.svg" alt="mcpmetrics"></a>You are seeing the last 7 days. Sign up for the full history. Which check failed and why is in the dashboard.
Sign up free to seeThe catalog entries whose name and description are closest to this one, found with the same index the search box uses.
**Just Publish** turns a website you built with AI into a live, public URL — without leaving the chat. No git, no CLI, no build step, no dashboard, and no login to fumble through. You hand it your files, it hands back a working link. It's built for the person who made a site with ChatGPT, Claude, or Cursor and just wants it online. ### How it works Call `deploy` with your files (HTML, CSS, JS, images) and an email. You get back a live `url`, a `site_id`, and an `edit_token`. Keep the token and you can update the same site anytime — either a full redeploy or a single-file edit. That's the whole flow. ### Tools - **`deploy`** — Publish a static site to a public URL. First call creates a new site and returns its `url`, `site_id`, and `edit_token`; pass those back to update it in place. - **`update_site_file`** — Change one or a few files on an existing site without resending the whole thing. - **`get_site_files`** — Read what's currently live before you edit. ### Who it's for Non-tech
Request online singing lessons with Voice School and Daria Klishina.
Yapp turns "build me a page and publish it" into a live URL. Connect once (browser OAuth, or a token for terminal clients) and your AI can publish a webpage from HTML, or host a PDF, image, or ZIP exactly as-is to a public `<slug>.yapp.page` URL in seconds, then update, password-protect, set expiry, attach a custom domain, or read form submissions, all by asking. Free to start; no local install. **Tools (15):** `publish_page`, `publish_file`, `update_page`, `delete_page`, `get_page_stats`, `list_my_pages`, `rename_page`, `change_page_slug`, `set_page_expiry`, `set_page_password`, `list_submissions`, `add_custom_domain`, `list_custom_domains`, `check_custom_domain`, `remove_custom_domain`.
Let your AI assistant build pages and courses, manage contacts, and run email campaigns in AXL.
Search and read 550+ free AI course tracks and 21,000+ lessons, so answers can cite a real lesson.
Connect Exact Online to your AI assistant via MCP. Manage Exact Online with natural language.
Comments
Sign in to write a comment
No comments yet. Be the first.