Skip to main content
Glama

YouGile MCP

Release CI Python License: MIT

Русский · English · Changelog

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-mcp

Claude Desktop, Cursor и другие клиенты — запись в mcpServers:

{
  "mcpServers": {
    "yougile": {
      "command": "uvx",
      "args": ["yougile-mcp"],
      "env": { "YOUGILE_API_KEY": "ваш_ключ" }
    }
  }
}

3. Проверьте

YOUGILE_API_KEY=ваш_ключ uvx yougile-mcp check

Покажет версию, пользователя и компанию, сколько проектов, досок и колонок видно, действующие права, часовой пояс и найденные файлы настроек. Проверка тратит 5 запросов.

Инструменты для задач

Принимают названия и номера, показывают имена и даты. Для повседневной работы начинайте с них.

инструмент

что умеет

yougile_overview

проекты → доски → колонки в порядке экрана, цепочки Workflow, умолчания и права

yougile_find_tasks

поиск по проекту, доске, колонке, исполнителю (имя, почта или me), словам из названия или номеру; по умолчанию только открытые

yougile_task

карточка: где лежит, исполнители, срок, часы, чек-листы, стикеры по названиям, описание, последние сообщения

yougile_create_task

создать: доска и колонка по названию, исполнители по имени или почте, срок датой, план часов, чек-лист, цвет

yougile_update_task

изменить поля, выполнить, архивировать, добавить или снять исполнителей, отметить пункты чек-листа, убрать срок

yougile_move_task

перенести в другую колонку; на досках с Workflow проходит все промежуточные колонки

yougile_log_time

прибавить часы к факту, не трогая план

yougile_task_chat

последние сообщения с именами авторов, отправка сообщения

Даты пишутся как 2026-09-30 или 30.09.2026, со временем — 2026-09-30 18:00. Дата без времени сохраняется как полночь по часовому поясу компании — так же, как в интерфейсе YouGile.

Доменные инструменты — весь API

инструмент

что умеет

yougile_tasks

список и поиск (по колонке, исполнителям, стикеру, названию), открыть, создать, изменить: перенос, выполнение, архив, срок, план и факт часов, чек-листы, стикеры, удаление; подписчики чата задачи

yougile_chats

история, отправка, правка и удаление сообщений в чатах задач (id чата = id задачи) и групповых чатах; управление групповыми чатами

yougile_boards

доски: список, открыть, создать, переименовать, перенести, удалить

yougile_columns

колонки: список, открыть, создать, изменить, удалить

yougile_projects

проекты и участники, роли проекта

yougile_users

сотрудники и отделы: список, приглашение, изменение, удаление из компании

yougile_stickers

стикеры с набором состояний, стикеры спринтов и их состояния

yougile_company

данные компании, вебхуки

yougile_files

загрузка файла (по пути или в base64), возвращает ссылку

yougile_crm

контактные лица, поиск контакта по внешнему id

yougile_help

поля, типы, обязательность и примеры для любой операции

Каждый доменный инструмент принимает 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": "В задачах клиентских проектов пишите клиентским языком."
}

поле

смысл

project, board

значения по умолчанию: где искать и куда создавать задачи

role

reader — только чтение; member — плюс задачи, сообщения, файлы; admin (по умолчанию) — всё, включая проекты, доски, колонки, сотрудников, роли и вебхуки

projects

работать только с этими проектами (названия или id). Чужие объекты скрыты из списков, запись в них запрещена

confirm_projects

запись в эти проекты — только после подтверждения человеком

deny

запрещённые операции, можно маской: users.*. Удаление через deleted: true считается отдельной операцией <инструмент>.delete, например tasks.delete

workflows

цепочки колонок для досок с расширением Workflow: YouGile не отдаёт их по API. Ключ — "Проект / Доска". Первая колонка цепочки — колонка по умолчанию для новых задач

timezone

часовой пояс компании для дат, по умолчанию Europe/Moscow

instructions

правила вашей компании для модели, строка или список строк

Эти права только сужают права YouGile: ключ всегда действует с правами пользователя, который его выпустил.

Как работает подтверждение. Если клиент умеет показывать запросы пользователю (MCP elicitation), человек подтверждает запись в окне клиента, и модель не может обойти этот шаг. Одно действие спрашивает подтверждение один раз, даже если делает несколько записей. Если клиент так не умеет, инструмент возвращает confirmation_required с текстом того, что будет записано. Модель должна показать его пользователю и повторить вызов с confirm=true только после его явного согласия.

