Yandex Tracker MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TRACKER_TOKEN | Yes | OAuth token for Yandex Tracker | |
| TRACKER_ORG_ID | Yes | Organisation ID from Tracker administration | |
| TRACKER_BASE_URL | No | Base URL for Tracker API | https://api.tracker.yandex.net/v3 |
| TRACKER_ORG_HEADER | No | X-Org-ID or X-Cloud-Org-ID header | X-Org-ID |
| TRACKER_AUTH_SCHEME | No | Authentication scheme: OAuth or Bearer | OAuth |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_myselfA | Verifies API credentials and returns the current authenticated user's login, display name, and email. Call this first in any new session to confirm the connection is working before calling other tools. |
| list_issuesB | Lists Tracker issues with optional filters. Use this when the user asks to show, find, list, or check issues. Returns key, summary, status, assignee, priority, components, sprint, storyPoints. Always call this before update_issue or add_comment if you only have a description and not an issue key. |
| get_issueA | Gets full details of a single issue by key (e.g. BACK-42). Use when you need the complete picture: all fields, description, checklist, linked issues. Use list_issues first if you do not have the exact key. |
| search_issuesA | Searches issues using a raw Yandex Tracker Query Language (YQL) string. Use for complex filters that list_issues cannot express. Example query: 'Queue: BACK AND Status: Open AND Tags: backend'. Prefer list_issues for simple cases. |
| search_issues_scrollA | Scrollable issue search for very large result sets (10k+ matches). First call: pass query (YQL) and optional per_scroll (max 1000), scroll_type (sorted|unsorted), scroll_ttl_millis. Returns issues plus next_scroll_id — pass that id back with the SAME query on the next call until next_scroll_id is null. Do not use queue-only search body here; use a query or filter-style search per Tracker API scroll rules. |
| get_epic_treeA | Returns the full child hierarchy under an epic: stories, tasks, and subtasks nested under their parents. Use when the user wants to see the full breakdown of a feature or initiative. |
| list_queue_sprintsA | Lists all sprints for a queue ordered by start date, with status (active/upcoming/closed). Use this to find the current sprint ID or to resolve a sprint name the user mentioned. |
| list_componentsA | Lists all components in a queue. Use this to validate component names before creating or updating issues. Component names must match exactly. |
| create_issueA | Creates a new Tracker issue. Always confirm queue and summary before creating. Returns the new issue key so the user can reference it immediately. |
| update_issueA | Updates fields on an existing issue. Only changed fields need to be provided. Pass assignee as an empty string to clear assignee (sends null); some Cloud orgs or queues reject this and require an assignee. For status changes, use the transition flow: first GET /issues/{key}/transitions, then POST /issues/{key}/transitions/{id}/_execute. Do not attempt to set status directly as a field — it will fail silently. |
| add_commentB | Adds a comment to an issue. When posting on behalf of the agent, always begin the comment with '[AI Agent]:' so assignees know it is automated. |
| link_issuesA | Creates a typed link between two issues. Use to connect related work, mark blockers, or set parent-child relationships. |
| validate_issueA | Checks whether one issue satisfies the team's ticket convention defined in convention.json. Returns a list of missing fields and violations. Does NOT post a comment automatically — use add_comment separately after showing the user the violations first. |
| audit_queueA | Validates all open issues in a queue against convention.json and returns a violation report. Always run as dry_run=true first and show the user the results before posting any comments. Only set post_comments=true after the user explicitly confirms. Comment posts are throttled (~200ms between each, plus an extra ~200ms after every 10 posts) to reduce rate-limit risk. |
| list_checklist_itemsA | Lists all checklist items on an issue. Use get_issue with include_checklist or this tool to obtain item ids before update_checklist_item or delete_checklist_item. |
| add_checklist_itemA | Adds one checklist row to an issue. Only text is required; optional checked, assignee (login or id), and deadline (date ISO string + deadlineType, default date). |
| update_checklist_itemA | Updates one checklist item by its id (from list_checklist_items). The Tracker API requires the item text on each edit — if you omit text, the current text is loaded automatically. Pass checked/assignee/deadline only when changing them. |
| delete_checklist_itemB | Removes a single checklist item from an issue. Requires the checklist item id from list_checklist_items. |
| clear_issue_checklistA | Deletes the entire checklist on an issue (all items at once). Destructive — confirm with the user before calling. |
| get_miro_sync_mapA | Returns the Tracker↔Miro sync map from sync-map.json (board item IDs paired with issue keys). Use before two-way sync: find which issues already map to Miro widgets, or resolve a Miro item ID to a Tracker key. Combine with the Miro MCP server to read/update board content. Optional filters narrow the result. |
| update_miro_sync_mapA | Updates sync-map.json with new or changed Tracker↔Miro pairs after creating or matching board items. Writes are serialized so parallel tool calls cannot corrupt the file. Use mode 'upsert' (default) to merge by board_id + tracker_key; use 'replace_all' to set the full mapping list for one board (pass only entries for that board plus other boards' entries you want to keep — safer to read first with get_miro_sync_map). Prefer upsert when adding one pair at a time. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/DChuhin/tracker-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server