Unofficial MCP server for Yandex Tracker, built for Claude. Not affiliated with Anthropic or Yandex.
Server has solid naming conventions (verb_noun pattern across all 9 tools) and complete input schemas with type definitions. Descriptions are present but inconsistent in depth, some are terse (e.g., 'Build the web URL for an issue key. No API call.' is 47 chars, below the 50-char baseline for clarity). Parameter descriptions are sparse: 'key' appears in 6 tools with minimal context; 'fields' lacks guidance on valid field names or defaults. Output schemas are not documented, LLMs cannot predict response structure. Error handling is minimal (generic catch-all in server.ts). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear read/write distinction in code. Security is reasonable (no secrets in params, guards for queue access), but no audit logging or rate limiting.
Add a comment to an issue. Applies config.commentTemplate if set.
Create an issue. Uses config.defaultQueue if queue is omitted.
Get a Yandex Tracker issue by key. Returns a compact projection; pass fields:['*'] for the full payload.
Build the web URL for an issue key. No API call.
List comments on an issue.
List available status transitions for an issue.
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination). Rubric requires 100% of A+ tools to have documented return types.
Parameter descriptions are minimal or missing context. 'key' appears in 6 tools with no guidance on format (e.g., 'ABC-1'). 'fields' parameter lacks explanation of valid field names or defaults. Rubric requires descriptions to state expected format and allowed values.
Tool annotations missing. Code distinguishes read-only vs write tools (t.write flag), but MCP tool definitions lack readOnlyHint/destructiveHint/idempotentHint. Agents cannot infer safety/retry semantics.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Move an issue to another status. 'to' may be a transition id, a status name, or a config alias.
List my open issues (assignee = me, unresolved).
Search issues with a Yandex Tracker Query Language string. Returns compact projected rows.
Error handling is generic. server.ts catches all errors and returns (e as Error).message. No guidance on retryability, user-fixable vs fatal, or recovery steps. Rubric requires error responses to tell LLM what to do next.
No pagination or result limits documented. search_issues and list_comments may return unbounded results. Rubric requires cap at 20-50 items and pagination support to prevent context window exhaustion.