Переменные окружения

переменная

по умолчанию

назначение

YOUGILE_API_KEY

ключ API, обязателен для работы сервера

YOUGILE_BASE_URL

https://ru.yougile.com

адрес YouGile, например вашего коробочного сервера

YOUGILE_RATE_LIMIT

45

запросов в минуту на один ключ; 0 отключает ограничитель

YOUGILE_TIMEZONE

Europe/Moscow

часовой пояс компании, перекрывает timezone из файла

YOUGILE_CONFIG

явный путь к файлу настроек вместо поиска .yougile.json

YOUGILE_MCP_STATE_DIR

папка кэша ОС

где лежит общий счётчик лимита

YOUGILE_MCP_LOG_LEVEL

WARNING

уровень логов; логи идут в 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 с её тегом.

Лицензия

MIT


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_help reference tool.

  • Tasks by number. The company-wide ID-123 or the project one like DEV-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-mcp instead of uvx yougile-mcp.

1. Get an API key

uvx yougile-mcp setup

It 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-mcp

Claude 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 check

Shows 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

yougile_overview

projects → boards → columns in screen order, Workflow chains, defaults and permissions

yougile_find_tasks

search by project, board, column, assignee (name, email or me), title words or number; open tasks by default

yougile_task

the card: location, assignees, deadline, hours, checklists, stickers by name, description, latest messages

yougile_create_task

create: board and column by name, assignees by name or email, deadline as a date, planned hours, checklist, color

yougile_update_task

edit fields, complete, archive, add or remove assignees, check checklist items, remove the deadline

yougile_move_task

move to another column; on Workflow boards it passes every intermediate column

yougile_log_time

add worked hours, keeping the plan

yougile_task_chat

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

yougile_tasks

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

yougile_chats

history, send, edit and delete messages in task chats (chat id = task id) and group chats; manage group chats

yougile_boards

boards: list, get, create, rename, move, delete

yougile_columns

columns: list, get, create, update, delete

yougile_projects

projects and their members, project roles

yougile_users

employees and departments: list, invite, update, remove from the company

yougile_stickers

state stickers, sprint stickers and their states

yougile_company

company details, webhooks

yougile_files

upload a file (by path or as base64); returns a URL

yougile_crm

contact persons, contact lookup by external id

yougile_help

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

project, board

defaults: where to search and where to create tasks

role

reader — read only; member — plus tasks, messages, files; admin (default) — everything, including projects, boards, columns, employees, roles and webhooks

projects

work only with these projects (names or ids). Other objects are hidden from lists and cannot be written

confirm_projects

writes into these projects need a human confirmation

deny

denied operations, masks allowed: users.*. Deleting via deleted: true counts as a separate <tool>.delete operation, e.g. tasks.delete

workflows

column chains for boards using the Workflow extension, which YouGile does not expose via the API. Key: "Project / Board". The first column of a chain is the default for new tasks

timezone

the company time zone for dates, default Europe/Moscow

instructions

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

YOUGILE_API_KEY

API key, required to run the server

YOUGILE_BASE_URL

https://ru.yougile.com

YouGile address, e.g. your on-premise server

YOUGILE_RATE_LIMIT

45

requests per minute per key; 0 disables the limiter

YOUGILE_TIMEZONE

Europe/Moscow

company time zone, overrides timezone from the file

YOUGILE_CONFIG

explicit config file instead of looking for .yougile.json

YOUGILE_MCP_STATE_DIR

OS cache dir

where the shared rate-limit counter lives

YOUGILE_MCP_LOG_LEVEL

WARNING

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_task handles that for you.

  • Deleted objects are hidden from lists; add includeDeleted: true to 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 --version and yougile-mcp check show 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 snapshot

HTTP 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

MIT

Available Tools

19 tools
yougile_boardsYougile BoardsB

Boards: list (by projectId), get, create, update/rename/move/soft-delete.

Operations ([access]):

  • list [read]: Получить список

  • create [admin]: Создать

  • get [read]: Получить по ID

  • update [admin]: Изменить

Call yougile_help('boards.') for parameters.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoFlat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation").
confirmNoSet true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required).
operationYes

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoFlat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation").
confirmNoSet true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required).
operationYes

TDQS

B3/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoFlat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation").
confirmNoSet true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required).
operationYes

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoFlat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation").
confirmNoSet true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required).
operationYes

