YouGile MCP
You can manage YouGile projects, tasks, boards, columns, chats, files, and company data through an MCP server, with human-friendly names, permissions, and ready-made scenarios.
Task management: create, update, move, complete, archive, log time, attach files, and use checklists/stickers with names or numbers (e.g.,
ID-123).Search and overview: find tasks by project/board/column/assignee/title, view company structure, task cards, and chats.
Ready scenarios: standup, hours report, queue triage as MCP prompts.
Screens (MCP Apps): interactive UI for tasks, boards, forms, standup, hours, triage, and file attachments.
Full API access: domain tools for tasks, chats, boards, columns, projects, users, stickers, company, files, CRM, and help reference.
Client copies: create and sync internal/client task pairs with configurable rules.
Configuration: set permissions (read/write/admin), restrict projects, deny operations, require confirmations, define workflows and done columns.
Rate limiting and safe retries: shared limit counter and idempotent retries.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@YouGile MCPMove task WEB-42 to the Done column"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
YouGile MCP
MCP server for YouGile · MCP-сервер для YouGile
Русский
MCP-сервер, через который Claude и другие AI-ассистенты работают с YouGile вашей компании: задачами, досками, колонками, чатами, сотрудниками, стикерами. Основа — официальный REST API v2.
Возможности
Работа с задачами по-человечески. Названия досок и колонок, имена исполнителей, номера задач и даты вместо UUID и меток времени. Перенос карточки сам проходит цепочку Workflow.
Весь API. 65 операций в 10 доменных инструментах плюс справочный
yougile_help.Задачи по номеру. Сквозной
ID-123или проектныйDEV-12.Готовые сценарии. Стендап, отчёт по часам, разбор очереди — одной командой.
Общий лимит запросов. YouGile пропускает 50 запросов в минуту на всю компанию, включая тех, кто работает в интерфейсе. Сервер держит лимит сам: один счётчик на все сессии, запущенные на компьютере. При ответе 429 все сессии ждут вместе.
Ответы по размеру. Слишком большой ответ (тысяча задач, длинная переписка) урезается аккуратно: хвост списков и длинные тексты, с пометкой, что показано и как сузить запрос.
Права поверх прав YouGile. Можно ограничить сессию чтением, выбранными проектами, запретить отдельные операции, требовать подтверждения человека перед записью в проекты, которые видят клиенты.
Безопасные повторы. При сбое сети повторяются только запросы, которые нельзя выполнить дважды по ошибке: чтение, изменение и создание с ключом идемпотентности. Ключ идемпотентности сервер добавляет сам.
Ключ — только из переменной окружения. Он не попадает ни в файлы настроек, ни в модель. Эндпоинты входа по логину и паролю модели недоступны.
Без установки: добавьте в AI-клиенте удалённый MCP-сервер
https://yougile.indalo.ru/mcpи войдите логином YouGile. Администраторы компании настраивают права сотрудников на yougile.indalo.ru/admin. Код сервера — yougile-mcp-cloud.
Быстрый старт
Нужен uv — он сам поставит Python.
Пакет опубликован на PyPI, uvx скачает его сам.
1. Получите ключ API
uvx yougile-mcp setupКоманда спросит логин и пароль YouGile. Они используются только для запроса к YouGile и нигде не сохраняются. Если у вас несколько компаний, выберите нужную. Если для компании уже есть ключ, команда предложит взять его: YouGile разрешает не больше 30 ключей на аккаунт. В конце она покажет ключ и готовые строки подключения.
Ключ действует с вашими правами в YouGile. Храните его как пароль.
2. Подключите
Claude Code, для всех проектов пользователя:
claude mcp add yougile --scope user -e YOUGILE_API_KEY=ваш_ключ -- uvx yougile-mcpClaude Desktop, Cursor и другие клиенты — запись в mcpServers:
{
"mcpServers": {
"yougile": {
"command": "uvx",
"args": ["yougile-mcp"],
"env": { "YOUGILE_API_KEY": "ваш_ключ" }
}
}
}3. Проверьте
YOUGILE_API_KEY=ваш_ключ uvx yougile-mcp checkПокажет версию, пользователя и компанию, сколько проектов, досок и колонок видно, действующие права, часовой пояс и найденные файлы настроек. Проверка тратит 5 запросов.
Инструменты для задач
Принимают названия и номера, показывают имена и даты. Для повседневной работы начинайте с них.
инструмент | что умеет |
| проекты → доски → колонки в порядке экрана, цепочки Workflow, умолчания и права |
| поиск по проекту, доске, колонке, исполнителю (имя, почта или |
| карточка: где лежит, исполнители, срок, часы, чек-листы, стикеры по названиям (стикеры типов, которых нет в API, — числа, свободный текст — отдельно по id), описание, последние сообщения |
| создать: доска и колонка по названию, исполнители по имени или почте, срок датой, план часов, чек-лист, цвет |
| изменить поля, дописать текст в конец описания, выполнить, архивировать, добавить или снять исполнителей, отметить пункты чек-листа, убрать срок |
| перенести в другую колонку; на досках с Workflow проходит все промежуточные колонки |
| прибавить часы к факту, не трогая план |
| последние сообщения с именами авторов, отправка сообщения |
| прикрепить файл к задаче: загрузить в YouGile и отправить в чат задачи вложением, можно с комментарием; файл — путь на этом компьютере (локальный сервер) или содержимое в base64 |
| запомнить доску, с которой вы работаете: дальше задачи создаются там без указания доски |
Даты пишутся как 2026-09-30 или 30.09.2026, со временем — 2026-09-30 18:00. Дата без
времени сохраняется как полночь по часовому поясу компании — так же, как в интерфейсе YouGile.
Готовые сценарии
Промпты MCP: клиент показывает их как готовые команды. В Claude Code это
/mcp__yougile__standup и т. п.; в других клиентах — в меню подключённого сервера, если клиент
поддерживает промпты. Сценарий только пишет задание модели, работает она обычными инструментами —
с теми же правами и лимитами.
промпт | что получится | параметры |
| стендап: что сделано с прошлого рабочего дня, что в работе, блокеры и просрочка |
|
| план и факт часов по задачам, выполненным за период, — по проектам и людям, перерасход, задачи без оценки; отдельно открытые задачи со списанными часами |
|
| разбор очереди: задачи без исполнителя, срока или оценки, просроченные, загрузка людей и предложения; изменения — только после вашего согласия |
|
YouGile хранит часы только суммой по задаче, без дат списания, поэтому отчёт «за период» строится по задачам, выполненным в этот период.
Параметры дополняются, если клиент это умеет: сотрудники, проекты, доски («Проект / Доска»), колонки выбранной доски и удобные даты периода. Проекты вне разрешённых правами не предлагаются.
Экраны (MCP Apps)
Клиенты, которые умеют рисовать интерфейс внутри чата (MCP Apps), получают экраны: модель открывает их, когда вы хотите посмотреть задачи или поработать с задачей, а кнопки на экране работают без запроса к модели.
экран | что на нём |
| таблица задач с поиском и сортировкой (фильтры как у |
| карточка задачи: статус, исполнители, срок, часы, чек-лист, описание, чат; кнопки «Выполнено», «Взять себе», перенос в колонку (по цепочке Workflow), отметки чек-листа, списание часов, сообщение в чат |
| доска: колонки рядом с карточками задач, фильтр по исполнителю, стрелки ← → для переноса в соседнюю колонку, карточка по клику |
| форма новой задачи: доска, колонка, название, описание, исполнитель, срок, план часов, чек-лист; модель заполняет, что знает, вы проверяете и создаёте кнопкой |
| стендап: метрики, «Вчера», «Сегодня — в работе», «Блокеры и риски», «Дальше по очереди» и готовый текст; кнопка «Отправить в чат» передаёт его в разговор |
| часы за период: план и факт графиками по людям и проектам, перерасход, выполненные без плана, открытые со списанными часами; период меняется на экране |
| разбор очереди: у каждой задачи — проблемы (нет исполнителя, срока, плана, просрочена), правка исполнителя, срока и плана прямо в строке, загрузка людей на доске |
| файлы в задачу: перетащите файлы (до 10, каждый до 10 МБ), добавьте комментарий — они загрузятся в YouGile и появятся в чате задачи вложениями |
Кнопки действуют с правами сессии, кнопок без прав нет. Нажатие — это ваше подтверждение: запись
в проект из confirm_projects проходит без повторного вопроса, а на карточке такого проекта
написано, что его видят клиенты. Модель получает те же данные текстом.
Экраны ставятся дополнением apps (Prefab UI):
claude mcp add yougile --scope user -e YOUGILE_API_KEY=ваш_ключ -- uvx "yougile-mcp[apps]"Клиентам без MCP Apps (например, Claude Code) экраны и их кнопки не показываются.
Доменные инструменты — весь API
инструмент | что умеет |
| список и поиск (по колонке, исполнителям, стикеру, названию), открыть, создать, изменить: перенос, выполнение, архив, срок, план и факт часов, чек-листы, стикеры, удаление; подписчики чата задачи |
| история, отправка, правка и удаление сообщений в чатах задач (id чата = id задачи) и групповых чатах; управление групповыми чатами |
| доски: список, открыть, создать, переименовать, перенести, удалить |
| колонки: список, открыть, создать, изменить, удалить |
| проекты и участники, роли проекта |
| сотрудники и отделы: список, приглашение, изменение, удаление из компании |
| стикеры с набором состояний, стикеры спринтов и их состояния |
| данные компании, вебхуки |
| загрузка файла (по пути или в base64), возвращает ссылку |
| контактные лица, поиск контакта по внешнему id |
| поля, типы, обязательность и примеры для любой операции |
Каждый доменный инструмент принимает operation (список допустимых значений есть в схеме)
и один плоский объект params, где вместе лежат параметры пути, запроса и тела:
{ "operation": "update", "params": { "id": "ID-123", "completed": true } }Клиентские копии задач
Если команда ведёт работу во внутреннем проекте, а заказчику показывает отдельный проект,
включите client_copy. Задача внутреннего проекта по заказу клиента получает копию в проекте
для клиента: на доске и в колонке с тем же названием, с планом, фактом часов и сроком, но с
заголовком и описанием для клиента — без внутренних кодов, технических деталей и личных данных.
yougile_client_copyсоздаёт или обновляет копию: текст пишет модель по правилам компании (встроенным или своим, полеrules). Если на клиентской стороне нет доски с таким названием, модель спросит, создать ли её с теми же колонками.Во внутренней карточке появляется строка «Карточка для клиента: ID-…». Клиентская карточка о внутренней ничего не знает.
Клиентская задача — это результат, и к ней можно привязать несколько внутренних карточек (
client_task), например дневные записи работы. Её часы — сумма часов этих карточек, срок — самый поздний из их сроков, колонка — та, где самая отстающая открытая карточка; в «Готово» она переходит, когда готовы все. Если у существующей задачи были свои часы, модель сначала спросит, пересчитать ли их по карточкам.Всё это обновляется само, когда карточки меняют через этот сервер (инструменты и кнопки экранов). Колонки, которых нет на клиентской доске («Заморожено», «Документы»), не учитываются.
yougile_create_taskсclient_titleиclient_descriptionсоздаёт обе карточки сразу.Сценарий
client_syncпроходит доску — открытые карточки и сделанные за последние дни: что не для клиента (документы, внутренняя работа), что относится к уже существующему результату, что станет новым результатом, а что — старая пара, сделанная вручную (её не трогает). Действует после вашего согласия.yougile_client_copiesпоказывает эту сверку данными.
Настройки репозитория и пользователя
Сервер ищет .yougile.json вверх от текущей папки (обычно это корень репозитория) и общий
файл ~/.yougile-mcp.json. Настройки репозитория перекрывают общие. Путь к файлу можно задать
явно через YOUGILE_CONFIG.
{
"project": "Разработка",
"board": "Бэкенд",
"role": "member",
"projects": ["Разработка"],
"confirm_projects": ["Клиенты"],
"deny": ["tasks.delete", "users.*"],
"workflows": {
"Клиенты / Сайт": ["Очередь", "В работе", "На проверке", "Готово"]
},
"done_columns": ["Готово"],
"timezone": "Europe/Moscow",
"instructions": "В задачах клиентских проектов пишите клиентским языком.",
"client_copy": {"from": "Внутреннее", "to": "Работы"}
}поле | смысл |
| значения по умолчанию: где искать и куда создавать задачи |
|
|
| работать только с этими проектами (названия или id). Чужие объекты скрыты из списков, запись в них запрещена |
| запись в эти проекты — только после подтверждения человеком |
| запрещённые операции, можно маской: |
| цепочки колонок для досок с расширением Workflow: YouGile не отдаёт их по API. Ключ — |
| колонки, которые означают «сделано», даже если задача не отмечена выполненной: название для всех досок ( |
| часовой пояс компании для дат, по умолчанию |
| правила вашей компании для модели, строка или список строк |
| клиентские копии задач: |
Эти права только сужают права YouGile: ключ всегда действует с правами пользователя, который его выпустил. Модель видит только то, что права разрешают: читателю не показываются инструменты записи, а инструменты разделов API перечисляют лишь разрешённые операции.
Как работает подтверждение. Если клиент умеет показывать запросы пользователю
(MCP elicitation), человек подтверждает запись в окне клиента, и модель не может обойти этот
шаг. Одно действие спрашивает подтверждение один раз, даже если делает несколько записей.
Если клиент так не умеет, инструмент возвращает confirmation_required с текстом того, что
будет записано. Модель должна показать его пользователю и повторить вызов с confirm=true
только после его явного согласия.
Неоднозначные названия. Если под название подходит несколько досок, проектов, колонок или сотрудников («Сайт» есть в двух проектах, «Иван» — это двое), клиент с MCP elicitation показывает человеку варианты, и действие продолжается с выбранным. Без elicitation инструмент возвращает ошибку со списком вариантов, чтобы модель уточнила у пользователя.
Переменные окружения
переменная | по умолчанию | назначение |
| — | ключ API, обязателен для работы сервера |
|
| адрес YouGile, например вашего коробочного сервера |
|
| запросов в минуту на один ключ; |
|
| часовой пояс компании, перекрывает |
| — | явный путь к файлу настроек вместо поиска |
| папка кэша ОС | где лежит общий счётчик лимита |
|
| уровень логов; логи идут в stderr |
Советы
Структура компании (проекты, доски, колонки, сотрудники, стикеры) кэшируется на 5 минут — повторные вызовы не тратят лимит.
В доменных инструментах чек-листы и стикеры при изменении задачи заменяются целиком;
yougile_update_taskделает это сам.Удалённые объекты скрыты из списков; чтобы их найти, добавьте
includeDeleted: true.Списки отдают до 50 объектов, можно до 1000 через
limit. Одним большим запросом лимит расходуется бережнее, чем многими маленькими.
Версии
Актуальная версия — на бейдже вверху и на странице Releases; что изменилось — в CHANGELOG.md.
Установленную версию показывают
yougile-mcp --versionиyougile-mcp check.Номера по SemVer: до 1.0 новые возможности поднимают вторую цифру, исправления — третью.
Поставить конкретную версию:
uvx yougile-mcp@0.5.0. Последнюю, минуя кэш uv:uvx yougile-mcp@latest.
Как это устроено
Каталог операций собран из официальной спецификации YouGile (https://ru.yougile.com/api-json),
её снимок лежит в пакете. Каждая операция отнесена к инструменту и уровню доступа: read,
write или admin. Инструменты для задач вызывают те же операции, поэтому права и
подтверждения действуют одинаково. Тесты не дадут выпустить версию, в которой новая операция
API осталась без инструмента, а CI каждый раз сверяет снимок с опубликованной спецификацией.
Разработка
uv sync
uv run pytest
uv run ruff check src tests scripts
uv run --no-project python scripts/sync_spec.py # обновить снимок спецификацииЗапуск по HTTP для отладки: uv run yougile-mcp serve --transport http --port 8000.
Выпуск версии. Поменяйте __version__ в src/yougile_mcp/__init__.py, перенесите записи
из [Unreleased] в новый раздел CHANGELOG.md (на двух языках), закоммитьте и отправьте тег:
git tag v0.3.0 && git push origin v0.3.0. Workflow проверит, что тег совпадает с версией,
прогонит тесты, соберёт пакет и опубликует GitHub Release с описанием из CHANGELOG.md
и пакет на PyPI.
PyPI получает пакет через Trusted Publishing — токенов нет: PyPI доверяет только workflow
release.yml этого репозитория в environment pypi. Публикацию выключает переменная
репозитория PUBLISH_PYPI (не true). Уже выпущенный тег можно отправить повторно через
Actions → Release → Run workflow.
Участники
Проект развивает Indalo. Предложения и ошибки — в Issues.
Лицензия
Related MCP server: yougile-mcp
English
An MCP server that lets Claude and other AI assistants work with your company's YouGile: tasks, boards, columns, chats, employees and stickers, on top of the official REST API v2.
Features
Task work in human terms. Board and column names, assignee names, task numbers and dates instead of UUIDs and timestamps. Moving a card walks the Workflow chain by itself.
The whole API. 65 operations in 10 domain tools, plus the
yougile_helpreference tool.Tasks by number. The company-wide
ID-123or the project one likeDEV-12.Ready-made scenarios. Stand-up, hours report, queue triage — one command each.
A shared rate limit. YouGile allows 50 requests per minute per company, people in the web UI included. The server enforces the limit itself with one counter shared by every session running on the machine, and all of them back off together on HTTP 429.
Results that fit. An oversized result (a thousand tasks, a long chat) is trimmed neatly: list tails and long texts go, with a note on what is shown and how to narrow the request.
Permissions on top of YouGile's. Restrict a session to reading, to selected projects, deny specific operations, or require a human to confirm writes into projects your clients can see.
Safe retries. After a network failure only requests that cannot be applied twice are retried: reads, updates, and creates carrying an idempotency key, which the server adds automatically.
The key comes from the environment only. It never goes into config files or to the model. Login-and-password endpoints are not exposed to the model.
Nothing to install: add the remote MCP server
https://yougile.indalo.ru/mcpin your AI client and sign in with your YouGile login. Company admins set their people's rights at yougile.indalo.ru/admin. Server code: yougile-mcp-cloud.
Quick start
You need uv; it installs Python
for you. The package is on PyPI; uvx fetches it.
1. Get an API key
uvx yougile-mcp setupIt asks for your YouGile login and password. They are only used for the request to YouGile and are never stored. If you belong to several companies, pick one. If the company already has a key, the command offers to reuse it: YouGile allows at most 30 keys per account. At the end it prints the key and ready-to-paste connection snippets.
The key acts with your YouGile rights. Keep it as secret as a password.
2. Connect
Claude Code, for all projects of the user:
claude mcp add yougile --scope user -e YOUGILE_API_KEY=your_key -- uvx yougile-mcpClaude Desktop, Cursor and other clients — an mcpServers entry:
{
"mcpServers": {
"yougile": {
"command": "uvx",
"args": ["yougile-mcp"],
"env": { "YOUGILE_API_KEY": "your_key" }
}
}
}3. Check
YOUGILE_API_KEY=your_key uvx yougile-mcp checkShows the version, user and company, how many projects, boards and columns are visible, the effective permissions, the time zone and the config files found. The check costs 5 requests.
Task tools
They take names and numbers and show names and dates. Start with them for everyday work.
tool | what it does |
| projects → boards → columns in screen order, Workflow chains, defaults and permissions |
| search by project, board, column, assignee (name, email or |
| the card: location, assignees, deadline, hours, checklists, stickers by name (sticker types the API does not describe — numbers, free text — separately, by id), description, latest messages |
| create: board and column by name, assignees by name or email, deadline as a date, planned hours, checklist, color |
| append text to the description, edit fields, complete, archive, add or remove assignees, check checklist items, remove the deadline |
| move to another column; on Workflow boards it passes every intermediate column |
| add worked hours, keeping the plan |
| latest messages with author names, post a message |
| attach a file to a task: upload it to YouGile and post it into the task's chat as an attachment, optionally with a comment; the file is a path on this computer (local server) or base64 content |
| remember the board you work on, so tasks go there without naming the board |
Dates are written as 2026-09-30 or 30.09.2026, with time as 2026-09-30 18:00. A date
without time is stored as midnight in the company time zone, just as the YouGile UI does.
Ready-made scenarios
MCP prompts: clients show them as ready commands. In Claude Code they are
/mcp__yougile__standup and so on; other clients list them in the connected server's menu if
they support prompts. A scenario only writes the model's assignment; the model then works with
the regular tools, under the same permissions and limits. The texts are in Russian.
prompt | what you get | parameters |
| a stand-up: done since the previous working day, in progress, blockers and overdue tasks |
|
| planned vs worked hours of tasks completed in a period, by project and person, overruns, tasks without estimates; open tasks with logged hours separately |
|
| queue triage: tasks without assignee, deadline or estimate, overdue ones, people's load and suggestions; changes only after your consent |
|
YouGile keeps only a task's total hours, not when they were logged, so a report "for a period" is built from the tasks completed in that period.
Parameters are completed when the client supports it: people, projects, boards ("Project / Board"), the chosen board's columns and handy period dates. Projects outside the permissions are not offered.
Screens (MCP Apps)
Clients that draw interfaces inside the chat (MCP Apps) get screens: the model opens one when you want to look through tasks or work on a task, and the screen's buttons work without asking the model.
screen | what it shows |
| a task table with search and sorting (filters as in |
| a task card: status, assignees, deadline, hours, checklist, description, chat; buttons to complete, take, move to a column (along the Workflow chain), tick checklist items, log hours and post to the chat |
| a board: columns side by side with task cards, a filter by assignee, ← → arrows to move a card to the neighbouring column, the card on click |
| a new-task form: board, column, title, description, assignee, deadline, planned hours, checklist; the model fills in what it knows, you check and create it with a button |
| a stand-up: counts, done since the previous working day, in progress, blockers and risks, next in the queue, and a ready text; Send to chat passes it to the conversation |
| hours for a period: planned vs worked as charts by person and project, overruns, completed without a plan, open with logged hours; the period changes on the screen |
| queue triage: each task's problems (no assignee, deadline or plan, overdue), the assignee, deadline and plan edited right in the row, people's load on the board |
| files for a task: drop files (up to 10, each up to 10 MB), add a comment, and they are uploaded to YouGile and appear in the task's chat as attachments |
Buttons act with the session's permissions, and buttons without them are not shown. A click is
your confirmation: a write into a project from confirm_projects goes ahead without asking
again, and the card of such a project says clients can see it. The model gets the same data as
text.
Screens come with the apps extra (Prefab UI):
claude mcp add yougile --scope user -e YOUGILE_API_KEY=your_key -- uvx "yougile-mcp[apps]"Clients without MCP Apps (Claude Code, for one) are not shown the screens or their buttons.
Domain tools — the whole API
tool | what it does |
| list and search (by column, assignees, sticker, title), get, create, update: move, complete, archive, deadline, planned and worked hours, checklists, stickers, delete; task chat subscribers |
| history, send, edit and delete messages in task chats (chat id = task id) and group chats; manage group chats |
| boards: list, get, create, rename, move, delete |
| columns: list, get, create, update, delete |
| projects and their members, project roles |
| employees and departments: list, invite, update, remove from the company |
| state stickers, sprint stickers and their states |
| company details, webhooks |
| upload a file (by path or as base64); returns a URL |
| contact persons, contact lookup by external id |
| fields, types, required flags and examples for any operation |
Every domain tool takes an operation (the allowed values are in its schema) and one flat
params object that holds path, query and body parameters together:
{ "operation": "update", "params": { "id": "ID-123", "completed": true } }Client copies of tasks
When a team works in an internal project and shows the customer a separate one, turn on
client_copy. A task of the internal project about client work gets a copy in the client
project: on the board and in the column of the same name, with the planned and worked hours and
the deadline, but with a title and description for the client — no internal codes, technical
details or personal data.
yougile_client_copycreates or updates the copy: the model writes the text by the company's rules (built in, or your own inrules). If the client side has no board of that name, the model asks whether to create it with the same columns.The internal card gets the line «Карточка для клиента: ID-…». The client card knows nothing of the internal one.
A client task is a result, and several internal cards may be tied to it (
client_task), daily work records for one. Its hours are the sum of theirs, its deadline the latest of theirs, its column that of the least advanced open card; it moves to the done column once all are done. If an existing task had hours of its own, the model first asks whether to recount them.All this keeps up by itself when the cards change through this server (tools and screen buttons). Columns the client board lacks ("Frozen", "Documents") do not count.
yougile_create_taskwithclient_titleandclient_descriptioncreates both cards at once.The
client_syncscenario walks a board — open cards and those done lately: what is not for the client (documents, internal work), what belongs to an existing result, what becomes a new result, and what is an older pair made by hand (left alone). It acts after your consent.yougile_client_copiesgives that comparison as data.
Repository and user config
The server looks for .yougile.json in the current directory and its parents (usually the
repository root), and for a shared ~/.yougile-mcp.json. Repository settings override the
shared ones. YOUGILE_CONFIG points to a file explicitly.
{
"project": "Development",
"board": "Backend",
"role": "member",
"projects": ["Development"],
"confirm_projects": ["Clients"],
"deny": ["tasks.delete", "users.*"],
"workflows": {
"Clients / Website": ["Queue", "In progress", "Review", "Done"]
},
"done_columns": ["Done"],
"timezone": "Europe/Moscow",
"instructions": "Use client-friendly language in client projects."
}field | meaning |
| defaults: where to search and where to create tasks |
|
|
| work only with these projects (names or ids). Other objects are hidden from lists and cannot be written |
| writes into these projects need a human confirmation |
| denied operations, masks allowed: |
| column chains for boards using the Workflow extension, which YouGile does not expose via the API. Key: |
| columns that mean "done" even when a task is not marked completed: a title for every board ( |
| the company time zone for dates, default |
| your company's rules for the model, a string or a list of strings |
| client copies of tasks: |
These permissions only narrow YouGile's own: the key always acts with the rights of the user who issued it. The model sees only what the permissions allow: a reader is not shown the writing tools, and the API domain tools list only the allowed operations.
How confirmation works. If the client can prompt the user (MCP elicitation), the person
confirms the write in the client's UI and the model cannot skip that step. One action asks
once, even when it performs several writes. Otherwise the tool returns confirmation_required
with exactly what would be written; the model has to show it to the user and repeat the call
with confirm=true only after explicit consent.
Ambiguous names. When a name fits several boards, projects, columns or people ("Site" exists in two projects, there are two Ivans), a client with MCP elicitation shows the person the options and the action goes on with the chosen one. Without elicitation the tool returns an error listing the options, so the model asks the user.
Environment variables
variable | default | purpose |
| — | API key, required to run the server |
|
| YouGile address, e.g. your on-premise server |
|
| requests per minute per key; |
|
| company time zone, overrides |
| — | explicit config file instead of looking for |
| OS cache dir | where the shared rate-limit counter lives |
|
| log level; logs go to stderr |
Tips
The company structure (projects, boards, columns, employees, stickers) is cached for 5 minutes, so repeated calls do not spend the limit.
In domain tools checklists and stickers are replaced as a whole on update;
yougile_update_taskhandles that for you.Deleted objects are hidden from lists; add
includeDeleted: trueto find them.Lists return up to 50 objects, up to 1000 with
limit. One large request spends the limit more wisely than many small ones.
Versions
The current version is on the badge above and on the Releases page; what changed is in CHANGELOG.md.
yougile-mcp --versionandyougile-mcp checkshow the installed version.Numbers follow SemVer: before 1.0, new features bump the second number and fixes the third.
Install a specific version:
uvx yougile-mcp@0.5.0; the newest one, bypassing uv's cache:uvx yougile-mcp@latest.
How it works
The operation catalog is built from YouGile's official spec (https://ru.yougile.com/api-json);
a snapshot ships with the package. Each operation is mapped to a tool and an access level:
read, write or admin. Task tools call the same operations, so permissions and
confirmations apply identically. Tests refuse a release in which a new API operation is left
without a tool, and CI compares the snapshot with the published spec on every run.
Development
uv sync
uv run pytest
uv run ruff check src tests scripts
uv run --no-project python scripts/sync_spec.py # refresh the spec snapshotHTTP transport for debugging: uv run yougile-mcp serve --transport http --port 8000.
Releasing. Bump __version__ in src/yougile_mcp/__init__.py, move the [Unreleased]
entries into a new CHANGELOG.md section (in both languages), commit and push a tag:
git tag v0.3.0 && git push origin v0.3.0. The workflow checks that the tag matches the
version, runs the tests, builds the package and publishes a GitHub Release with the notes from
CHANGELOG.md and the package on PyPI.
PyPI receives the package via Trusted Publishing — there are no tokens: PyPI trusts only
this repository's release.yml workflow in the pypi environment. The repository variable
PUBLISH_PYPI (anything but true) turns publishing off. An already released tag can be
published again via Actions → Release → Run workflow.
Contributors
Maintained by Indalo. Ideas and bugs go to Issues.
License
Available Tools
21 toolsyougile_attach_fileYougile Attach FileA
Attach a file to a task: upload it to YouGile and post it into the task's chat, where it shows as an attachment, optionally after a comment. Pass file_path, or content_base64 with filename.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | Task number like ID-123 or DEV-12, or its id | |
| comment | No | A message posted before the file | |
| confirm | No | Set true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required). | |
| filename | No | File name, with content_base64 | |
| file_path | No | A file on this computer (local server only) | |
| content_base64 | No | File content in base64 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide destructiveHint=false, so description carries most behavioral burden. It discloses the side effect (upload + chat post), the two input modes, and the optional comment. It does not mention confirmation_required behavior (though the confirm param description hints at it), auth requirements, or what happens on failure/duplicates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states the action and mechanism, second gives the invocation modes. No filler, no repetition of schema descriptions. Front-loaded with the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a single-file attachment tool: mechanism, input modes, and optional comment are all covered. The main gap is that the confirmation flow is only implied via the confirm parameter, not described in the tool description itself; however, with schema describing confirm and annotations marking non-destructive, an agent can proceed confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 6 parameters. The description adds the key semantic detail that file_path OR content_base64+filename are the two acceptable input combinations, which helps the agent choose the right mode. It doesn't elaborate on the confirm logic beyond what the schema description already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description starts with a clear verb+object: 'Attach a file to a task', then details the mechanism (upload to YouGile, post into task chat as attachment) and the optional comment. This differentiates it from siblings like yougile_task_chat (chat interaction) and yougile_files (file listing) by focusing on the attach action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how to use it ('Pass file_path, or content_base64 with filename'), giving two explicit invocation modes. It doesn't explicitly say when not to use it or name alternatives, but the chat-attachment mechanism and the dual input options provide clear practical guidance. The confirm parameter description also adds when-to-set guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_boardsYougile BoardsB
Boards: list (by projectId), get, create, update/rename/move/soft-delete.
Operations ([access]):
list [read]: Получить список
create [admin]: Создать
get [read]: Получить по ID
update [admin]: Изменить
Call yougile_help('boards.') for parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Flat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation"). | |
| confirm | No | Set true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required). | |
| operation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide openWorldHint, so the description carries the burden for safety/behavior. It discloses access levels and mentions 'soft-delete' in the header, which hints at destructiveness, but it does not explain side effects, reversibility, or confirmation flow, and the header's rename/move/soft-delete are not reflected in the operation enum. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the operation list, and the bullet format is scannable. It includes some redundancy (Russian translations and the header's update/rename/move/soft-delete vs the 'update' operation line) that slightly muddies the structure, but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and a generic params object, the description gives the operation surface and access rules but omits return format, error behavior, and explicit parameter details (delegated to yougile_help). It is adequate as a high-level map but not self-sufficient for correct invocation without the help tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents operation/params/confirm generically, with 67% coverage. The description adds one concrete parameter hint ('list (by projectId)') and directs the agent to yougile_help for per-operation parameters, but it does not otherwise describe create/update fields, so the agent still depends on an external help call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (boards) and the operations (list, get, create, update) plus the scoping hint 'list (by projectId)'. It is clear that this tool manages Yougile boards, though it does not explicitly contrast itself with sibling tools like yougile_columns or yougile_projects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives access levels per operation ([read] vs [admin]) and tells the agent to call yougile_help for parameters, which is some guidance. However, it does not state when to choose boards over related siblings or explicitly list exclusions/alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_chatsYougile ChatsB
Chat messages of tasks (chatId = task id) and group chats: history, send, edit/delete, reactions; group chat management.
Operations ([access]):
list_group_chats [read]: Получить список чатов
create_group_chat [write]: Создать чат
get_group_chat [read]: Получить чат по ID
update_group_chat [write]: Изменить чат
list_messages [read]: Получить историю сообщений
send_message [write]: Написать в чат
typing [write]: Показать, что пользователь печатает
get_message [read]: Получить сообщение по ID
update_message [write]: Изменить сообщение
Call yougile_help('chats.') for parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Flat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation"). | |
| confirm | No | Set true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required). | |
| operation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses access levels (read/write) for each operation, which is valuable behavioral context beyond the minimal openWorldHint annotation. It also notes that parameters require a help call, hinting at complexity. However, it doesn't disclose side effects, rate limits, or the fact that 'reactions' and 'delete' are mentioned but not present as operations, which could mislead. Given the sparse annotation, the description partially carries the burden but isn't comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a front-loaded purpose, followed by a concise list of operations with access levels. It avoids fluff and includes a useful pointer to the help tool. The Russian translations add length but serve as clarifications. It is efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with nine operations and no output schema, the description covers operation names and access levels but omits parameter details, return values, and error behavior. It also introduces 'reactions' and 'delete' that are not in the operation enum, creating ambiguity. The reliance on yougile_help may be acceptable, but the description could be more complete given the tool's breadth.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides descriptions for params and confirm, with 67% coverage. The description adds no meaning about what each operation's parameters should contain; it only defers to yougile_help. For a multi-operation tool with varying parameter shapes, this is insufficient. The description does not compensate for the moderate schema coverage, so the agent lacks guidance on constructing correct params without extra help calls.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool handles chat messages for tasks (with chatId = task id) and group chats, listing operations like history, send, edit/delete, and reactions. It names the resource and actions, distinguishing it from sibling tools like yougile_task_chat by covering both task and group chats. However, it does not explicitly contrast itself with that sibling, so it's clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It lists operations but never states when to choose this over yougile_task_chat or other chat-related tools. The only pointer is 'Call yougile_help("chats.<operation>")' for parameters, which is about parameter help, not usage context. This leaves the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_columnsYougile ColumnsB
Board columns: list (by boardId), get, create, update/rename/soft-delete.
Operations ([access]):
list [read]: Получить список
create [admin]: Создать
get [read]: Получить по ID
update [admin]: Изменить
Call yougile_help('columns.') for parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Flat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation"). | |
| confirm | No | Set true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required). | |
| operation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly labels operations as [read] or [admin], providing auth-related behavioral context not present in the annotations. The phrase 'update/rename/soft-delete' hints at mutating behavior. However, with only openWorldHint as annotation, the description still does not explain side effects, soft-delete semantics, confirmation flow, or return behavior, so it only partially carries the transparency burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the first line summarizes the tool, followed by a tight operation table and a help pointer. The Russian translations somewhat repeat the operation names, and the opening line overlaps with the operation list, but there is no wasteful or excessive text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-operation tool with no output schema and minimal annotations, this description gives operations, access levels, and a pointer to parameter details. It is minimally viable because an agent can follow the 'call yougile_help' instruction to get the missing information. However, it lacks per-operation parameter semantics, return value expectations, and behavioral side effects, leaving real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents operation and confirm. The description adds one concrete parameter clue: 'list (by boardId)', and hints that update may involve rename/soft-delete fields. Yet most parameter details are deferred to yougile_help, so the description adds only modest meaning beyond the schema, which has 67% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the resource ('Board columns') and lists concrete operations: list, get, create, update, with the list operation scoped by boardId. This distinguishes it from sibling resources like boards and tasks. However, 'soft-delete' is mentioned in the opening line but is not present as a selectable operation in the schema or operation list, which introduces minor ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The operation list with [read] and [admin] access labels gives basic guidance on which operations are available and at what permission level. It also tells the agent to call yougile_help('columns.<operation>') for parameters. But it never explicitly says when to use this tool versus sibling tools, nor does it provide exclusions or alternative routes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_companyYougile CompanyC
Company details and webhooks (event subscriptions).
Operations ([access]):
get [read]: Получить детали
update [admin]: Изменить
create_webhook [admin]: Создать подписку
list_webhooks [admin]: Получить список подписок
update_webhook [admin]: Изменить подписку
Call yougile_help('company.') for parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Flat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation"). | |
| confirm | No | Set true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required). | |
| operation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only openWorldHint, so the description carries the behavioral burden. It discloses that write/webhook operations require admin access and that webhooks are event subscriptions, which is useful. However, it does not explain side effects, confirmation requirements, or response/return behavior for operations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The layout is compact and scannable: a one-line resource summary, a bullet list of operations with access, and a direct pointer to help. There is little wasted text, though the operation labels are terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a multi-operation facade with no output schema and no per-operation parameter details in the description. It relies entirely on the external yougile_help tool to supply what an agent needs to call most operations, so it is not self-contained or complete enough for direct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema already documents operation enum, params object, and confirm flag; at 67% coverage the schema is the main source. The description adds no operation-specific parameter semantics—it merely defers to yougile_help('company.<operation>'), so the agent still cannot invoke an operation correctly without an extra lookup.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Company details and webhooks' and enumerates five concrete operations with access levels, making the resource scope clear. It distinguishes by resource name from sibling tools (projects, tasks, users), though it does not explicitly contrast with any sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Access labels ([read]/[admin]) give some context about who can call operations, but there is no guidance on when to choose this tool over siblings or when not to use it. The only usage hint is 'Call yougile_help(...)' for parameters, which is parameter lookup, not usage selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_create_taskYougile Create TaskA
Create a task using names: board and column, assignees by name or email, deadline as a date, planned hours and a checklist. For client work in a company with client copies, pass client_title and client_description to create the client copy too (see yougile_client_copy).
| Name | Required | Description | Default |
|---|---|---|---|
| board | No | Board name or "Project / Board"; default: the workspace default board | |
| color | No | One of: primary, gray, red, pink, yellow, green, turquoise, blue, violet | |
| start | No | Date "YYYY-MM-DD" or "DD.MM.YYYY", optionally with " HH:MM" | |
| title | Yes | ||
| column | No | Column name; default: the first column of the board's Workflow chain | |
| confirm | No | Set true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required). | |
| project | No | Project, to disambiguate the board | |
| deadline | No | Date "YYYY-MM-DD" or "DD.MM.YYYY", optionally with " HH:MM" | |
| assignees | No | Names, emails or "me" | |
| checklist | No | Checklist items | |
| plan_hours | No | ||
| description | No | Plain text (newlines kept) or HTML | |
| checklist_title | No | Чек-лист |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only include destructiveHint: false, so the description carries the burden. It mentions that client copies can be created, a behavioral trait. However, it does not disclose that confirmation may be required for client-facing projects (implied by the confirm parameter) or other side effects. The description adds limited transparency beyond the schema but does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, two sentences, with the primary purpose front-loaded. The client copy instruction is a useful addendum. The only flaw is the mention of parameters not in the schema, which detracts from clarity, but the structure itself is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 13 parameters and no output schema, the description is thin. It doesn't mention the confirmation flow for client-facing writes, error handling, or that client_title/client_description are not actual parameters. The reference to a non-existent sibling (yougile_client_copy) is also unhelpful. The description covers only the basic task creation scenario and misses important operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description lists several parameters (board, column, assignees, deadline, planned hours, checklist) but does not add meaning beyond the schema, which already describes most parameters. More critically, it references client_title and client_description which are not defined in the input schema, potentially misleading the agent. This reduces the value of the description in guiding parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a task and enumerates key fields (board, column, assignees, deadline, planned hours, checklist), distinguishing it from update/move siblings. The client copy mention adds specificity for a particular scenario. The reference to client_title/client_description not present in the schema is a minor flaw but doesn't obscure the core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides specific guidance for client work, instructing to pass client_title and client_description for client copies and referencing yougile_client_copy. It does not explicitly contrast with update/move tools, but the verb 'create' makes the use case clear. The guidance is adequate but could mention exclusions (e.g., when to use update instead).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_crmYougile CrmA
CRM: contact persons and lookup of contacts by external messenger id.
Operations ([access]):
create_contact_person [write]: Создать контактное лицо
find_contact_by_external_id [read]: Найти контакт по внешнему ID
Call yougile_help('crm.') for parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Flat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation"). | |
| confirm | No | Set true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required). | |
| operation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations only include openWorldHint: true, which is minimal. The description discloses that there are write and read operations, and that a confirmation might be required for writes (via the confirm parameter), which is somewhat transparent. However, it does not disclose details like potential side effects, data retention, or error handling beyond referring to help. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and structured, using a list for operations and access levels. It is front-loaded with the purpose. The reference to yougile_help is efficient. However, the bilingual phrasing (English and Russian) might be slightly unnecessary, but it does not add length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a dispatcher with openWorldHint, the description covers the basic operations and points to help for details. However, it does not explain the return format (though no output schema exists), and it relies on yougile_help for parameter specifics. For a tool with two operations, this seems minimally acceptable but not fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides an enum for operation, which is well-defined. The params parameter is a generic object with a description that gives an example and references yougile_help, but the description does not elaborate on each operation's specific parameters. However, since schema description coverage is 67% and the description explicitly tells the agent to call yougile_help for parameters, it adds some value but relies heavily on the help tool. The confirm parameter is self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is for CRM, specifically contact persons and lookup by external messenger ID. It lists the two operations and their access levels (write/read), which indicates it is a dispatcher for CRM contact operations. This distinguishes it from other Yougile tools that manage tasks, projects, boards, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by listing operations and access levels, but it does not explicitly state when to use this tool versus alternatives like yougile_help or other CRUD tools. It instructs to call yougile_help for parameters, which is a form of guidance but not comprehensive. There is no explicit mention of when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_filesYougile FilesA
Upload a file to YouGile; returns a URL to use in chat messages or descriptions.
Operations ([access]):
upload [write]: Загрузить
Call yougile_help('files.') for parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Flat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation"). | |
| confirm | No | Set true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required). | |
| operation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly labels the operation as [write] and states the return value, which is useful beyond the sparse openWorldHint annotation. It does not disclose permission requirements, file size limits, persistence, or confirmation behavior, leaving some burden on the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is front-loaded and informative, and the help pointer is actionable. The operations line and 'Загрузить' translation are somewhat redundant with the schema's const operation, but the overall definition remains compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
It tells the agent what the tool returns and how to obtain parameter details, which covers basic invocation flow. However, with no output schema and only an openWorldHint annotation, the absence of any upload-specific parameter or side-effect detail makes it only partially complete for a write operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes the generic 'params' object and 'confirm', but the description adds no concrete upload parameters (e.g., file path/name). The pointer to yougile_help is a discovery mechanism, not parameter semantics, and with 67% schema coverage the description does not compensate for the missing upload-specific fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a specific action and object: 'Upload a file to YouGile', and adds the distinct outcome 'returns a URL to use in chat messages or descriptions'. This is enough to identify it as the file-upload tool among the many task/chat/project siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The stated return use ('to use in chat messages or descriptions') gives clear context for when this tool is appropriate. It does not name exclusions or alternative tools, but no sibling performs the same upload function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_find_tasksYougile Find TasksARead-only
Find tasks by project/board/column names, assignee and title words. Without a place, searches the workspace's default project if one is set, else the whole company. Completed tasks show completed_at; tasks in a column that counts as done but not marked completed show done_by_column: true (YouGile keeps no date for those); open tasks past their deadline show overdue: true. completed_since/completed_until select tasks completed in a period, newest first.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Words from the title, or a task number | |
| board | No | Board name or "Project / Board" | |
| limit | No | ||
| column | No | Column name (needs a board or default) | |
| status | No | Default "open", or "any" when a column is given | |
| project | No | Project name | |
| assignee | No | Name, email or "me" | |
| completed_since | No | Only tasks completed on or after this date (implies completed) | |
| completed_until | No | Only tasks completed on or before this date (implies completed) | |
| include_archived | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description enriches that with concrete behavioral detail: completed tasks expose completed_at, column-done tasks expose done_by_column: true with no date, overdue open tasks expose overdue: true, and completed-since/until results are ordered newest first. This goes beyond the annotation and helps the agent interpret returned data correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact paragraph with no filler. It front-loads the core purpose, then efficiently explains search scope and output flags, with each sentence contributing meaningful behavioral or filtering information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool with no output schema, the description covers the important return quirks (completed_at, done_by_column, overdue), default workspace behavior, and the semantics of the completed-period filters. This is sufficient for an agent to invoke the tool and interpret results without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80%, so the baseline is 3, but the description adds value by explaining the default project/whole-company scope and how completed_since/completed_until select tasks in a period. Schema descriptions already handle most parameters, so the description's extra context lifts it above baseline without fully replacing schema detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Find tasks by project/board/column names, assignee and title words.' This immediately distinguishes it from broader sibling tools like yougile_tasks by focusing on search criteria rather than plain listing. It also communicates the scope behavior (default project or whole company), which sharpens the resource being searched.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for filtered searching, and it explains what happens when no place is specified. However, it never explicitly names sibling alternatives like yougile_tasks or states when NOT to use this tool, so the agent must infer usage from the filter-oriented wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_helpYougile HelpARead-only
Describe YouGile domain tools and operations: parameters, types, required fields, access.
| Name | Required | Description | Default |
|---|---|---|---|
| operation | No | "list" for everything, a tool name like "tasks", or "tasks.create" | list |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the agent knows this is a safe read operation. The description adds context about what the tool covers (parameters, types, required fields, access) but doesn't disclose additional behavioral traits like output format, pagination, or whether it returns live data vs static documentation. With annotations covering the safety profile, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the purpose and lists the key aspects covered. It's efficient with no wasted words, though it could arguably be slightly more specific about the operation parameter's behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 optional parameter, output schema present, read-only annotations), the description is largely complete. It explains what the tool does and what it covers. The output schema exists, so return values don't need explanation. A minor gap is not describing what the output looks like for different operation values, but the output schema likely covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the 'operation' parameter well, including its default and example values. The description adds minimal extra meaning beyond the schema, so the baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear purpose: describing YouGile domain tools and operations, including parameters, types, required fields, and access. It distinguishes itself from sibling tools by being a meta/help tool that explains other tools rather than performing domain operations. However, it doesn't explicitly name any sibling or contrast itself with them, so it's clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: when an agent needs to understand YouGile tools, parameters, types, required fields, or access. The operation parameter with 'list' or a tool name provides clear context for how to use it. However, it doesn't explicitly state when NOT to use it or name alternatives, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_log_timeYougile Log TimeA
Add worked hours to a task's time tracking (plan/work), keeping the plan.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | Task number like ID-123 or DEV-12, or its id | |
| hours | Yes | Hours to add to the worked time (negative to fix) | |
| confirm | No | Set true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required). | |
| plan_hours | No | Also set the planned hours |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the behavioral trait 'keeping the plan', which clarifies that the plan is not modified. However, it does not mention the confirmation requirement for client-facing projects (even though the confirm parameter is described in the schema) or any other side effects. With only destructiveHint=false as annotation, the description carries some but not full responsibility; it adds one useful nuance but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly worded sentence that front-loads the verb and resource. Every word earns its place, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal but covers the core action. However, it omits the confirmation workflow (critical for writes to client-facing projects) and does not hint at return behavior or error conditions. For a mutation tool with no output schema and sparse annotations, this leaves the agent without guidance on important operational aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description mentions 'worked hours' and 'keeping the plan', which loosely relates to the hours and plan_hours parameters, but it does not add significant meaning beyond the schema. The confirm parameter is not mentioned in the description at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Add'), the resource ('a task's time tracking'), and the specific nuance ('keeping the plan'), which distinguishes it from any sibling tool. It is immediately obvious what the tool does and that it is a mutation for logging time.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives or when not to use it. Since no sibling tool handles time logging, the use case is implicitly unique, but the lack of explicit guidance (e.g., 'use this when you need to record worked hours') leaves some room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_move_taskYougile Move TaskA
Move a task to another column. On boards with a configured Workflow chain (shown by yougile_overview) the card is walked through every intermediate column, since YouGile rejects jumps over the chain. Moving into a column that counts as done marks the task completed (so YouGile records the date); moving it back out reopens it.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | Task number like ID-123 or DEV-12, or its id | |
| board | No | Target board, when moving to another board | |
| column | Yes | Target column name | |
| confirm | No | Set true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required). | |
| project | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the single annotation (destructiveHint: false) by disclosing important behavioral traits: it explains that jumps over a workflow chain are rejected, that moving into a done column marks the task completed (recording the date), and moving out reopens it. This is rich behavioral context that an agent needs to predict side effects. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each delivering distinct value: the core action, the workflow chain nuance, and the done/reopen behavior. No fluff or repetition. The most important information is front-loaded, and the structure is logical and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main behavioral complexities (workflow chain and status changes) but does not mention the 'confirm' parameter's role in client-facing projects, though the schema describes it. It also omits any mention of return values (no output schema exists). For a mutation tool with 5 parameters, it is fairly complete, but the absence of a mention of the confirm flow is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema coverage at 80%, most parameters are already described. The description adds meaningful context to the 'column' and 'task' parameters by explaining how the column is interpreted (walking through intermediates) and the completion/reopen effect. It does not add details for 'board' or 'confirm', but the schema already covers them. The added semantics are valuable and go beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Move a task to another column.' It goes beyond a simple verb+resource by explaining the workflow chain behavior and done/reopen semantics, making the purpose unambiguous. While it doesn't explicitly differentiate from yougile_update_task, the core action is so specific that an agent can easily identify this tool's role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context about workflow chains (referencing yougile_overview) but does not explicitly state when to use this tool versus alternatives like yougile_update_task or yougile_task. It implies you should check the overview first, but there is no clear when-to-use or when-not-to-use guidance. The behavioral context helps, but explicit alternatives are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_overviewYougile OverviewARead-only
Company structure: projects -> boards -> columns in screen order, Workflow chains, workspace defaults, columns that count as done, this session's permissions and where settings are changed. Start here to learn the names.
| Name | Required | Description | Default |
|---|---|---|---|
| project | No | Only this project (name or id) | |
| include_ids | No | Add board and column ids |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description does not contradict that. It adds value by describing the scope of what is returned: structure, workflow, defaults, done columns, session permissions, and where settings change. This goes beyond the annotation to clarify what 'overview' entails, giving the agent a full picture of the information available.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads 'Company structure' and then enumerates the covered aspects. It is dense but not redundant; every item adds information. It is concise given the breadth of content, though a slightly clearer separation of items could improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an overview tool with two optional parameters and no output schema, the description provides a clear idea of what will be returned: structural hierarchy, workflow chains, defaults, done columns, session permissions, and settings location. It is complete enough for an agent to know when to call it and what to expect, and it addresses the session-specific nature of permissions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (project and include_ids) are fully described in the schema with 100% coverage, so the description does not need to add parameter details. The description does not mention the parameters, but that is acceptable given the schema already documents them. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states precisely what the tool does: it provides an overview of company structure, including projects, boards, columns, workflow chains, defaults, done columns, session permissions, and settings locations. It clearly distinguishes itself from siblings by being the entry point ('Start here') while siblings are specific (boards, columns, tasks). The verb is implied but the resource and scope are explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Start here to learn the names' gives clear usage context, implying this is the first tool to call for orientation. It does not explicitly mention alternatives or exclusions, but the sibling list makes it evident that specific tools like yougile_boards or yougile_columns are for detailed data. So it has clear context but lacks explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_projectsYougile ProjectsC
Projects and project roles: list, get, create, update members, roles CRUD.
Operations ([access]):
list [read]: Получить список
create [admin]: Создать
get [read]: Получить по ID
update [admin]: Изменить
list_roles [read]: Получить список
create_role [admin]: Создать
get_role [read]: Получить по ID
update_role [admin]: Изменить
delete_role [admin]: Удалить
Call yougile_help('projects.') for parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Flat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation"). | |
| confirm | No | Set true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required). | |
| operation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists access levels (read vs admin) for each operation, giving some indication of which operations are mutations. However, it does not disclose side effects such as reversibility, confirmation requirements, or the permanence of deletions. With annotations providing only openWorldHint, the description partially covers behavioral transparency but leaves important aspects unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, opening with a clear purpose and then listing operations with access levels. It is front-loaded and avoids unnecessary detail. The list is slightly redundant with the enum but adds access context, so it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has nine operations but the description provides only names and access levels, not parameter requirements or return structures. It explicitly defers all parameter details to yougile_help, making the description not self-contained. With no output schema and sparse annotations, an agent cannot construct a valid call without consulting another tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal parameter meaning; it repeats the instruction to call yougile_help, which is already in the schema's params description. It does not explain what each parameter means or how they map to operations, and the confirm parameter is not mentioned. With 67% schema coverage, the description should compensate but instead defers entirely to another tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource ('Projects and project roles') and enumerates the operations (list, get, create, update, roles CRUD), which distinguishes it from siblings like tasks or boards. However, it does not elaborate on what each operation does beyond the operation name, so it is clear but not fully detailed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The description does not mention other tools or provide context for when project management is needed. The only directive is to call yougile_help for parameters, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_stickersYougile StickersB
Custom stickers (string/state and sprint) and their states.
Operations ([access]):
list_string [read]: Получить список
create_string [admin]: Создать
get_string [read]: Получить по ID
update_string [admin]: Изменить
get_string_state [read]: Получить по ID
update_string_state [admin]: Изменить
create_string_state [admin]: Создать
list_sprint [read]: Получить список
create_sprint [admin]: Создать
get_sprint [read]: Получить по ID
update_sprint [admin]: Изменить
get_sprint_state [read]: Получить по ID
update_sprint_state [admin]: Изменить
create_sprint_state [admin]: Создать
Call yougile_help('stickers.') for parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Flat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation"). | |
| confirm | No | Set true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required). | |
| operation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only openWorldHint in annotations, the description carries the behavioral burden. It does add value by tagging each operation as [read] or [admin], which signals permission and side-effect expectations. It does not disclose confirmation requirements, irreversibility, return behavior, or failure behavior, so the disclosure is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose line is front-loaded and the operation list is compactly structured with access labels. There is some repetition in the Russian labels and access tags, but for a 14-operation facade the list is an efficient way to expose capabilities.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex and has no output schema or per-operation parameter schemas, so the description offers the bare essentials: operation names, access levels, and a route to yougile_help for parameters. It does not explain the domain meaning of stickers/string/sprint/state, return values, or error behavior, leaving a real gap for an agent deciding how to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines the generic params/confirm/operation envelope; the description's instruction to call yougile_help('stickers.<operation>') is a useful pointer for resolving operation-specific parameters. However, the description itself does not define any parameter names or meanings, so it adds a mechanism but not actual parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool's domain as Yougile custom stickers ('string/state and sprint') and their states, and enumerates concrete operations (list/create/get/update), so an agent can see it is a CRUD-style facade. It is not a tautology and is distinct from siblings like yougile_tasks, though it never defines what a 'string' sticker is, so it stops short of being fully specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit statement about when to use this tool instead of a sibling or which operation to choose in a given scenario. The access list is informative but does not guide selection, and the only practical instruction is to call yougile_help for parameter details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_taskYougile TaskARead-only
Open a task card: where it is, status, assignees, deadline, hours, checklists, stickers by name, description, and optionally the latest chat messages. Stickers of types the YouGile API does not describe (numbers, free text) come by id under other_stickers.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | Task number like ID-123 or DEV-12, or its id | |
| messages | No | Also show the last N chat messages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, which the description's 'Open' language is consistent with. Beyond the annotation, the description adds genuine behavioral context: it discloses that sticker types the YouGile API cannot describe (numbers, free text) surface by id under other_stickers, a non-obvious API quirk. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, with the core purpose and feature enumeration front-loaded and the caveat about other_stickers appended. The comma-separated feature list is dense but efficient for a detail-returning tool; no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter read tool with readOnlyHint=true and no output schema, the description compensates well by specifying what the returned card contains and even flagging the sticker quirk. It leaves nothing critical unsaid given the tool's low complexity, though a brief note on the response shape could push it further.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already fully documented in the schema. The description adds only marginal semantic value: 'optionally the latest chat messages' mirrors the messages parameter's default=0 behavior. Baseline 3 is appropriate since the schema carries the parameter burden and the tool description does not need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Open a task card') and enumerates the exact contents returned (status, assignees, deadline, hours, checklists, stickers, description, optional chat messages). It visually distinguishes itself from siblings like yougile_tasks (listing), yougile_task_chat (chat-focused), and yougile_update_task (write operation) through the feature set it names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: call this when you have a task number/id and want the full card details. However, the description provides no explicit when-to-use vs alternatives guidance, no exclusions, and does not route the agent to siblings such as yougile_find_tasks for locating tasks or yougile_task_chat for deeper history.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_task_chatYougile Task ChatA
Read the latest messages of a task's chat, optionally posting a message first.
| Name | Required | Description | Default |
|---|---|---|---|
| send | No | Message to post (plain text) | |
| task | Yes | Task number like ID-123 or DEV-12, or its id | |
| limit | No | How many latest messages | |
| confirm | No | Set true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide destructiveHint: false, which is minimal. The description discloses the optional write behavior ('optionally posting a message first'), which goes beyond annotations. However, it does not mention the confirmation mechanism (the 'confirm' parameter) that may be required for writes into client-facing projects, nor any side effects. Given the low annotation coverage, this is a reasonable but not exhaustive disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the primary purpose and then notes the optional action. There is no waste, and it reads clearly. It is appropriately brief for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main purpose and the optional write. It does not mention the confirmation flow or that posting is a write that may require user approval, but these are covered in the schema. For a tool with 4 parameters and no output schema, the description is mostly complete, though a brief note about the confirm requirement would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters (send, task, limit, confirm) are already described in the schema. The description adds minimal additional meaning: it mentions reading and posting, which maps to limit and send, but does not elaborate on parameter nuances like the confirm requirement. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the primary action ('Read the latest messages of a task's chat') with a specific verb and resource, and adds the secondary capability ('optionally posting a message first'). It distinguishes from siblings like yougile_chats (which likely lists chats) and yougile_task (task details) by focusing on chat messages of a specific task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (reading a task's chat) but does not explicitly state when to use this tool over alternatives like yougile_chats or yougile_task. It lacks explicit when-not or alternative routing. The purpose is clear enough that an agent might infer it, but the guidance is not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_tasksYougile TasksB
YouGile tasks: list/search (filters: columnId, assignedTo, stickerId, title), get by UUID or by number like ID-123, create, update (move via columnId, complete, archive, deadline, timeTracking plan/work hours, checklists, stickers, soft-delete via deleted=true), task chat subscribers. A task's chat id equals the task id (see yougile_chats).
Operations ([access]):
list [read]: Получить список задач
list_newest [read]: Получить список задач в обратном порядке
create [write]: Создать
get [read]: Получить по ID
update [write]: Изменить
get_chat_subscribers [read]: Получить список участников чата задачи
set_chat_subscribers [write]: Изменить список участников чата задачи
Call yougile_help('tasks.') for parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Flat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation"). | |
| confirm | No | Set true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required). | |
| operation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only openWorldHint, so the description adds meaningful value by labeling each operation as [read] or [write], mentioning soft-delete via deleted=true, and noting that a task's chat id equals the task id. However, it does not disclose side effects such as permission requirements, irreversibility of archive/delete, notifications, or response behavior, leaving parts of the behavioral burden uncovered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with a feature summary, an operation list, and a help pointer, which aids scanning. However, it repeats content—list/search and update capabilities appear both in the prose and in the operation enumeration—and mixes English and Russian, adding noise for an agent trying to parse it quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a seven-operation aggregator with no output schema and only openWorldHint, the description supplies operations, read/write access levels, available filters and update fields, and a clear help command. It remains incomplete on return values, exact parameter requirements, and side effects, relying heavily on the external yougile_help tool to fill in gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a generic free-form params object with no per-operation field definitions, so the description helps by enumerating likely fields such as columnId, assignedTo, stickerId, title, deleted, timeTracking, and others. It also directs the agent to yougile_help for exact parameters, but types, constraints, and required fields are still absent, so the description only partially compensates for the schema's low effective coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that this tool handles YouGile task operations: list/search with filters, get by UUID or number, create, update with specific fields like columnId, deadline, and checklists, plus chat subscribers. It is far more than a tautology and identifies a specific resource and verb set, though it does not explicitly contrast with sibling task tools like yougile_task or yougile_create_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists operations and instructs the agent to call yougile_help('tasks.<operation>') for parameters, but it gives no guidance on when to use this aggregate tool versus the many sibling tools such as yougile_find_tasks, yougile_update_task, or yougile_task_chat. No exclusions, selection criteria, or alternatives are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_update_taskYougile Update TaskA
Edit a task: title, description (replace it, or append to it), assignees (by name), deadline, planned hours, completion, archive, color, checklist items. Only the given fields change.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | Task number like ID-123 or DEV-12, or its id | |
| check | No | Checklist items to mark done | |
| color | No | ||
| start | No | Date "YYYY-MM-DD" or "DD.MM.YYYY", optionally with " HH:MM" | |
| title | No | ||
| confirm | No | Set true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required). | |
| uncheck | No | ||
| archived | No | ||
| deadline | No | Date, or "none" to remove the deadline | |
| add_items | No | New checklist items | |
| assignees | No | Replace assignees | |
| completed | No | ||
| plan_hours | No | ||
| description | No | Replaces the description | |
| add_assignees | No | ||
| remove_assignees | No | ||
| append_description | No | Text to add at the end of the description, keeping what is there |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the minimal destructiveHint=false annotation, the description adds meaningful behavioral context: 'Only the given fields change' discloses partial-update semantics, and it distinguishes replace vs append for description and 'by name' for assignees. This helps the agent predict side effects without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence packs the full editable-field inventory plus the partial-update rule without filler. Every clause earns its place, and the key behavioral note comes at the end for emphasis.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 17-parameter written tool with no output schema and only a light annotation set, the description covers the essential semantics well: what can be edited, how assignees are matched, and that unspecified fields are untouched. It does not state the return value or discuss the confirm/confirmation flow, but the schema documents the confirm parameter, and the field inventory is complete enough for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 53% schema description coverage, the description compensates by mapping the field list to parameters (title, description, assignees, deadline, plan_hours, completed, archived, color, checklist items) and adding semantics like 'assignees (by name)' and 'description (replace it, or append to it)'. Most importantly, 'Only the given fields change' clarifies that null defaults mean no-op rather than clearing the field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Edit a task' — a specific verb plus resource — and then inventories the editable attributes. This clearly distinguishes the tool from siblings like yougile_create_task, yougile_move_task, and yougile_log_time, so an agent can select it without inspecting the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance about when to use this tool versus alternatives, nor any exclusion such as 'for moving tasks use yougile_move_task'. 'Edit a task' implies the general use case, but the description never articulates selection criteria or prerequisites, so the agent must infer usage from the name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_use_boardYougile Use BoardAIdempotent
Remember the board the user usually works on: task tools use it whenever they get neither a board nor a project (creating a task, a column without a board). Call it when the user says which board they work on or asks to remember it. Nothing changes in YouGile.
| Name | Required | Description | Default |
|---|---|---|---|
| board | No | Board name or "Project / Board"; leave empty to forget the choice | |
| project | No | Project name, if boards repeat |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotent and non-destructive. The description adds context that 'Nothing changes in YouGile' and explains the side-effect on task tools, which goes beyond annotations. It clarifies the tool stores a preference locally rather than modifying the actual board data. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both essential, with the primary purpose front-loaded. No redundant phrasing or filler. The description is compact and immediately informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple preference-storing tool with optional parameters and no output schema, the description covers the essential aspects: when to call, what it does, and that it doesn't alter YouGile. It could mention persistence details (e.g., per user) but that's not necessary for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are well-documented with descriptions. The tool description does not add additional meaning beyond the schema, but the schema already explains board name format and the 'Project / Board' pattern. Baseline 3 is appropriate since the schema carries the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to remember the user's usual board. It names the specific resource (board) and the action (remember). It distinguishes from siblings like yougile_boards by explaining that this tool stores a preference rather than querying boards.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to call it: 'when the user says which board they work on or asks to remember it.' It also explains the effect on other tools ('task tools use it whenever they get neither a board nor a project'). This gives clear triggers, though it doesn't explicitly say when not to use it, which is minor given the clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
yougile_usersYougile UsersB
Company employees and departments: list, get, me, invite, update, remove.
Operations ([access]):
list [read]: Получить список
invite [admin]: Пригласить в компанию
me [read]: Получить текущего пользователя
get [read]: Получить по ID
update [admin]: Изменить
remove [admin]: Удалить из компании
list_departments [read]: Получить список
create_department [admin]: Создать
get_department [read]: Получить по ID
update_department [admin]: Изменить
Call yougile_help('users.') for parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | Flat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation"). | |
| confirm | No | Set true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required). | |
| operation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only include openWorldHint=true, so the description carries the behavioral disclosure burden. It usefully labels operations as read vs admin, indicating which are mutating, but it does not describe consequences of update/remove, confirmation requirements beyond the schema's confirm field, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the resource scope, and organized as a scannable operation list with access levels. The mixed-language notes add minor noise but do not undermine usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a ten-operation dispatcher with no output schema and generic params, the description provides operation names, access levels, and a route to parameter details via yougile_help. It still leaves gaps around operational semantics, expected response shapes, and how this tool relates to sibling tools, so it is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, and the params field is generic, so the description's instruction to call yougile_help('users.<operation>') for parameters is the main way the agent learns about operation-specific inputs. However, this instruction is largely redundant with the schema's own pointer to yougile_help, and the description does not enumerate or explain any actual parameter values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a clear resource ('Company employees and departments') and enumerates specific operations (list, invite, me, get, update, remove, departments variants), making the tool's scope concrete. It does not explicitly frame this as a multi-operation dispatcher namespace, but the operation list itself disambiguates the purpose well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives each operation an access level ([read] vs [admin]), which implies when privileged use is needed, and instructs the agent to call yougile_help('users.<operation>') for parameters. However, it does not explain when to choose yougile_users over sibling tools like yougile_company or yougile_help, nor does it state exclusions or alternative conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.18.0- Changed
yougile_update_task1 field changed- added
Input schema / properties / append_descriptionAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Text to add at the end of the description, keeping what is there" +}
1 tool update
v0.16.0- Added
yougile_attach_file
3 tool updates
v0.7.0- Changed
yougile_create_task1 field changed- changed
Input schema / properties / board / descriptionPrevious value: -"Board name or \"Project / Board\"; default from config"New value: +"Board name or \"Project / Board\"; default: the workspace default board"
- Changed
yougile_find_tasks2 fields changed- added
Input schema / properties / completed_sinceAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Only tasks completed on or after this date (implies completed)" +} - added
Input schema / properties / completed_untilAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Only tasks completed on or before this date (implies completed)" +}
- Added
yougile_use_board
19 tool updates
v0.1.0- First observed
yougile_boards - First observed
yougile_chats - First observed
yougile_columns - First observed
yougile_company - First observed
yougile_create_task - First observed
yougile_crm - First observed
yougile_files - First observed
yougile_find_tasks - First observed
yougile_help - First observed
yougile_log_time - First observed
yougile_move_task - First observed
yougile_overview - First observed
yougile_projects - First observed
yougile_stickers - First observed
yougile_task - First observed
yougile_task_chat - First observed
yougile_tasks - First observed
yougile_update_task - First observed
yougile_users
TDQS
Scored across 21 tools
The tool set mixes high-level convenience tools (yougile_create_task, yougile_move_task, yougile_task_chat) with generic CRUD tools (yougile_tasks, yougile_chats) that cover the same operations. For example, yougile_create_task and yougile_tasks.create both create tasks, and yougile_task and yougile_tasks.get both retrieve task details. This overlap makes it ambiguous which tool an agent should select for a given action, despite descriptions that differentiate nuances.
Naming is inconsistent: some tools follow a verb_noun pattern (yougile_create_task, yougile_move_task, yougile_log_time), while others are plain resource names (yougile_tasks, yougile_chats, yougile_boards). There is also singular vs. plural inconsistency (yougile_task vs. yougile_tasks). This mixed convention makes it difficult to predict tool names for new operations.
21 tools is on the higher end but reasonable for a comprehensive project management server covering tasks, chats, boards, columns, projects, users, stickers, company, files, and CRM. The count is inflated by redundancy between high-level and low-level tools, but each tool has a distinct purpose within its layer, so the scope is justified.
The tool set covers the core lifecycle of YouGile: task creation, retrieval, update, move, time logging, chat, file attachment, and searching. It also includes CRUD for projects, boards, columns, users, stickers, company webhooks, and CRM. Missing explicit delete operations are handled via soft-delete flags in update tools, which is a minor gap but not a dead end.
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
- mcpOAuthnet.todoist
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceIntegrates with YouGile to allow AI assistants to create, update, and manage projects, tasks, and team members via the MCP protocol.12-
- AlicenseAqualityFmaintenanceMCP server for YouGile project management. Provides 57 tools covering 100% of YouGile API v2, enabling natural language management of projects, boards, columns, tasks, chats, users, and more.5761 npm10MIT
- AlicenseBqualityAmaintenanceMCP server that exposes YouGile projects, boards, columns, tasks, and task chat as tools for agents to watch and manage tasks.1715 npmMIT
- AlicenseNot gradedqualityBmaintenanceAn unofficial, security-focused MCP server for YouGile REST API, providing policy-controlled tools with read-only defaults and optional direct-write profiles.27 npm5MIT