Model Context Protocol server for YouTrack. Create, update, link, comment, search, time-track, and close issues, plus projects, users, groups, and knowledge base articles, from Claude Code and other MCP clients.
YouTrack MCP demonstrates solid definition quality with 24 well-named tools covering issue management, projects, users, and knowledge base operations. All tools have descriptions (avg 150 chars) and input schemas with typed parameters. Naming follows verb_noun convention consistently (get_issue, create_issue, update_issue, etc.). However, several tools lack parameter descriptions for optional fields, and output schemas are not explicitly documented in the visible code. Error handling is structured via _error_payload() with normalized codes and retryable classification, but recovery guidance is minimal. Security is well-handled with token injection via environment variables and no secrets in parameters.
Add a comment to a YouTrack issue. Optionally attach files. Returns the comment ID, creation timestamp, and attachment metadata.
Close a YouTrack issue (set state to 'Done'). Returns the issue ID and new state.
Create a new YouTrack issue and immediately close it (set state to 'Done'). Useful for recording resolved problems. Returns the created issue ID and URL.
Create a new YouTrack knowledge base article. Returns the article ID, summary, URL, and creation timestamp.
Create a new YouTrack issue. Returns the created issue ID, summary, URL, and any applied custom fields or tags.
Download a file attached to a YouTrack issue. Returns the file content, MIME type, size, and SHA256 hash. For text files, includes a preview.
Tool 'create_and_close_issue' violates single-responsibility principle by combining two distinct operations (create + close). Should be split into separate tools or composed by the agent.
Output schemas not explicitly documented in visible code. While input schemas are present with types and descriptions, return types and field structures are not formally declared, forcing LLMs to infer output structure.
Error messages lack recovery guidance. _error_payload() returns normalized codes (NOT_FOUND, PERMISSION_DENIED, etc.) but does not suggest next steps (e.g., 'Try search_issues() with a partial query').
List tools (list_users, list_projects, list_articles, etc.) accept limit and offset but do not document maximum result caps or whether a total_count is returned, making pagination behavior unclear.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2025-06-18+ | v2 |
Search for a .youtrack.yml or .youtrack.yaml config file in the current directory or parent directories. Returns the file path, project root, and parsed config.
Fetch a YouTrack knowledge base article by ID. Returns summary, content, project, reporter, creation/update timestamps, parent and child articles, and URL.
Fetch a YouTrack issue by ID (e.g. IS-87). Returns full details: summary, description, state, assignee, reporter, tags, custom fields, comments, attachments, and links.
Fetch details of a YouTrack project: name, short name, description, leader, and archived status.
Get the custom fields defined for a YouTrack project. Returns field names, types, allowed values, and whether they can be empty.
Fetch details of a YouTrack user: login, full name, email, banned status, and online status.
Create a link between two YouTrack issues (e.g. 'relates to', 'duplicates', 'blocks'). Returns the link type and target issue ID.
List YouTrack knowledge base articles. Returns article IDs, summaries, and projects.
List YouTrack user groups. Returns group IDs, names, and user counts.
List comments on a YouTrack issue. Returns comment IDs, authors, timestamps, text, and attachment metadata.
List all YouTrack projects accessible to the authenticated user. Returns project IDs, names, and short names.
List saved searches in YouTrack. Returns search IDs, names, queries, and owners.
List YouTrack users. Returns user IDs, logins, full names, and email addresses.
Add or remove tags on a YouTrack issue. Returns the list of added and removed tags.
Search YouTrack issues by query (YouTrack QL syntax). Returns matching issues with summary, state, priority, tags, assignee, reporter, and URL.
Log time spent on a YouTrack issue. Returns the work item ID, duration, and work type.
Update a YouTrack knowledge base article: summary and/or content. Returns the article ID and update timestamp.
Update a YouTrack issue: summary, description, state, assignee, tags, custom fields, and/or apply YouTrack commands. Returns the updated issue and a list of applied changes.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) visible in schema definitions. Agents cannot distinguish safe reads from destructive writes without parsing descriptions.