TDQS

C2.9/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
boardNoBoard name or "Project / Board"; default from config
colorNoOne of: primary, gray, red, pink, yellow, green, turquoise, blue, violet
startNoDate "YYYY-MM-DD" or "DD.MM.YYYY", optionally with " HH:MM"
titleYes
columnNoColumn name; default: the first column of the board's Workflow chain
confirmNoSet true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required).
projectNoProject, to disambiguate the board
deadlineNoDate "YYYY-MM-DD" or "DD.MM.YYYY", optionally with " HH:MM"
assigneesNoNames, emails or "me"
checklistNoChecklist items
plan_hoursNo
descriptionNoPlain text (newlines kept) or HTML
checklist_titleNoЧек-лист

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoFlat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation").
confirmNoSet true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required).
operationYes

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoFlat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation").
confirmNoSet true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required).
operationYes

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 TasksA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
textNoWords from the title, or a task number
boardNoBoard name or "Project / Board"
limitNo
columnNoColumn name (needs a board or default)
statusNoDefault "open", or "any" when a column is given
projectNoProject name
assigneeNoName, email or "me"
include_archivedNo

TDQS

A3.7/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 HelpA
Read-only

Describe YouGile domain tools and operations: parameters, types, required fields, access.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationNo"list" for everything, a tool name like "tasks", or "tasks.create"list

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask number like ID-123 or DEV-12, or its id
hoursYesHours to add to the worked time (negative to fix)
confirmNoSet true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required).
plan_hoursNoAlso set the planned hours

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask number like ID-123 or DEV-12, or its id
boardNoTarget board, when moving to another board
columnYesTarget column name
confirmNoSet true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required).
projectNo

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 OverviewA
Read-only

Company structure: projects -> boards -> columns in screen order, Workflow chains, workspace defaults and this session's permissions. Start here to learn the names.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNoOnly this project (name or id)
include_idsNoAdd board and column ids

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoFlat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation").
confirmNoSet true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required).
operationYes

TDQS

C2.9/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoFlat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation").
confirmNoSet true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required).
operationYes

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 TaskA
Read-only

Open a task card: where it is, status, assignees, deadline, hours, checklists, stickers by name, description, and optionally the latest chat messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask number like ID-123 or DEV-12, or its id
messagesNoAlso show the last N chat messages

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sendNoMessage to post (plain text)
taskYesTask number like ID-123 or DEV-12, or its id
limitNoHow many latest messages
confirmNoSet true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required).

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoFlat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation").
confirmNoSet true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required).
operationYes

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesTask number like ID-123 or DEV-12, or its id
checkNoChecklist items to mark done
colorNo
startNoDate "YYYY-MM-DD" or "DD.MM.YYYY", optionally with " HH:MM"
titleNo
confirmNoSet true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required).
uncheckNo
archivedNo
deadlineNoDate, or "none" to remove the deadline
add_itemsNoNew checklist items
assigneesNoReplace assignees
completedNo
plan_hoursNo
descriptionNoReplaces the description
add_assigneesNo
remove_assigneesNo

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoFlat object with path params, query params and body fields, e.g. {"id": "ID-123", "title": "New title"}. See yougile_help("tool.operation").
confirmNoSet true only after the user explicitly approved a write into a client-facing project (needed only when the tool answered confirmation_required).
operationYes

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives each operation an access level ([read] vs [admin]), which implies when privileged use is needed, and instructs the agent to call yougile_help('users.<operation>') for parameters. However, it does not explain when to choose yougile_users over sibling tools like yougile_company or yougile_help, nor does it state exclusions or alternative conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 19 tool updatesv0.1.0
    • First observedyougile_boards
    • First observedyougile_chats
    • First observedyougile_columns
    • First observedyougile_company
    • First observedyougile_create_task
    • First observedyougile_crm
    • First observedyougile_files
    • First observedyougile_find_tasks
    • First observedyougile_help
    • First observedyougile_log_time
    • First observedyougile_move_task
    • First observedyougile_overview
    • First observedyougile_projects
    • First observedyougile_stickers
    • First observedyougile_task
    • First observedyougile_task_chat
    • First observedyougile_tasks
    • First observedyougile_update_task
    • First observedyougile_users

TDQS

B3.4/5.0

Scored across 19 tools

Disambiguation3/5

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.

Naming Consistency4/5

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.

Tool Count4/5

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.

Completeness5/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers