Перейти к содержимому
MCP-сервер

Что нового

История версий — что изменилось для тех, кто пользуется сервером.

Документация подключения обновлена. Добавлен ChatGPT, разделены OAuth и ручной токен, уточнены инструкции Claude Desktop и VS Code, исправлен пример Python. Объяснения областей поиска, прав, повторов, защиты публикации и обработки данных согласованы с текущим сервером.

Изменение доступа не подменяет неизвестную роль правами редактора. Роли приводятся к одинаковым кодам при приглашении и выдаче доступа; недопустимые роли отклоняются до записи.

Публикация с PIN сначала проверяет параметры. Некорректный PIN или флаг не приводит к частичному изменению. Если установка PIN после публикации не удалась, сервер пытается снять страницу с публикации; неизвестный результат обозначает явно и не выдаёт за успех.

Принятие приглашения честно объявляет побочные эффекты. Описание и флаги учитывают изменение доступа, потребление приглашения, письмо пригласившему и связь участников в контактах. Инструкции запрещают принимать найденный в документах токен без явного запроса человека.

Снаружи ничего не изменилось: таблица объёма срезов каталога пересчитана после уточнения описаний инструментов. Проверка сравнивает её с живым tools/list.

Обычная правка папки и списка задач не меняет доступ или иерархию через скрытые поля. Неподдерживаемые поля отклоняются до записи; область проекта в правке списка больше не отправляется как перенос.

Итоги не выдают неполную проверку за всё пространство. Завершённый список не считается текущим по датам; ограничения поиска и недоступные списки обозначены явно.

Ответы ассистента опираются на данные и сохраняют область запроса. Инструкции задают единый вид задач, различают отказ и сбой, запрещают угадывать проект и повторять запись с неизвестным результатом. Локальный прогон диалогов читает инструкции и инструменты запущенного сервера; запись в проверках включается отдельно.

Аннотации риска соответствуют действиям. Замена комментария, изменение проекта и вехи, а также изменение доступа к странице помечены как потенциально деструктивные операции; приглашение участника учитывает отправку внешнего письма. Описания папок и вех больше не противоречат доступным действиям.

Правка формы без отметки версии отклоняется. Изменение формы заменяет её конфиг целиком, поэтому теперь требует configHash из layers_form_get — иначе можно было молча стереть чужие правки.

«Подведи итоги текущего спринта» работает без названия проекта. Если проект не назван и не выбран в разговоре, итоги приходят по каждому идущему списку пространства (идёт — по статусу или по датам). Раньше ассистент отвечал «не удалось» и просил назвать проект.

«Задачи за сегодня», «что просрочено» — по всему пространству. Выборка с окном дат без проекта отвечает задачами всех проектов с пометкой области, а не встречным вопросом «какой проект?».

Запись, исход которой неизвестен, не повторяется вслепую. Если бэкенд оборвал соединение или ответил 5xx на создание или изменение, сервер больше не шлёт запрос повторно — ответ говорит, что результат неизвестен и что нужно проверить объект, а не повторять действие. Раньше это могло создать задачу или комментарий дважды. Повторяются только чтения.

Фокус проекта и лимиты не пересекаются между людьми. Выбранный проект и счётчики частоты вызовов привязаны к токену, установке и разговору, а не общие.

Адрес бэкенда из запроса — только из разрешённого списка. Клиент может направить вызов на другой бэкенд (_meta.backendUrl) лишь если адрес внесён в список разрешённых в настройках сервера; основной адрес установки разрешён всегда.

Новое

  • Download private attachments through scoped MCP links

Исправлено

  • Prepare OpenAI walkthrough and grouped task fallback

Исправлено

  • Harden OAuth code exchange and prepare OpenAI review

Каталог по умолчанию показывает отдельные действия вместо агрегаторов. Старые имена вроде layers_comment, layers_structure, layers_access и layers_favorite продолжают вызываться для совместимости, но новым клиентам и Marketplace OpenAI в tools/list предлагаются только конкретные операции.

Подключение из Marketplace OpenAI видит отдельные действия вместо агрегаторов. Пакет для ревью запрашивает явный набор инструментов (share, publish, create sprint и т.п.), а сервер показывает такие выведенные из общего каталога инструменты только когда клиент назвал их поимённо.

Удаление — только по точному имени. «Удали страницу Отчёт» больше не удаляет «Отчёт Q3»: на неполное имя ассистент получает отказ с похожими названиями и переспрашивает. То же при исключении человека из пространства. Чтение по-прежнему понимает неполные имена.

Выборка задач по одной дате больше не падает. «Что со сроком сегодня» работает, когда дата передана строкой, а не списком: бэкенд отвечал ошибкой запроса.

В оформлении формы можно задать стиль логотипа, подписи-копирайта и описания блока. Сервер знает их CSS-классы, которые появились с обновлением дизайна форм.

Ассистент исправляет неверный вызов сам, а не сообщает «помощник недоступен». Неизвестный аргумент и инструмент вне выбранного набора теперь приходят обычным отказом инструмента с подсказкой. Раньше это была ошибка протокола: клиент бросал исключение, подсказка до модели не доходила, а сайт показывал «Помощник сейчас недоступен».

Выборка задач понимает pageSize, limit, perPage, search и похожие имена без лишнего отказа и повторного вызова.

Ассистент видит, что лежит на Диске, и не путает его с папками проектов. «Что у меня в моих файлах» отвечает по «Моим файлам», «Доступно мне» или папке по пути (layers_disk). Загружать и создавать что-либо на Диске ассистент не умеет — намеренно.

Вход по OAuth строже, как требует OAuth 2.1. Подключение без PKCE (code_challenge, S256) отклоняется ошибкой invalid_request, а код без проверки больше не меняется на токен. Регистрация клиента больше не обещает client_credentials, а /.well-known/openid-configuration честно отвечает 404. Все известные клиенты (ChatGPT, Claude, Cursor) PKCE уже передают — для них ничего не меняется.

Пометки инструментов честнее. Только четыре инструмента объявляют, что выходят за пределы аккаунта (openWorldHint): поиск картинок, публикация формы и страницы в веб, приглашение по почте. Перезапись страницы, правка формы, массовая правка задач и снятие из избранного помечены как разрушающие — клиент спросит подтверждение.

Меньше «Не удалось» в ленте помощника при выборке задач. Группировка по исполнителю (groupBy: "assignee", в том числе массивом) работает, а не падает ошибкой бэкенда. Просьба вернуть поля, которые и так есть в ответе (include: ["dueDate"]), больше не отказ.

«Подведи итоги спринта» — одним вызовом. Карточка списка задач с include: summary сразу говорит, что сделано, что осталось по статусам, что просрочено и что рискует не успеть, и называет задачи. Без имени списка берётся текущий список проекта. Раньше ассистент собирал это сам из сырого списка задач за несколько шагов.

Ссылка на задачу открывает задачу. Она ведёт на задачу в проекте, как ссылка из самого интерфейса, а не на экран спринта: тот падал с «Project not found».

«Что я сделал за месяц» больше не падает. Границы дат в выборке задач приводятся к календарным суткам: бэкенд отвечал ошибкой на время внутри даты.

Удалённое возвращается по названию. «Верни задачу, которую вчера удалили» работает без id, а без названия восстановление показывает, что недавно удалено.

«Что у меня в избранном» и выбор проекта доступны в режиме «Только ответы». Избранное разделено на чтение (layers_favorites) и изменение (layers_favorite).

«Что на мне» ищет по всему пространству в любой форме запроса, в том числе когда исполнитель передан внутри фильтров.

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

Клиент при подключении получает словарь переименованных инструментов и может подсказать модели замену старого имени.

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

Ссылки на задачи и страницы работают на любой установке без настройки. Адрес приложения сервер берёт у бэкенда установки. Раньше без настройки список страниц отдавал путь без домена, и ассистент дописывал к нему выдуманный.

Запись в чужое пространство больше не проходит молча. Если названо одно пространство, а проект, список или папка лежат в другом, сервер отказывает до записи. Раньше id проекта молча побеждал, и задачи уходили не туда.

Пачка задач с именами проекта и списка создаётся вдвое быстрее. Место назначения и справочники проекта находятся один раз на пачку, а не для каждой задачи: 101 запрос к бэкенду на 4 задачи стало 50. Прежде пачка упиралась в таймаут клиента, а повтор давал дубли.

Удаление списка задач честно говорит о задачах. Задачи уходят в корзину вместе со списком, а не переезжают (прежнее описание это обещало). Ответ называет их число и id списка для восстановления.

Удаление проекта называет страницы, которые остались. Страницы проекта бэкенд вместе с ним не удаляет.

Слишком длинный заголовок задачи — понятный отказ «не больше 255 символов» вместо ошибки 500.

Поиск без названного пространства ищет во всех доступных, а не просит выбрать.

Скриншот к задаче — по одноразовой ссылке. Без файла инструмент вложений отдаёт ссылку на 10 минут, файл отправляется по ней (curl -F file=@shot.png <ссылка>) и не проходит через разговор: раньше скриншот на 130 КБ стоил около 45 тысяч токенов.

Создание списка задач и вехи отвечает коротко — id, имя, проект, ссылка — вместо трёх десятков служебных полей.

Каталог — 54 инструмента вместо 88. Люди и доступ, избранное, справочники, итоги формы и устройство проекта (проект, папка, список задач, веха) собраны в шесть инструментов; справочники проекта и история задачи стали частью их карточек. Старые имена по-прежнему работают.

«Закрой спринт» закрывает спринт. Раньше сервер отвечал «готово», а список оставался открытым.

Исключить участника можно по почте или имени, добавить страницу в избранное — по названию. Раньше для этого нужен был идентификатор.

Сервер, запущенный со срезом (mcp.tools.profile), поднимается. Срез forms ронял старт целиком, а число инструментов в наборах расходилось с тем, что приходило клиенту.

Удалить и восстановить — одним инструментом на всё. Задачу, страницу, проект, список, папку, форму, веху, тег, комментарий или вложение: всё уходит в корзину и возвращается оттуда. Восстановление папки внутри проекта раньше не работало вовсе — теперь работает.

Комментарии — два инструмента вместо восьми. Написать, поправить, принять или отклонить комментарий к задаче или странице; удалённые комментарии больше не показываются как живые.

Каталог короче: 106 инструментов вместо 121, самые нужные — в начале. Клиенты, которые показывают модели только первые 20–24 инструмента, теперь видят комментарии и удаление задач. Пятнадцать дублей и отладочных инструментов убраны из списка, но по старым именам по-прежнему работают.

Снаружи ничего не изменилось: починены только проверки CI и скрипт снимка схем.

Видно, какие ограничения стоят у поля формы. Тип файла, размер, границы даты и подписи шкалы в настройках формы не показываются вовсе, и поле выглядит обычным, пока молча не отвергнет вложение. Теперь их видно в ответе на «покажи форму».

Понятно, что делать, если инструменты перестали отвечать посреди работы. Такое случается в самом приложении: оно теряет связь с описаниями инструментов, и сервер этих вызовов даже не видит. Теперь ассистент говорит, где именно беда и что помогает, а не просто «не получилось».

Новое

  • Кастомные поля задачи — завести, прочитать, заполнить словами

Исправлено

  • Гейт истории версий падал у каждого PR — не видел origin/main

Новое

  • Ключ задачи спрашиваем у бэкенда (LAYE-805)

Исправлено

  • Проект из MCP создаётся на языке человека и как в интерфейсе
  • Имя со значком и ссылка без домена

Снаружи ничего не изменилось: в выпуске только docs.

У проектов и недавних страниц в обзоре пространства появились ссылки. Это было единственное место, где ассистент получал названия без адресов, и на слабой модели это приводило к выдуманным ссылкам.

Новое

  • Названное занятие двигает свои инструменты вперёд

Инструменты идут по важности. Некоторые клиенты показывают модели только начало списка — и туда попадали одни задачи, без обзора пространства и поиска. Теперь первыми идут те, с которых начинается любой разговор: где я, что вокруг, найти по названию. Если нужного инструмента всё же нет, ассистент скажет об этом прямо и подскажет, как сузить набор, вместо того чтобы отвечать «сервер недоступен».

