[ { "description": "Задачи зеркала по фильтрам (спринт, исполнитель, вид работы, статус Jira, метка, эпик,\nподстрока темы/ключа, neighbor=1 — только соседние). Компактная таблица.", "inputSchema": { "properties": { "assignee": { "default": "", "title": "Assignee", "type": "string" }, "epic": { "default": "", "title": "Epic", "type": "string" }, "label": { "default": "", "title": "Label", "type": "string" }, "limit": { "default": 50, "title": "Limit", "type": "integer" }, "neighbor": { "default": "", "title": "Neighbor", "type": "string" }, "q": { "default": "", "title": "Q", "type": "string" }, "sprint": { "default": "", "title": "Sprint", "type": "string" }, "status": { "default": "", "title": "Status", "type": "string" }, "work_kind": { "default": "", "title": "Work Kind", "type": "string" } }, "title": "issuesArguments", "type": "object" }, "name": "issues" }, { "description": "Задача целиком: поля, связи в обе стороны, служебные заметки, последние команды, описание. Комментарии — 5\nпоследних с номером, текст до 300 символов; полный текст — инструмент comment по номеру. Вложения — списком\n(номер, имя, размер, где упомянуты, скачано ли); содержимое — инструмент attachment.", "inputSchema": { "properties": { "key": { "title": "Key", "type": "string" } }, "required": [ "key" ], "title": "issueArguments", "type": "object" }, "name": "issue" }, { "description": "Один комментарий задачи целиком: автор, время, полный текст. comment_id — номер из ответа issue («#123»).", "inputSchema": { "properties": { "comment_id": { "title": "Comment Id", "type": "string" }, "key": { "title": "Key", "type": "string" } }, "required": [ "key", "comment_id" ], "title": "commentArguments", "type": "object" }, "name": "comment" }, { "description": "Скачать вложение задачи и вернуть путь к локальной копии (читайте файл по этому пути). attachment — номер из\nissue/comment («#31337» или «31337») либо точное имя файла; при нескольких одноимённых берётся самое новое.\nХаб просит агента скачать файл и сохраняет копию в downloads/ каталога данных; ожидание — до wait_seconds (1…600,\nпо умолчанию 120), не дождался — вызовите инструмент ещё раз: вторая команда не поставится. Файлы больше 10 МБ\nскачиваются только в Jira.", "inputSchema": { "properties": { "attachment": { "title": "Attachment", "type": "string" }, "key": { "title": "Key", "type": "string" }, "wait_seconds": { "default": 120, "title": "Wait Seconds", "type": "integer" } }, "required": [ "key", "attachment" ], "title": "attachmentArguments", "type": "object" }, "name": "attachment" }, { "description": "Лента изменений задач: смена статуса, правка описания, сроки, новые комментарии. По умолчанию — с начала\nсегодняшнего дня; hours — за последние N часов; since/until — ISO-8601 (без смещения — местное время); kinds — через запятую из\nstatus, description, dates, comment, other или all; key — одна задача (без привязки к проекту).", "inputSchema": { "properties": { "hours": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Hours" }, "key": { "default": "", "title": "Key", "type": "string" }, "kinds": { "default": "", "title": "Kinds", "type": "string" }, "since": { "default": "", "title": "Since", "type": "string" }, "until": { "default": "", "title": "Until", "type": "string" } }, "title": "changesArguments", "type": "object" }, "name": "changes" }, { "description": "Правка служебных заметок задачи (только переданные поля).", "inputSchema": { "properties": { "done_text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Done Text" }, "key": { "title": "Key", "type": "string" }, "owner_note": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Owner Note" }, "rest_text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Rest Text" }, "work_kind": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Work Kind" } }, "required": [ "key" ], "title": "notes_setArguments", "type": "object" }, "name": "notes_set" }, { "description": "Поставить пакет команд. Каждая команда — {\"type\": <тип>, \"params\": {...}}. Хвостовой refresh хаб добавит сам.\nПараметры по типам (необязательные — в [ ]):\n- ensure_issue: temp_key (new:), issue_type (task|epic|bug), summary; [description, priority, duedate (YYYY-MM-DD), planned_start (YYYY-MM-DD), planned_end (YYYY-MM-DD), labels (список), epic_key (ключ или new:), assignee (логин Jira)]\n- ensure_fields: key; [summary, description, priority, duedate (YYYY-MM-DD), planned_start (YYYY-MM-DD), planned_end (YYYY-MM-DD), epic_key (ключ или new:), assignee (логин Jira), labels_add (список), labels_remove (список), story_points (число ≥ 0 или null)] — хотя бы одно поле\n- ensure_comment: key, marker (метка в начале комментария), body\n- ensure_status: key, target (статус или список-путь)\n- ensure_link: source, target, link_type (логическое имя из link_types); [replace (true|false)]\n- ensure_sprint: key, sprint (имя спринта или backlog)\n- ensure_attachment: key, file (sha256 из POST /files; в MCP — path к локальному файлу), filename (имя вложения)\n- fetch_attachment: key, attachment_id (id вложения из issue (цифры))\n- refresh: —; [keys (список), jql] — keys или jql\n- ensure_sprint_meta: sprint (имя спринта); [rename_to (новое имя), start_date (YYYY-MM-DD), end_date (YYYY-MM-DD), goal (цель спринта)]\n- ensure_sprint_state: sprint, state (active|closed); [move_open_to (имя спринта или backlog; обязателен при closed)]\n- ensure_rank: key; [before (ключ задачи, выше которой), after (ключ задачи, ниже которой)] — ровно одно из before, after\nПроект: метку проекта сессии хаб дописывает в ensure_issue сам, метки других проектов запрещены, а команды над задачами вне проекта отклоняются; board_id для ensure_sprint, ensure_sprint_meta и ensure_sprint_state выставляет хаб; ensure_sprint_meta и ensure_sprint_state — только в сессии с проектом, хвост такого пакета — refresh по JQL проекта; оценка — story_points в ensure_fields.\nensure_attachment из чата: вместо file передайте path — абсолютный путь к локальному файлу (до 10 МБ); MCP загрузит\nфайл в хаб и подставит file, filename по умолчанию — имя файла.", "inputSchema": { "properties": { "commands": { "items": { "additionalProperties": true, "type": "object" }, "title": "Commands", "type": "array" }, "title": { "title": "Title", "type": "string" } }, "required": [ "title", "commands" ], "title": "batch_createArguments", "type": "object" }, "name": "batch_create" }, { "description": "Спринты доски проекта: состояние, даты, задачи и SP «выполнено/всего», без оценки; закрытые — 10 последних", "inputSchema": { "properties": {}, "title": "sprintsArguments", "type": "object" }, "name": "sprints" }, { "description": "Спринт (по умолчанию активный): шапка с суммами и задачи по колонкам доски", "inputSchema": { "properties": { "name": { "default": "", "title": "Name", "type": "string" } }, "title": "sprintArguments", "type": "object" }, "name": "sprint" }, { "description": "Бэклог проекта по рангу: позиция, ключ, тема, статус, исполнитель, SP; limit — сколько строк (по умолчанию 50)", "inputSchema": { "properties": { "limit": { "default": 50, "title": "Limit", "type": "integer" } }, "title": "backlogArguments", "type": "object" }, "name": "backlog" }, { "description": "Состояние пакета и его команд.", "inputSchema": { "properties": { "id": { "title": "Id", "type": "integer" } }, "required": [ "id" ], "title": "batch_statusArguments", "type": "object" }, "name": "batch_status" }, { "description": "Ждать завершения пакета (до 60 мин), вернуть итог по командам. Ожидание не блокирует event loop сервера.", "inputSchema": { "properties": { "id": { "title": "Id", "type": "integer" }, "timeout_minutes": { "default": 10, "title": "Timeout Minutes", "type": "integer" } }, "required": [ "id" ], "title": "batch_waitArguments", "type": "object" }, "name": "batch_wait" }, { "description": "Последние пакеты со статусом.", "inputSchema": { "properties": { "limit": { "default": 10, "title": "Limit", "type": "integer" } }, "title": "batchesArguments", "type": "object" }, "name": "batches" }, { "description": "Повторить команду — новый пакет с теми же параметрами.", "inputSchema": { "properties": { "id": { "title": "Id", "type": "integer" } }, "required": [ "id" ], "title": "command_retryArguments", "type": "object" }, "name": "command_retry" }, { "description": "Отменить пакет: команды в очереди отменяются; взятую агентом команду отмена не останавливает —\nв ответе подсказка (POST /commands/N/cancel с force).", "inputSchema": { "properties": { "id": { "title": "Id", "type": "integer" } }, "required": [ "id" ], "title": "batch_cancelArguments", "type": "object" }, "name": "batch_cancel" }, { "description": "Обновить зеркало из Jira: по ключам или полностью (базовая JQL). По умолчанию только ставит пакет;\nwait=true — дождаться результата (до 30 мин).", "inputSchema": { "properties": { "full": { "default": false, "title": "Full", "type": "boolean" }, "keys": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Keys" }, "wait": { "default": false, "title": "Wait", "type": "boolean" } }, "title": "refreshArguments", "type": "object" }, "name": "refresh" }, { "description": "Агент: онлайн/офлайн, версия, текущая команда, 429 за сутки, команды без ответа, опубликованная версия,\nсостояние самообновления и запускатель.", "inputSchema": { "properties": {}, "title": "agent_statusArguments", "type": "object" }, "name": "agent_status" }, { "description": "Журнал обновлений зеркала.", "inputSchema": { "properties": { "limit": { "default": 10, "title": "Limit", "type": "integer" } }, "title": "sync_logArguments", "type": "object" }, "name": "sync_log" }, { "description": "Настройки хаба (все или одна по ключу).", "inputSchema": { "properties": { "key": { "default": "", "title": "Key", "type": "string" } }, "title": "settings_getArguments", "type": "object" }, "name": "settings_get" }, { "description": "Записать настройку: value — JSON. Поднимает settings_version.", "inputSchema": { "properties": { "key": { "title": "Key", "type": "string" }, "value": { "title": "Value", "type": "string" } }, "required": [ "key", "value" ], "title": "settings_setArguments", "type": "object" }, "name": "settings_set" }, { "description": "Проекты хаба: метка, название, доска, тип доски, число задач; текущий проект сессии отмечен.", "inputSchema": { "properties": {}, "title": "projectsArguments", "type": "object" }, "name": "projects" }, { "description": "Завести проект (метка Jira, название, необязательно id доски). Хаб ставит пакет обновления; в ответе — фрагмент\n.mcp.json для репозитория проекта.", "inputSchema": { "properties": { "board_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Board Id" }, "label": { "title": "Label", "type": "string" }, "name": { "title": "Name", "type": "string" } }, "required": [ "label", "name" ], "title": "project_createArguments", "type": "object" }, "name": "project_create" } ]