MCP server for Jira - Fixed for 2025 API deprecations. Search issues, manage tickets, and automate workflows through the Model Context Protocol.
17 tools with consistent naming (verb_noun pattern) and complete input schemas. Descriptions present but generic, most lack context on WHEN to use the tool or what happens on failure. Parameter descriptions are minimal (avg ~40 chars vs baseline 72). No output schemas documented. Error handling absent, tools return raw API responses without recovery guidance. Missing tool annotations (readOnlyHint, destructiveHint). Batch operations (add-labels, link-issues, update-issues, transition-issues, assign-issue) are well-designed but lack per-item success/failure reporting.
Add a comment to a specific ticket
Add labels to multiple issues without replacing existing ones
Assign an issue to a user by their display name.
Create a sub-ticket (child issue) for a parent ticket
Create a new ticket (regular issue or sub-task) with optional custom fields
Get detailed information about a specific ticket
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., issue IDs for chaining). Baseline: 100% of A+ tools document return types.
Descriptions lack context on WHEN to use each tool and what happens on failure. Most are 30-80 chars (baseline 194 chars). E.g., 'Link multiple tickets using the relates to relationship' does not explain when to call this vs other linking patterns or what errors mean.
No error handling or recovery guidance. Tools return raw API errors without actionable next steps. E.g., 'Invalid transition ID' does not suggest calling list-issue-transitions first.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Link multiple tickets using the 'relates to' relationship. Provide inwardIssueKeys and outwardIssueKeys lists to create links in both directions.
Get all child issues of a parent ticket
List all available issue fields in Jira, including custom fields
List available transitions for a specific issue.
List all Jira filters.
Get all tickets in the active sprint
List all users in Jira with their account ID, email, and display name
Search for issues with optional filters for project, issue type, and status category, or using a custom JQL query
Transition multiple issues to a new status using a transition ID
Update the description of a specific ticket
Update multiple issues with specified fields
Batch operations (add-labels, link-issues, update-issues, transition-issues, assign-issue) lack per-item success/failure reporting. If one issue fails, the LLM cannot determine which succeeded and which need retry.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes or know which tools are safe to retry.