tracker-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TRACKER_AUTH | No | `oauth` (по умолчанию) или `iam` — определяет заголовки `X-Org-ID` / `X-Cloud-Org-ID` | oauth |
| TRACKER_LANG | No | `ru` или `en` — язык локализованных полей | |
| TRACKER_TOKEN | Yes | OAuth-токен (`y0_...`, Яндекс 360) или IAM-токен (`t1....`, Yandex Cloud) | |
| MCP_AUTH_TOKEN | No | Ключ к эндпоинту (Bearer) для HTTP-режима (serve). Обязателен при привязке к не-loopback-адресу. | |
| TRACKER_ORG_ID | Yes | Идентификатор организации | |
| TRACKER_API_URL | No | По умолчанию `https://api.tracker.yandex.net/v3` | https://api.tracker.yandex.net/v3 |
| TRACKER_READ_ONLY | No | `1` — агенту видны только read-only инструменты (80 шт) | |
| TRACKER_CACHE_TTL_MS | No | TTL кэша справочников (по умолчанию 10 минут) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| find_issuesA | Find issues in Yandex Tracker. Pass exactly ONE search parameter: "queue" (queue key), "keys" (list of issue keys), "filter" (field->value object), "query" (Tracker query language string, e.g. "Queue: TREK Assignee: me()"), "query2" (query language 2.0 object) or "filterId" (saved filter id). Supports pagination via perPage/page. |
| count_issuesB | Get the number of issues matching a filter or query. |
| create_issueB | Create a new issue in Yandex Tracker. Requires queue key and summary. Text fields support Yandex Flavored Markdown. |
| get_issueC | Get issue parameters by key or id, e.g. "TREK-123". |
| edit_issueA | Edit an existing issue (PATCH): only provided fields are changed. For array fields you may pass "add"/"remove"/"set"/"replace" commands via extraFields, e.g. extraFields={"tags": {"add": ["new-tag"]}}. |
| move_issueA | Move an issue to a different queue. Components, versions and projects are cleared by default (use moveAllFields to keep them). Local fields of the old queue are removed. |
| get_issue_transitionsA | List workflow transitions available for the issue (with target statuses). Use transition ids with execute_transition. |
| execute_transitionA | Move an issue to a new status by executing a workflow transition. First get available transitions via get_issue_transitions. Some transitions (e.g. "close") require a resolution via extraFields, e.g. {"resolution": "fixed"}. |
| get_issue_linksB | List links of an issue (related, dependent, subtask, duplicate, epic links). Pass perPage/page for the paginated variant. |
| release_search_scrollA | Free scroll-search resources when you stopped paging through a scrolled find_issues result. Body: {"": ""} for every page you opened. |
| create_issue_linkC | Create a link between the current issue and another issue. |
| delete_issue_linkA | Delete a link between issues by link id (see get_issue_links). |
| get_issue_changelogC | Get the change history (changelog) of an issue. |
| add_commentB | Add a comment to an issue. Supports Yandex Flavored Markdown. |
| get_issue_commentsC | List comments of an issue. |
| edit_commentC | Edit an existing comment text. |
| get_issue_commentB | Get one comment of an issue by id (numeric id or longId). |
| add_comment_reactionC | Add a reaction to a comment. |
| delete_commentC | Delete a comment from an issue. |
| get_checklistC | Get the checklist of an issue. |
| add_checklist_itemC | Add a checklist item to an issue. |
| edit_checklist_itemA | Edit a single checklist item. The Tracker API requires the full item list in the request body, so this tool fetches the current checklist, merges your change into the target item, and sends the whole list back. |
| delete_checklistB | Delete the whole checklist of an issue. |
| delete_checklist_itemB | Delete a checklist item from an issue. |
| get_issue_worklogB | Get time tracking records (worklog) of an issue. |
| add_worklog_recordB | Add a time tracking record to an issue. Tracker counts time in 5-day work weeks and 8-hour work days: P5D is displayed as 1 week. |
| edit_worklog_recordC | Edit a time tracking record (worklog). |
| find_worklog_recordsB | Search worklog records across all issues by author and/or creation date range. |
| delete_worklog_recordC | Delete a time tracking record (worklog). |
| list_issue_attachmentsB | List files attached to an issue and its comments. |
| upload_issue_attachmentA | Attach a local file to an issue. Max file size is 1024 Mbit. The file must exist on the machine where the MCP server runs. |
| get_issue_attachmentB | Get metadata of one attached file (name, size, mime type). |
| download_issue_attachmentA | Download attachment content: images come back as image content (visible in chat), text files as text, other binaries as base64. Omit filename to auto-resolve it by id. |
| get_attachment_thumbnailB | Download the preview thumbnail of an attached image (image content). |
| download_entity_attachmentA | Download an attachment of a project/portfolio/goal. Content path for entities is /attachments/{id}/{filename} (not issue-scoped). Images come back as image content. |
| upload_temp_attachmentA | Upload a temporary file (not yet attached anywhere). Returns a temp id usable once in create_issue attachmentIds, add_comment attachmentIds and entity attachments. |
| delete_issue_attachmentC | Delete an attached file from an issue. |
| bulk_update_issuesB | Bulk edit many issues at once (max 10000). Values use the issue edit format; array fields support add/set/replace commands, e.g. {"tags": {"add": ["x"]}}. |
| bulk_move_issuesC | Bulk move issues to another queue. Components, versions and projects are cleared by default. |
| bulk_transition_issuesA | Bulk move issues to a new status via a workflow transition. Get available transition ids via get_issue_transitions. Statuses like "closed" may require a resolution in values. |
| get_bulk_operation_infoA | Get status and progress of a bulk change operation by its id. |
| get_queuesC | List queues of the organization. |
| get_queueC | Get queue parameters by key or id. |
| create_queueB | Create a new queue. Requires key, name, lead, default type/priority and an issueTypesConfig array binding issue types to workflow templates. |
| get_queue_fieldsA | Get fields available/required for issues of the queue (includes required flags and allowed values) — useful before creating an issue in this queue. |
| get_queue_versionsC | List versions of a queue. |
| create_queue_versionC | Create a version in a queue. |
| create_componentC | Create a component in a queue. |
| get_queue_componentsB | List components of a queue. |
| get_queue_local_fieldsA | List local (queue-specific) issue fields of a queue. Field ids look like "--" and can be used in create/edit issue requests. |
| get_queue_macrosesB | List macroes of a queue (saved bundles of field updates + comment text). |
| get_queue_tagsC | List tags used in a queue. |
| get_queue_triggersC | List triggers configured in a queue. |
| get_queue_autoactionsC | List autoactions configured in a queue. |
| get_queue_autoactionC | Get parameters of one autoaction. |
| create_queue_autoactionB | Create an autoaction: periodically updates issues matching filter/query. Actions are trigger-style objects (Transition, Update, CreateComment, Webhook, CalculateFormula). |
| get_queue_autoaction_logsA | Autoaction run logs. Without runId — list of launches; with runId — one launch with per-issue results (available for auto-update type autoactions). |
| delete_queueA | Delete a queue (only when empty of issues). Only queue owner or Tracker admin can. |
| restore_queueA | Restore a deleted queue (Tracker admin only). |
| delete_queue_tagA | Remove a tag from a queue (must not be used in any issue; admin only). |
| set_queue_accessA | Change queue access rights: create/write/read/grant/deny with users, groups and roles. Arrays overwrite; {"add": […], "remove": […]} apply deltas. deny supports only users and groups. |
| get_queue_user_accessC | Get user permissions in a queue. |
| get_queue_group_accessC | Get group permissions in a queue. |
| create_queue_local_fieldC | Create a local (queue-specific) issue field. |
| get_queue_local_fieldC | Get one local field of a queue by its key. |
| update_queue_local_fieldC | Edit a local field of a queue: name, category, options, visibility. |
| get_componentsA | List all components of the organization. |
| get_componentC | Get one component by id. |
| update_componentC | Edit a component: name, description, owner, default assignee. version = component version. |
| delete_componentC | Delete a component by id. |
| get_component_user_accessC | Get user permissions for a component. |
| get_component_group_accessC | Get group permissions for a component. |
| get_queue_versionC | Get one queue version by id. |
| update_queue_versionC | Edit a queue version: name, description, dates. |
| delete_queue_versionC | Delete a queue version by id. |
| get_queue_triggerC | Get one trigger of a queue. |
| create_queue_triggerB | Create a queue trigger. actions: Transition/Update/CreateComment/Webhook/CalculateFormula/… objects; conditions: field/event checks, single object {"type": "Or"|"And", "conditions": […]}. |
| update_queue_triggerC | Edit a trigger: name, actions, conditions, position (version = trigger version). |
| get_queue_trigger_logsB | Webhook-action execution logs of a trigger (optionally for one issue, time range). |
| get_queue_macroC | Get one macro of a queue. |
| create_queue_macroB | Create a queue macro: comment body and/or issue field updates applied on run. |
| update_queue_macroB | Edit a queue macro: name, comment body, issue updates. |
| delete_queue_macroD | Delete a queue macro. |
| create_boardB | Create a new task board (via the liveBoards API; the legacy POST /boards ignores body parameters). Columns map board columns to issue status keys. |
| get_boardsB | List all issue boards of the organization. |
| get_boardB | Get board parameters by id, including its columns. |
| get_board_columnsC | List columns of a board. |
| get_board_sprintsA | List sprints of a board (agile boards only). |
| get_boards_paginateA | List boards with relative pagination (for more than one page): pass the last board id as "id" to get the next page. Max 500 per page. |
| update_boardB | Update a board: name, backlog/sprints toggles, columns (with status mapping). Board owner cannot be changed via API. |
| delete_boardC | Delete a board by id. |
| get_board_columnC | Get parameters of one board column. |
| create_board_columnA | Create a column on a board. version = current board version (If-Match lock; get it from get_board). |
| update_board_columnB | Rename a board column or change its statuses (version = board version). |
| delete_board_columnB | Delete a board column (version = board version). |
| get_sprintC | Get sprint parameters by id. |
| create_sprintA | Create a sprint on a board (the board must have sprints enabled). |
| update_sprintB | Rename a sprint, change dates or status (version = sprint version, If-Match lock). |
| start_sprintB | Start a sprint (moves to in_progress; version = sprint version). |
| archive_sprintB | Archive a finished sprint (version = sprint version). |
| delete_sprintC | Delete a sprint by id. |
| create_dashboardC | Create a new dashboard. |
| create_cycle_time_widgetA | Add a "Cycle time" chart widget to an existing dashboard. Issue source priority: filterId > query > filter. |
| get_projectsB | List all projects of the organization. |
| get_projectC | Get project parameters by id. |
| create_projectC | Create a project. |
| update_projectC | Update project parameters. |
| get_project_queuesB | List queues whose issues are included in a project. |
| delete_projectA | Delete a project by id. Issues are not deleted. |
| search_entitiesA | Search projects, portfolios or goals. Filter by name substring, field values or sort the result. Use entityType "goal" for OKR goals, "portfolio" for project portfolios. |
| get_entityA | Get a project, portfolio or goal by id (use search_entities to find ids). |
| create_entityC | Create a project, portfolio or goal. |
| update_entityC | Update a project, portfolio or goal by id. |
| delete_entityB | Delete a project, portfolio or goal by id. |
| add_entity_commentB | Add a comment to a project, portfolio or goal. |
| get_entity_commentsC | List comments of a project, portfolio or goal. |
| get_entity_commentC | Get one comment of a project, portfolio or goal. |
| update_entity_commentC | Edit a comment of a project, portfolio or goal. |
| delete_entity_commentC | Delete a comment of a project, portfolio or goal. |
| add_entity_checklist_itemsC | Create a checklist or append items to a project/portfolio checklist. |
| update_entity_checklistA | Bulk-edit ALL checklist items of a project/portfolio (item count cannot change; omitted optional fields are reset). |
| update_entity_checklist_itemC | Edit a single checklist item of a project/portfolio. |
| move_entity_checklist_itemC | Move a checklist item of a project/portfolio before another item. |
| delete_entity_checklistB | Delete all checklist items of a project/portfolio. |
| delete_entity_checklist_itemC | Delete one checklist item of a project/portfolio. |
| list_entity_attachmentsC | List files attached to a project, portfolio or goal. |
| get_entity_attachmentB | Get metadata of one file attached to a project, portfolio or goal. |
| add_entity_attachmentA | Attach a temporary file (from upload_temp_attachment) to a project, portfolio or goal. |
| delete_entity_attachmentB | Delete a file from a project, portfolio or goal. |
| create_entity_linkB | Link a project/portfolio/goal to other entities. Relationships: projects/portfolios "depends on", "is dependent by", "works towards" (→ goal); goals "parent entity", "child entity", "is supported by" (← project). |
| get_entity_linksC | List entity links of a project, portfolio or goal. |
| delete_entity_linkB | Unlink an entity from another entity (by the linked entity id). |
| get_entity_eventsB | Event history of a project, portfolio or goal (relative pagination: pass the last event id as "from" or focus with "selected"). |
| bulk_update_entitiesC | Bulk update projects, portfolios or goals: fields, comment and links at once. |
| get_entity_accessB | Get extended access settings of an entity, including inheritance sources. |
| update_entity_accessA | Update extended access settings: enable/disable inheritance (permissionSources) and/or grant/revoke acl. Disable inheritance first — acl changes are rejected while inherited. |
| get_entity_permissionsB | Get direct access permissions (READ/GRANT/WRITE) of an entity. |
| update_entity_permissionsC | Grant/revoke direct permissions on an entity. roles: AUTHOR|OWNER|CLIENT|FOLLOWER|MEMBER. |
| get_current_userA | Get info about the current user (the token owner). Good for connectivity checks. |
| get_userC | Get user info by login or uid. |
| get_usersA | List users of the organization (up to 10 000 — use get_users_relative beyond). Filter by email or group. |
| get_users_relativeA | List users with relative pagination (works beyond the 10 000-user limit of get_users). Pass the last user uid as "id" to get the next page. |
| get_issue_typesA | List all issue types (task, bug, epic, ...) available in the organization. |
| get_statusesB | List all issue statuses. |
| get_prioritiesB | List all issue priorities. |
| get_resolutionsB | List all issue resolutions. |
| get_issue_fieldsA | List all global issue fields (standard and custom) with their types and options — useful to discover field ids for filters, create and edit operations. |
| get_link_typesA | List issue link types (relates, depends, subtask, duplicates, epic, clone) with their inward/outward names. Undocumented but live endpoint GET /v3/linktypes. |
| create_issue_typeB | Create a new issue type (admin). |
| update_issue_typeB | Rename an issue type (admin). version locks edits to that version. |
| create_statusB | Create an issue status (admin). |
| update_statusC | Edit an issue status: name, description, order, category (admin). |
| create_resolutionC | Create a resolution (admin). |
| update_resolutionB | Edit a resolution: name, description, order (admin). |
| create_priorityC | Create a priority (admin). |
| update_priorityB | Edit a priority: name, description (admin). The icon cannot be changed. |
| get_issue_fieldA | Get parameters of a single global issue field by its key (e.g. "tags", "priority"). |
| create_issue_fieldC | Create a global issue field (admin). type is a class name like "ru.yandex.startrek.core.fields.StringFieldType" (also Date, DateTime, Text, Float, Integer, User, Uri, Money, TimeTrackingDuration, StringFieldType with container=true). |
| update_issue_fieldA | Rename a global issue field and/or update its dropdown values, category, order, visibility (admin). Optimistic locking: pass the current field version. |
| create_issue_field_categoryC | Create an issue field category (admin). |
| update_issue_field_categoryC | Rename an issue field category, change its order (admin). |
| get_external_applicationsA | List external applications available for issue external links. |
| get_external_linksA | List external application links of an issue. |
| create_external_linkA | Link an issue to an object in an external application (e.g. Jira via a connector). Use relationship "RELATES" unless the app docs say otherwise. |
| delete_external_linkC | Delete an external application link of an issue. |
| create_filterC | Create a saved filter for issue lists. |
| get_filterB | Get saved filter parameters by id. |
| update_filterA | Update a saved filter. "filter"/"query" fully replace the previous conditions. |
| delete_filterC | Delete a saved filter (uses the v2 API path per official docs). |
| create_issue_reportA | Create a saved issue-list report (used by dashboard "issue list" widgets). Pick exactly one issue source inside parameters.filter: query | filter | filterId. |
| find_issue_reportsA | Search saved issue reports (filter by id/shortId/author). |
| get_search_suggestA | Autocomplete suggestions for issue summaries — use when the user references an issue by an imprecise name. Returns matching issues with keys. |
| create_workflowB | Create a workflow (admin): statuses/steps plus transitions. Omit "queue" to create a common workflow available to all queues. Attach issue types via issueTypeResolutions. |
| get_workflowsC | List all workflows of the organization. |
| get_queue_workflowsB | Get workflows of a queue: map workflow id → bound issue types. |
| get_workflowC | Get one workflow by id. |
| update_workflowA | Update a workflow (admin). Pass only the fields to change; version is required for optimistic locking (412 on conflict). |
| update_workflow_actionB | Update one transition action of a workflow step (admin): name, target status, screen, conditions. Version is the current workflow version. |
| delete_workflowB | Delete a workflow by id (admin). |
| create_gapsB | Create employee absences (vacation, illness, trip…). Admin rights required. |
| find_gapsA | Find absences of given users in a date range (admin). Pass the last user uid from the previous page to page through large organizations. |
| delete_gapsB | Delete absences by ids (admin). |
| import_issueA | MIGRATION (admin): create an issue with a custom author and creation date. Use only when migrating from another tracker. |
| import_issue_commentB | MIGRATION (admin): add a comment with a custom author and date. |
| import_issue_linkA | MIGRATION (admin): create an issue link with a custom author and date. Supports all relationship types plus "clone" and "original". |
| import_worklog_recordB | MIGRATION (admin): add a worklog record with a custom author and date. |
| import_issue_attachmentA | MIGRATION (admin): attach a local file with a custom author and date, to an issue or to one of its comments. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| standup | Что сделал, что делаю, блокеры — по моим задачам в Трекере |
| weekly-report | Отчёт за неделю по очереди или проекту |
| triage | Триаж новых задач очереди: приоритет, ответственный, статус |
| sprint-review | Ревизия спринта доски: сделано / не сделано / перенести |
| close-issue | Закрытие задачи: резолюция, worklog, комментарий, чеклист |
| create-issue | Создание задачи: очередь, тип, обязательные поля, уникальность |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| catalog-statuses | Справочник организации: Статусы задач |
| catalog-priorities | Справочник организации: Приоритеты задач |
| catalog-types | Справочник организации: Типы задач |
| catalog-resolutions | Справочник организации: Резолюции задач |
| catalog-linktypes | Справочник организации: Типы связей задач |
| myself | Профиль текущего пользователя Трекера |
TDQS
Scored across 187 tools
Multiple tool pairs have unclear boundaries, especially issue-vs-entity duplicates (add_comment/add_entity_comment, get_issue_attachments/list_entity_attachments), pagination variants (get_boards/get_boards_paginate, get_users/get_users_relative), field scopes (get_issue_fields/get_queue_fields/get_queue_local_fields), access-vs-permission tools (get_entity_access/get_entity_permissions, update_entity_access/update_entity_permissions), and attachment upload routes (upload_temp_attachment vs upload_issue_attachment). Descriptions help somewhat, but with 187 tools an agent will likely misselect among these closely related options.
Names are consistently snake_case and mostly verb-first (get_, create_, update_, delete_), but the set mixes synonymous verbs: get_ vs list_, create_ vs add_, and update_ vs edit_. These synonyms are semantic and readable, yet they break strict predictability across otherwise similar operations.
187 tools is far beyond the 50+ threshold for extreme mismatch and creates enormous context and selection overhead for an agent. Even though the domain is broad, the surface should be consolidated or grouped to be practically usable.
Core issue, board, project, entity, comment, attachment, link, and workflow operations are well covered, but notable lifecycle gaps remain: no delete_issue, no update_queue, no delete for triggers/autoactions, no delete for statuses/priorities/resolutions/issue types, and incomplete dashboard/report management. These gaps will create dead ends for common administrative workflows.