YouGile MCP
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. Можно ограничить сессию чтением, выбранными проектами, запретить отдельные операции, требовать подтверждения человека перед записью в проекты, которые видят клиенты.
Безопасные повторы. При сбое сети повторяются только запросы, которые нельзя выполнить дважды по ошибке: чтение, изменение и создание с ключом идемпотентности. Ключ идемпотентности сервер добавляет сам.
Ключ — только из переменной окружения. Он не попадает ни в файлы настроек, ни в модель. Эндпоинты входа по логину и паролю модели недоступны.
Серверная версия — подключение по адресу, без установки, вход через логин YouGile — готовится. Адрес появится здесь.
Быстрый старт
Нужен uv — он сам поставит Python.
Пока пакет не опубликован на PyPI, вместо
uvx yougile-mcpпишитеuvx --from git+https://github.com/indalo-tech/yougile-mcp yougile-mcp.
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, умолчания и права |
| поиск по проекту, доске, колонке, исполнителю (имя, почта или |
| карточка: где лежит, исполнители, срок, часы, чек-листы, стикеры по названиям, описание, последние сообщения |
| создать: доска и колонка по названию, исполнители по имени или почте, срок датой, план часов, чек-лист, цвет |
| изменить поля, выполнить, архивировать, добавить или снять исполнителей, отметить пункты чек-листа, убрать срок |
| перенести в другую колонку; на досках с Workflow проходит все промежуточные колонки |
| прибавить часы к факту, не трогая план |
| последние сообщения с именами авторов, отправка сообщения |
Даты пишутся как 2026-09-30 или 30.09.2026, со временем — 2026-09-30 18:00. Дата без
времени сохраняется как полночь по часовому поясу компании — так же, как в интерфейсе YouGile.
Доменные инструменты — весь API
инструмент | что умеет |
| список и поиск (по колонке, исполнителям, стикеру, названию), открыть, создать, изменить: перенос, выполнение, архив, срок, план и факт часов, чек-листы, стикеры, удаление; подписчики чата задачи |
| история, отправка, правка и удаление сообщений в чатах задач (id чата = id задачи) и групповых чатах; управление групповыми чатами |
| доски: список, открыть, создать, переименовать, перенести, удалить |
| колонки: список, открыть, создать, изменить, удалить |
| проекты и участники, роли проекта |
| сотрудники и отделы: список, приглашение, изменение, удаление из компании |
| стикеры с набором состояний, стикеры спринтов и их состояния |
| данные компании, вебхуки |
| загрузка файла (по пути или в base64), возвращает ссылку |
| контактные лица, поиск контакта по внешнему id |
| поля, типы, обязательность и примеры для любой операции |
Каждый доменный инструмент принимает operation (список допустимых значений есть в схеме)
и один плоский объект params, где вместе лежат параметры пути, запроса и тела:
{ "operation": "update", "params": { "id": "ID-123", "completed": true } }Настройки репозитория и пользователя
Сервер ищет .yougile.json вверх от текущей папки (обычно это корень репозитория) и общий
файл ~/.yougile-mcp.json. Настройки репозитория перекрывают общие. Путь к файлу можно задать
явно через YOUGILE_CONFIG.
{
"project": "Разработка",
"board": "Бэкенд",
"role": "member",
"projects": ["Разработка"],
"confirm_projects": ["Клиенты"],
"deny": ["tasks.delete", "users.*"],
"workflows": {
"Клиенты / Сайт": ["Очередь", "В работе", "На проверке", "Готово"]
},
"timezone": "Europe/Moscow",
"instructions": "В задачах клиентских проектов пишите клиентским языком."
}поле | смысл |
| значения по умолчанию: где искать и куда создавать задачи |
|
|
| работать только с этими проектами (названия или id). Чужие объекты скрыты из списков, запись в них запрещена |
| запись в эти проекты — только после подтверждения человеком |
| запрещённые операции, можно маской: |
| цепочки колонок для досок с расширением Workflow: YouGile не отдаёт их по API. Ключ — |
| часовой пояс компании для дат, по умолчанию |
| правила вашей компании для модели, строка или список строк |
Эти права только сужают права YouGile: ключ всегда действует с правами пользователя, который его выпустил.
Как работает подтверждение. Если клиент умеет показывать запросы пользователю
(MCP elicitation), человек подтверждает запись в окне клиента, и модель не может обойти этот
шаг. Одно действие спрашивает подтверждение один раз, даже если делает несколько записей.
Если клиент так не умеет, инструмент возвращает confirmation_required с текстом того, что
будет записано. Модель должна показать его пользователю и повторить вызов с confirm=true
только после его явного согласия.
Переменные окружения
переменная | по умолчанию | назначение |
| — | ключ 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 --from git+https://github.com/indalo-tech/yougile-mcp@v0.2.0 yougile-mcp.
Как это устроено
Каталог операций собран из официальной спецификации 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.
Публикация на PyPI идёт через Trusted Publishing, без токенов. Один раз: на pypi.org в
Account settings → Publishing добавьте publisher для GitHub — проект yougile-mcp, владелец
indalo-tech, репозиторий yougile-mcp, workflow release.yml, environment pypi. Затем
включите шаг: gh variable set PUBLISH_PYPI --body true -R indalo-tech/yougile-mcp.
Уже выпущенную версию можно отправить на PyPI через Actions → Release → Run workflow с её тегом.
Лицензия
Related MCP server: laravel-tasks
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.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.
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.
Hosted version — connect by URL, nothing to install, sign in with your YouGile login — is in the works. The address will appear here.
Quick start
You need uv; it installs Python for you.
Until the package is on PyPI, use
uvx --from git+https://github.com/indalo-tech/yougile-mcp yougile-mcpinstead ofuvx yougile-mcp.
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, description, latest messages |
| create: board and column by name, assignees by name or email, deadline as a date, planned hours, checklist, color |
| 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 |
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.
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 } }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"]
},
"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: |
| the company time zone for dates, default |
| your company's rules for the model, a string or a list of strings |
These permissions only narrow YouGile's own: the key always acts with the rights of the user who issued it.
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.
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 --from git+https://github.com/indalo-tech/yougile-mcp@v0.2.0 yougile-mcp.
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 when PyPI publishing is enabled.
PyPI publishing uses Trusted Publishing, no tokens. Once: on pypi.org under Account
settings → Publishing add a GitHub publisher — project yougile-mcp, owner indalo-tech,
repository yougile-mcp, workflow release.yml, environment pypi. Then enable the step:
gh variable set PUBLISH_PYPI --body true -R indalo-tech/yougile-mcp. A version that is
already released can be sent to PyPI via Actions → Release → Run workflow with its tag.
License
Available Tools
19 toolsyougile_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 TaskC
Create a task using names: board and column, assignees by name or email, deadline as a date, planned hours and a checklist.
| Name | Required | Description | Default |
|---|---|---|---|
| board | No | Board name or "Project / Board"; default from config | |
| 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 provide destructiveHint=false, and the description adds no behavioral context beyond the verb 'Create'. It does not disclose the write nature, the confirmation flow for client-facing projects, or the need to set the confirm parameter after a confirmation_required response. There is no contradiction with annotations, but meaningful safety-relevant behavior is left only to the schema.
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 dense sentence with the main action front-loaded and no filler. It is compact, though the phrasing 'using names: board and column' is slightly awkward and it sacrifices some completeness by not mentioning the required title.
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 13-parameter mutation tool with no output schema and minimal annotations, the description is too thin. It does not state the required title, the confirmation precondition, or what a successful creation returns. The input schema carries most of the burden, but the description alone leaves the tool's behavior and preconditions insufficiently predictable.
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 high at 77%, with existing descriptions for date formats, assignee forms, and column defaults, so the description adds little beyond summarizing the core fields. It usefully mentions assignees by name/email and deadline as a date, but it omits the only required parameter (title) and the important confirm flag. This is a reasonable baseline for a schema-heavy 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 opens with 'Create a task', a clear verb and resource, and enumerates the main fields (board, column, assignees, deadline, planned hours, checklist), which is enough to separate it from update/move/find siblings. It omits the required title field and the phrasing 'using names: board and column' is awkward, but the core purpose is unambiguous.
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 no guidance on when to use this tool versus alternatives. It never mentions that this is for new tasks as opposed to yougile_update_task or yougile_move_task, nor any prerequisites such as needing a board or project. The sibling list exists, but the description does not reference any exclusions or selection criteria.
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 default project from .yougile.json, else the whole company.
| 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" | |
| include_archived | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true, the description does not need to warn about destructive behavior. It adds behavioral value by explaining the default-project fallback and the eventual whole-company search scope. It stops short of describing return format or pagination, but that is a minor gap given the read-only annotation.
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 tightly written sentences front-load the core purpose and then clarify the fallback scope. There is no filler, no restating of schema defaults, and every word 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 description covers the primary search intent and default-scope behavior, which is enough for basic use. However, with no output schema, it omits what the caller should expect back, and behaviors like status defaults and limit handling live only in the schema, leaving moderate gaps for a tool with 8 parameters.
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 75%, which is below the high threshold, so the description should compensate somewhat. It does summarize the main filterable dimensions (project/board/column, assignee, title words) but adds little beyond the schema for limit, status, include_archived, or how 'me' resolves for assignee.
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 ('find'), resource ('tasks'), and the main filtering criteria (project/board/column names, assignee, title words). It does not explicitly contrast itself with the sibling yougile_tasks, so the agent must infer the difference, keeping it just short of a 5.
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 useful context about fallback scope: without a place, it uses the default project or the whole company. However, it never mentions when to prefer this over yougile_tasks or any other sibling, leaving the when-to-use guidance implied rather than explicit.
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 TaskB
Move a task to another column. On boards with a Workflow chain configured in .yougile.json the card is walked through every intermediate column, since YouGile rejects jumps over the chain.
| 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 discloses an important behavior beyond annotations: when a workflow chain is configured, the tool walks through intermediate columns because YouGile rejects jumps. This adds value since annotations only carry destructiveHint=false. However, it omits the confirmation-required behavior that the confirm parameter hints at, and does not describe any other side effects or failure modes.
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, front-loaded with the primary action, then a concise important nuance. No filler or redundancy. Every sentence 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 five parameters including 'board' for cross-board moves and 'confirm' for approval flows, but the description does not mention these scenarios. It also does not describe return values. The workflow-chain note is helpful, but the description leaves the confirmation flow and cross-board move behavior unexplained, which are material 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 description coverage is 80%, so the schema already documents most parameters. The description adds no direct parameter explanations, but the workflow-chain context indirectly clarifies how the 'column' parameter behaves on chain-configured boards. Baseline 3 is appropriate given high schema 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 states the action clearly: 'Move a task to another column.' It identifies the resource and the target, and the workflow-chain nuance adds specificity. However, it does not explicitly differentiate from sibling tools like yougile_update_task or yougile_create_task, though the verb and resource are distinct enough.
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?
No guidance is given on when to use this tool versus alternatives. The description does not mention conditions that would favor this over yougile_update_task or when moving is not appropriate. It only adds a behavioral note about workflow chains, which is not selection guidance.
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 and this session's permissions. 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 include readOnlyHint=true, and the description does not contradict this. It adds that it shows session permissions, which is useful context, but does not detail output format or limitations. Since annotations cover safety, 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 key content (what the overview covers) followed by a short usage directive. No redundant words or filler.
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 enumerates all major aspects of the overview: hierarchy, workflow, defaults, and permissions. It does not specify the exact output format, but given there is no output schema and the tool is an overview, the description is sufficiently complete for an agent to understand its purpose.
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% — both parameters have descriptions in the input schema. The tool description adds no extra parameter meaning beyond what the schema already provides, so it meets the baseline for well-documented parameters.
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 provides a company structure overview (projects → boards → columns), workflow chains, workspace defaults, and session permissions. It distinguishes itself from sibling tools like yougile_projects or yougile_boards by being a high-level starting point.
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' explicitly instructs the agent to use this tool first, implying it is a prerequisite for understanding naming before using other tools. It does not directly contrast with alternatives but gives a clear usage directive.
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.
| 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?
The readOnlyHint annotation already establishes no mutation, and the description adds useful behavioral context by enumerating the full contents of the card and the optional chat-message inclusion. It does not contradict the annotation and does not hide any side effects, which is appropriate for a read-only operation.
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, well-structured sentence that front-loads the action and then compactly lists exact output contents. There is no filler, redundant phrasing, or unnecessary explanation.
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 two-parameter, read-only tool with full schema coverage, the description and schema together are largely sufficient for an agent to call it correctly. The description lists the returned task-card fields, and the schema defines how to specify the task and optional messages. It does not explain return formatting or sibling relationships, but those are not critical for 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 the description does not need to carry the burden of parameter documentation. The description's 'optionally the latest chat messages' repeats the messages parameter's schema meaning, and the task parameter format is already fully documented in the schema. No additional semantic value is added 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 states a specific verb and resource ('Open a task card') and enumerates exactly what is returned: location, status, assignees, deadline, hours, checklists, stickers, description, and optionally chat messages. This clearly differentiates it from siblings like yougile_create_task or yougile_update_task, though it does not explicitly name an alternative.
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 purpose implies it is used when a user needs a single task's full card, and the optional chat message mention hints it can substitute for a dedicated chat lookup. However, it does not explicitly state when to prefer this over yougile_find_tasks, yougile_tasks, or yougile_task_chat, nor does it mention any exclusions.
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, 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 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only destructiveHint: false in annotations, the description adds real value: 'Only the given fields change' discloses partial-update behavior and that unspecified fields are untouched. However, it omits notable behaviors — the confirmation_required guard for writes into client-facing projects (documented only on the confirm parameter) — which is meaningful behavioral context an agent would benefit from having in the description.
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 tight sentences with zero waste. The action and resource are front-loaded, the field list is compact, and the scoping rule 'Only the given fields change' is an efficient second sentence that earns its place. Nothing extraneous.
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 16-parameter mutation tool with no output schema, the description covers the conceptual surface well but leaves key operational gaps: the assignee replace/add/remove semantics, the distinct checklist item operations, and the confirmation_required flow for client-facing projects are left to the sparse schema. The input format clues (task as 'ID-123' and date formats) are present in the schema, but the conflicting field operations warrant description-level clarification.
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?
At 50% schema description coverage, the description compensates partially: the field list maps onto most of the 16 parameters (title, description, deadline, plan_hours, completed, archived, color, assignees, checklist items) and clarifies that assignees are passed 'by name.' But it does not distinguish between the semantically different assignee params (assignees = replace vs add_assignees vs remove_assignees) or the checklist operations (add_items, check, uncheck), leaving ambiguity that the low-coverage schema does not resolve.
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 ('Edit') and resource ('a task'), then enumerates the editable attributes (title, description, assignees, deadline, planned hours, completion, archive, color, checklist items). This clearly distinguishes it from siblings like yougile_create_task and yougile_move_task, and the final sentence 'Only the given fields change' pins down partial-update semantics unambiguously.
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 verb and field list make it evident this is the tool for modifying existing task attributes, and 'Only the given fields change' implies it is a patch, not a replace. However, the description never explicitly routes the agent away from siblings such as yougile_move_task (for repositioning) or yougile_log_time (for time), nor states any when-not-to-use conditions — the guidance is implied rather than stated.
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.
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 19 tools
The set mixes high-level convenience tools (yougile_find_tasks, yougile_update_task, yougile_task_chat) with generic resource tools exposing operations (yougile_tasks, yougile_chats), creating multiple overlapping paths for retrieving and updating tasks. The descriptions help clarify intent, but an agent could easily hesitate between the convenience layer and the operations layer.
All tools share a consistent yougile_ snake_case prefix, and most action tools follow a verb_noun pattern while resource tools use plain plural nouns. Minor inconsistencies like singular yougile_task vs plural yougile_tasks, plus yougile_overview and yougile_log_time, keep it from being perfectly uniform.
19 tools is at the upper end of the recommended range, but the server covers a broad domain spanning tasks, projects, boards, columns, chats, users, stickers, files, and CRM. The count feels slightly heavy due to convenience/resource duplication, but each tool addresses a real part of the YouGile workspace.
The tool surface provides solid lifecycle coverage for the core domain: projects, boards, columns, tasks, chats, users, stickers, and company settings. Task search, creation, update, moving, time logging, checklists, archiving, and soft-delete are all represented, so there are no obvious dead ends for typical project management workflows.
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-
- FlicenseNot gradedqualityDmaintenanceMCP server that connects to a Laravel Tasks API, enabling AI assistants to perform CRUD operations on tasks.-
- 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.5729 npm10MIT
- AlicenseBqualityAmaintenanceMCP server that exposes YouGile projects, boards, columns, tasks, and task chat as tools for agents to watch and manage tasks.1711 npmMIT