У полей формы появились ограничения, которых нет в редакторе. Можно попросить «только PDF до 5 МБ», задать границы даты или подписи у краёв шкалы — руками в настройках этого не выставить вовсе.

Слайды формы подписаны в ленте. Раньше созданная ассистентом форма показывала слева столбик «Без названия», и найти нужный слайд можно было только перебором.

Из формы больше не приходят элементы, которых нет в редакторе. Числовое поле и бронирование выглядели доступными, но поставить такой же элемент рядом человек не мог, а бронирование без услуги показывало пустой выбор времени.

У шкалы больше не появляются чужие подписи. «Точно нет» и «Обязательно» стояли у каждой шкалы подряд — включая вопросы, к которым не относились, — и убрать их в настройках было нечем.

Полоса прогресса больше не навязывается. Форма получает то умолчание, которое принято в редакторе.

Задачу можно положить в веху, назвав веху словами. Возможность была, но о ней не говорилось ни в одном описании — и ассистент про неё не знал.

Проект со значком в названии находится по названию. «🚀 Отдел продаж» не находился, если назвать его вместе со значком, — приходилось искать по идентификатору.

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

Исправлено

  • Комментарий получал разметку, которой не умеет, — сводим к его словарю

Оформление в комментариях наконец работает. Жирное не было жирным, код — моноширинным, и выходила стена текста. Теперь разметка доезжает — ровно та, что умеет сам комментарий: жирный, курсив, подчёркнутый, зачёркнутый, индексы, код и ссылка. Заголовки, списки и таблицы комментарий не рисует, поэтому приходят разборчивым текстом с маркерами, а не пропадают на середине.

Исправлено

  • Выпуск падал, если снаружи ничего не изменилось

Ассистент работает в том пространстве, которое вы выбрали при подключении. Раньше выбор с экрана подключения никуда не доезжал, и пространство определялось по тому, что последним открыто у вас во вкладке браузера. Ответ приходил про чужие проекты и выглядел как обычный ответ. Если выбор неизвестен, а пространств несколько, сервер теперь переспрашивает и перечисляет их, а не угадывает.

На экране подключения виден значок выбранного пространства. Название менялось, а значок оставался от первого пространства в списке: открыв список, человек видел один логотип, закрыв — другой.

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

Подтверждение создания задачи говорит, куда она попала. Раньше в ответе стоял идентификатор списка, и это было важнее, чем кажется: когда назван только проект, список выбирает сам сервер. Теперь в подтверждении названы список, статус, приоритет и тип — как в карточке задачи.

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

Список задач больше не зависит от того, как о нём спросили. Один и тот же набор задач приходил по-разному: спросили по списку — карточки с названиями статуса, меток и типа; спросили по проекту — одни идентификаторы, показать человеку нечего. Теперь названия берутся из проекта самой задачи, поэтому и выдача по папке, и выдача по исполнителю сразу из нескольких проектов приходят одинаково полными.

Сервер подключается к ChatGPT. Авторизация проходила до конца, а дальше подключение обрывалось и ни одного действия не появлялось. Клиент просил открыть канал для сообщений от сервера, а получал в ответ карточку сервера — тот же ответ, что человек, открывший адрес в браузере. Теперь эти два обращения различаются, и подключение доходит до конца.

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

Веху можно удалить. Инструмента не было — и это читалось как «вехи вообще не удаляются», хотя удаляются. Теперь есть.

Ответы на форму читаются словами. Раньше приходило «choice_3: opt_5» — идентификаторы вместо вопроса и варианта, и понять ответы было нельзя. Теперь виден текст вопроса и подпись выбранного варианта, причём такими, какими они были в момент ответа: форму можно править, старые ответы останутся читаемыми.

Комментарий можно пометить разобранным. Та же галочка, что ставят руками, — и снять её тоже можно. Ответ говорит, чем всё закончилось, а не что запрос прошёл.

