MCP server for integrating with YouTrack issue tracking system
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation, output schema clarity, and error handling guidance. get_issues lacks parameter constraints and output schema documentation. create_issue has 5 parameters but no enum constraints, format specifications, or validation rules. Neither tool documents what fields are returned or how to chain results. Error responses are generic text blobs rather than structured guidance. No pagination support despite API returning up to 100 items. Descriptions are adequate (50-60 chars) but lack WHEN/WHY context. No tool annotations (readOnlyHint/destructiveHint) despite clear risk differences.
Create a task in youtrack in a specific project
Get all the issues of a user
Output schemas not documented. get_issues returns JSON.stringify(issues) with no field documentation; create_issue returns success/error text. LLMs cannot plan downstream calls or extract structured data.
create_issue parameters lack format constraints and validation rules. dueDate accepts any string (no ISO 8601 format specified); estimation accepts any number (no min/max bounds). LLMs will pass invalid values.
Error responses are unstructured text without recovery guidance. 'User does not exist' and 'Project does not exist' do not suggest next steps (e.g., 'Try search_users() with partial name'). Agent cannot self-correct.
No tool annotations. create_issue is destructive (WRITE risk) but lacks destructiveHint. get_issues is read-only but lacks readOnlyHint. Agents cannot distinguish safe from risky operations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
No pagination support. get_issues hardcodes $top=100 but does not accept limit/offset parameters or return total count. Large result sets will blow context window.