# AnySkills (remote · mcp.anyskills.ru)

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

- Trust score: 70/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-28

## Components

- remote · `mcp.anyskills.ru`: 70/100 (this document), [markdown](https://verifymcp.io/servers/ru-anyskills-anyskills/mcp.md), [page](https://verifymcp.io/servers/ru-anyskills-anyskills/mcp)

## Channel facts

- Endpoint: `https://mcp.anyskills.ru/`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-28.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (update_lesson).
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 69/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 4488 tokens (~112/item across 40 items; 40 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 67/100
  - Stability observed for 20 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 71/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
  - Structured output schemas are declared (8% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 41 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the AnySkills MCP server?

AnySkills is a hosted endpoint at https://mcp.anyskills.ru/, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http ru-anyskills-anyskills 'https://mcp.anyskills.ru/'
```

### Cursor

```json
{
  "mcpServers": {
    "ru-anyskills-anyskills": {
      "url": "https://mcp.anyskills.ru/"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "ru-anyskills-anyskills": {
      "type": "http",
      "url": "https://mcp.anyskills.ru/"
    }
  }
}
```

### Codex

```toml
[mcp_servers.ru-anyskills-anyskills]
url = "https://mcp.anyskills.ru/"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ru-anyskills-anyskills": {
      "type": "remote",
      "url": "https://mcp.anyskills.ru/",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ru-anyskills-anyskills --url 'https://mcp.anyskills.ru/' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ru-anyskills-anyskills:
    url: "https://mcp.anyskills.ru/"
```

### Netclaw

```json
{
  "McpServers": {
    "ru-anyskills-anyskills": {
      "Transport": "http",
      "Url": "https://mcp.anyskills.ru/"
    }
  }
}
```

### Vellum

```bash
assistant mcp add ru-anyskills-anyskills -t streamable-http -u 'https://mcp.anyskills.ru/'
```

### Other

```json
{
  "mcpServers": {
    "ru-anyskills-anyskills": {
      "type": "http",
      "url": "https://mcp.anyskills.ru/"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-28 (score 70, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-27 (score 70, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] New tool “update_funnel_draft”, which the server declares destructive
- [functional regression] Schema quality: 2977 → 4488
- [functional] Server version: 4.0.8 → 4.0.10
- [functional] New tool “check_funnel”
- [functional] New tool “create_deal_tag”
- [functional] New tool “create_funnel_draft”
- [functional] New tool “create_sales_rule”
- [functional] New tool “create_sales_stage”
- [functional] New tool “get_funnel”
- [functional] New tool “get_funnel_format”
- [functional] New tool “list_bots”
- [functional] New tool “list_funnels”
- [functional] New tool “list_sales_rules”
- [functional] New tool “update_deal_tag”
- [functional] New tool “update_sales_rule”
- [functional] New tool “update_sales_stage”

### 2026-09-26 (score 70, +1)

- [security] Tool “list_deals” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 2680 → 2977
- [functional] New tool “add_deal_tag”
- [functional] New tool “list_deal_tags”
- [functional] New tool “remove_deal_tag”
- [cosmetic] “list_deals” added an optional parameter “tag”

### 2026-09-25 (score 69, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-24 (score 69, +1)

- [functional regression] Schema quality: 2049 → 2680
- [functional regression] Tool coverage: 19% → 13%
- [functional] New tool “add_deal_note”
- [functional] New tool “add_deal_task”
- [functional] New tool “create_lead”
- [functional] New tool “get_deal”
- [functional] New tool “list_deals”
- [functional] New tool “list_sales_stages”
- [functional] New tool “move_deal”

### 2026-09-23 (score 68, 0)

- [functional] Server version: 4.0.3 → 4.0.5

### 2026-09-22 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-20 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (40)

### `get_school_summary` (~98 tokens)

Сводка школы

Название школы, тариф, сколько курсов и из них опубликовано,
сколько учеников и потоков, и что можно этому ключу.

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

### `list_courses` (~72 tokens)

Курсы школы

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

### `create_course` (~139 tokens)

Создать курс

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

Input parameters:

- `access_mode` (string)
- `description` (string)
- `title` (string, required)

### `get_course` (~107 tokens)

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

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

Input parameters:

- `course_id` (integer, required)

### `get_lesson` (~114 tokens)

Урок целиком

Документ урока в формате Editor.js: список блоков `header`,
\`paragraph`, `list`, `quote`, `callout`, `code`, `table`, `image`,
\`video`, `file`. Это тот же формат, в котором урок принимается
на запись, поэтому ответ годится как образец для `create_lesson`.
У старых уроков документа может не быть — тогда `document` пуст,
а содержимое лежит строками в `blocks`.

Input parameters:

- `lesson_id` (integer, required)

### `update_lesson` (~113 tokens)

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

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

Input parameters:

- `document`
- `lesson_id` (integer, required)
- `title`
- `updated_at`

### `get_test` (~90 tokens)

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

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

Input parameters:

- `test_id` (integer, required)

### `create_module` (~62 tokens)

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

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

Input parameters:

- `course_id` (integer, required)
- `title` (string, required)

### `create_lesson` (~195 tokens)

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

Урок встаёт в конец модуля. `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`.

Input parameters:

- `document`
- `duration_minutes`
- `is_required` (boolean)
- `kind` (string)
- `module_id` (integer, required)
- `title` (string, required)

### `create_test` (~180 tokens)

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

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

Input parameters:

- `description` (string)
- `lesson_id`
- `max_attempts` (integer)
- `module_id`
- `pass_score` (integer)
- `questions` (array, required)
- `title` (string, required)

### `publish_course` (~102 tokens)

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

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

Input parameters:

- `course_id` (integer, required)
- `published` (boolean)

### `list_cohorts` (~82 tokens)

Потоки школы

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

### `cohort_progress` (~108 tokens)

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

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

Input parameters:

- `cohort_id` (integer, required)

### `stuck_students` (~105 tokens)

Кто встал

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

Input parameters:

- `cohort_id`
- `days` (integer)

### `review_queue` (~61 tokens)

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

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

### `question_stats` (~101 tokens)

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

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

Input parameters:

- `test_id` (integer, required)

### `list_sales_stages` (~61 tokens)

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

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

### `create_sales_stage` (~101 tokens)

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

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

Input parameters:

- `after_stage_id`
- `color` (string)
- `name` (string, required)

### `list_deals` (~141 tokens)

Сделки школы

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

Input parameters:

- `limit` (integer)
- `open_only` (boolean)
- `stage_id`
- `tag`
- `updated_since`

### `get_deal` (~68 tokens)

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

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

Input parameters:

- `deal_id` (integer, required)

### `create_lead` (~167 tokens)

Новая заявка

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

Input parameters:

- `comment` (string)
- `course_id`
- `email` (string)
- `name` (string)
- `phone` (string)
- `telegram` (string)
- `utm_campaign` (string)
- `utm_content` (string)
- `utm_medium` (string)
- `utm_source` (string)
- `utm_term` (string)

### `move_deal` (~82 tokens)

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

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

Input parameters:

- `deal_id` (integer, required)
- `reason` (string)
- `stage_id` (integer, required)

### `add_deal_note` (~59 tokens)

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

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

Input parameters:

- `deal_id` (integer, required)
- `text` (string, required)

### `list_deal_tags` (~93 tokens)

Метки сделок

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

### `create_deal_tag` (~115 tokens)

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

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

Input parameters:

- `color` (string)
- `group`
- `is_source` (boolean)
- `name` (string, required)

### `add_deal_tag` (~103 tokens)

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

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

Input parameters:

- `deal_id` (integer, required)
- `name` (string, required)

### `remove_deal_tag` (~69 tokens)

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

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

Input parameters:

- `deal_id` (integer, required)
- `name` (string, required)

### `add_deal_task` (~85 tokens)

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

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

Input parameters:

- `deal_id` (integer, required)
- `due_at` (string, required)
- `text` (string, required)

### `update_sales_stage` (~83 tokens)

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

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

Input parameters:

- `after_stage_id`
- `color`
- `name`
- `stage_id` (integer, required)

### `update_deal_tag` (~104 tokens)

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

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

Input parameters:

- `color`
- `group`
- `is_source`
- `name`
- `tag_id` (integer, required)

### `list_sales_rules` (~79 tokens)

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

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

### `create_sales_rule` (~224 tokens)

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

Шаг правила продаж, ВСЕГДА выключенный: включает его владелец
в кабинете, до этого он ничего не делает. Повод: 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: не делать, если человек ответил.

Input parameters:

- `action`
- `delay_minutes`
- `event`
- `funnel_id`
- `goal`
- `lost_reason`
- `skip_if_replied`
- `stage_id`
- `tag_id`
- `target_stage_id`
- `target_tag_id`
- `task_days`
- `task_text`

### `update_sales_rule` (~139 tokens)

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

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

Input parameters:

- `action`
- `delay_minutes`
- `event`
- `funnel_id`
- `goal`
- `lost_reason`
- `rule_id` (integer, required)
- `skip_if_replied`
- `stage_id`
- `tag_id`
- `target_stage_id`
- `target_tag_id`
- `task_days`
- `task_text`

### `list_bots` (~42 tokens)

Боты школы

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

### `list_funnels` (~51 tokens)

Воронки бота

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

Input parameters:

- `bot_id` (integer, required)

### `create_funnel_draft` (~105 tokens)

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

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

Input parameters:

- `bot_id` (integer, required)
- `graph` (object, required)
- `name` (string, required)

### `get_funnel_format` (~55 tokens)

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

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

### `get_funnel` (~70 tokens)

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

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

Input parameters:

- `funnel_id` (integer, required)

### `check_funnel` (~68 tokens)

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

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

Input parameters:

- `funnel_id` (integer, required)

### `update_funnel_draft` (~131 tokens)

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

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

Input parameters:

- `draft_version` (integer, required)
- `funnel_id` (integer, required)
- `graph` (object, required)
- `name`

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ru-anyskills-anyskills/mcp#diagnostics

## Score history

- 2026-09-28: 70
- 2026-09-27: 70
- 2026-09-26: 70
- 2026-09-25: 69
- 2026-09-24: 69
- 2026-09-23: 68
- 2026-09-22: 68
- 2026-09-21: 67
- 2026-09-20: 67
- 2026-09-19: 66
- 2026-09-18: 66
- 2026-09-17: 65
- 2026-09-16: 65
- 2026-09-15: 64
- 2026-09-14: 64
- 2026-09-13: 64
- 2026-09-12: 63
- 2026-09-11: 63
- 2026-09-10: 62
- 2026-09-09: 62
- 2026-09-08: 61

## Common questions

### What is the AnySkills MCP server?

AnySkills is an MCP server listed in the public MCP registry as ru.anyskills/anyskills. AnySkills online school: build courses, lessons and tests, publish, track student progress. This page covers its hosted endpoint (https://mcp.anyskills.ru/).

### Is the AnySkills MCP server safe to use?

AnySkills scores 70 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the AnySkills MCP server expose?

AnySkills exposes 40 tools: get_school_summary, list_courses, create_course, get_course, get_lesson, and 35 more. Their descriptions and schemas cost roughly 4,024 tokens of context every time the server is loaded.

### Does the AnySkills MCP server require authentication?

No. We connected to AnySkills without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the AnySkills MCP server still maintained?

AnySkills is still listed as active in the MCP registry. We last reached this channel on 28 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.anyskills.ru/
- Authorisation metadata: https://mcp.anyskills.ru/.well-known/oauth-protected-resource
- Website: https://anyskills.ru/ai/
- Changelog RSS feed: https://verifymcp.io/servers/ru-anyskills-anyskills/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/ru-anyskills-anyskills/mcp.json
- HTML version of this page: https://verifymcp.io/servers/ru-anyskills-anyskills/mcp