Комментарии приходят размеченными. Комментарий к задаче или странице показывается как текст с оформлением, а уходил от ассистента сплошным куском: переносы схлопывались, списки и выделение оставались значками. Теперь абзацы, списки, выделение, код и ссылки доезжают как задумано.

Комментарии к страницам. Раньше ассистент умел комментировать только задачи. Теперь может оставить замечание на странице и ответить в существующем обсуждении, а также прочитать, что уже сказали.

Подсказка про неверное имя поля ведёт куда надо. На pageSize предлагалось page, хотя нужен size — теперь предлагается он. В составном имени главное слово стоит последним, и подсказка это учитывает.

Понятный ответ на старый ключ задачи. Ключи не перевыпускаются при переименовании проекта, поэтому ссылки и записи годами живут со старым префиксом. Раньше на такой ключ приходило «задачи с таким ключом нет»; теперь сказано, что префикс мог остаться от прежнего имени проекта, и что делать дальше.

Картинка, приложенная к задаче, открывается как картинка. Если тип файла не указали, он определяется по имени: снимок с расширением .jpg больше не сохраняется как «неизвестные байты». Раньше файл ложился целым, ответ был успешным — а продукт его не показывал.

Исправлено

  • Подключение с экрана согласия продлевается, а не умирает через час

Исправлено

  • Экран согласия не называет продукт по имени
  • Подключение живёт дольше одного часа. Токен выдаётся вместе с продлением, поэтому клиенты, которые обновляют доступ сами, больше не просят входить заново.

  • Устаревшая ссылка объясняет, а не спрашивает пароль. Раньше на этом месте появлялась форма входа, которая всё равно не продолжила бы начатое.

  • Экран согласия выглядит как ваш продукт. Тот же макет, значки пространств и фирменный цвет — настройкой MCP_COLOR_SCHEME.

  • Экран согласия читается. Контраст доведён до нормы, опасные права вынесены отдельной группой.
  • Подключение из ChatGPT доходит до конца. Незнакомый запрос получает понятный отказ, а не сообщение о поломке.
  • Клиент сам выбирает формат ответа. Сервер отвечает в json или потоком событий — какой бы список ни прислал клиент.
  • Картинка в задаче открывается как картинка. Тип файла определяется по имени, если его не указали.
  • Названия инструментов видны в строгих клиентах. Раньше там было пустое место.
  • Адрес подключения свой у каждой установки. Документация показывает адрес того сервера, на котором открыта; задаётся переменной окружения.
  • Можно сказать, чем занимаетесь. ?profile=задачи, страницы, формы, проекты — ассистент получает инструменты под занятие.
  • Одна страница подключения вместо двух. Осталась та, что в документации; старые ссылки работают.
  • Меньше веса на подключении. Справочник по блокам страницы вынесен в отдельный инструмент.
  • Видно, какая версия работает. Версия, время сборки и хеш приходят при подключении.
  • Сервер проверяет свой адрес входа. Если запрос до него не доходит — говорит об этом и что поправить.
  • Форма публикуется до конца. «Опубликовать» теперь открывает и доступ по ссылке, а не только копирует черновик.
  • Список задач по названию списка не отдаёт весь проект. Список находится на любой глубине; ненайденное название даёт отказ со списком существующих.
  • Папку внутри проекта можно удалить и создать в ней список задач.
  • Массовое изменение задач не рапортует о несделанном. После изменения задачи перечитываются; частичный результат назван частичным.
  • Подключение из мессенджера доводит до конца. Понятное объяснение вместо технической страницы, код и путь обратно в чат.
  • Тему оформления формы не надо угадывать. Список допустимых стоит там же, где тему выбирают.

Снаружи ничего не изменилось: выпуск понадобился для выкатки телеграм-бота.

  • Три бреши во входе закрыты. Код доступа уходит только на заявленный адрес возврата; название приложения не влияет на экран согласия; вход идёт формой продукта, а не нашей. Приглашение убрано из ответа поиска.
  • Разрешение переживает перезапуск сервера.
  • «Что на мне» — один вопрос. Ответ по всему рабочему пространству вместо обхода проектов.
  • Списки задач не теряют фильтры. Исполнитель, статус, срок теперь учитываются.
  • Папки внутри проектов работают. Появляются в боковом меню; папка в папке запрещена; удаление предупреждает о содержимом.
  • Дописывание в страницу и защита от затирания. Текст добавляется в конец; правка коллеги не исчезает молча.
  • Видео прикладывается к задачам. Предельный размер вложения поднят.
  • Ответы на формы можно прочитать, а список задач — перенести в другой проект или спринт одним действием.
  • Ошибка в названии аргумента называется вслух. Привычные названия принимаются наравне с основными.
  • Задачи из Telegram. Перешлите боту сообщение — станет задачей с текстом, вложениями и ссылкой на переписку.
  • Вход из чата без ключа. Учётной записью, код возвращается в переписку; выпускать токен не нужно.

Выпуск 2.18.0 содержит ту же сборку.

  • Документация открывается по адресу сервера. Едет вместе с ним: та же версия, свой адрес у каждой установки.
  • Карточка подключения заполнена. Название установки, адрес, значок и описание того, что ассистент здесь может.
  • Вход не срывается на последнем шаге. Разрешение переносится вместе с запросом, а не хранится на одной машине из двух.
  • Экран согласия переписан. Права перечислены коротко, рабочее пространство выбирается списком.
  • Формы можно увидеть списком. Спросите «какие у меня есть формы» — придёт список, включая формы внутри проектов.
  • Понятный ответ, когда поиск недоступен. Отказ называет причину вместо технической ошибки.

Около восьмидесяти изменений.

  • Вход учётной записью. Человек входит собой, выбирает рабочее пространство и видит, что разрешает. Общий ключ на всех больше не нужен.
  • Отказы стали полезными. Сервер перечисляет доступное вместо «не найдено»; недоступный сервер и отказ в доступе больше не путаются.
  • Наборы инструментов. Подключается только нужный набор — расход сокращается на треть и больше.
  • Формы. Готовые темы оформления, статистика по ответам, удаление пачкой.
  • Задачи и списки. Сквозная перелистываемость, сортировка не обрезает выдачу, подзадачи создаются вложенными, фильтры по датам. Задача называет свой проект.
  • Вехи. Появились базовые инструменты.
  • Возврат из корзины для папки и списка задач.
  • Ключ календаря больше не попадает в ответ на вопрос «кто я».
  • Комментарии читаются пачкой — вместо сотни запросов на сотню задач.
  • Выгрузка бэклога отдаёт до 200 задач за раз.
  • Отказ в доступе перестал выглядеть как «данных нет».

Разговор запоминает проект и не переспрашивает при каждом действии.

Токен «только чтение» объясняет, почему отказал.

Обращение без токена получает ответ «нужна авторизация» — с него начинается автоматическое подключение в клиентах, которые умеют входить сами.

Формы собираются по интервью. Сервер задаёт несколько вопросов и собирает форму сам.

  • Список задач возвращал чужие задачи и не возвращал свои — исправлено.
  • Страницы создаются в общем разделе пространства.
  • Действия пачкой выполняются от имени того, кто их запросил.
  • В сообщениях об ошибке полезная часть идёт перед отказом.

Семнадцать выпусков, почти целиком — исправления по следам живой работы.

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

Появилась история изменений задачи — ответ на вопрос «что с ней происходило».

  • Описания инструментов дошли до клиентов. Раньше список приходил без единого описания.
  • Страницы. Полный словарь блоков редактора — таблицы, выноски, колонки, сворачиваемые разделы — и три ошибки, из-за которых страницы терялись при сохранении.
  • Списки отдают ссылку на элемент и разрешённые названия вместо идентификаторов.
  • Появился список спринтов.
  • Описан запуск сервера у себя через Docker.
  • Описания инструментов переписаны по замерам на слабых моделях: сказано, когда инструмент применять и когда нет.
  • Ошибка в форме запроса объясняет, как исправить вызов.

Первый публичный выпуск: подключение по стандарту MCP, вход через OAuth, страница настройки с готовыми конфигурациями, работа со страницами в формате редактора, запуск в Docker.