MCP server for Jira Cloud: JQL search, issue reads and gated writes, comments, worklogs, boards and sprints. API-token auth, plan/apply write safety, read-only by default, no telemetry.
Server has 26 tools with consistent naming (verb_noun pattern: jira_search, jira_create_issue, etc.) and all tools have descriptions. However, parameter descriptions are minimal or missing for many tools. Input schemas are visible for most tools but lack detail on constraints, ranges, and formats. Output schemas are not documented. Error handling exists but lacks recovery guidance. Tool composition is sound (single responsibility per tool), but descriptions average ~60 chars, below the 194-char baseline for A+ tools. No examples of enum constraints or format specifications in parameter descriptions.
Add a comment to an issue.
Log work time on an issue.
Assign an issue to a user.
Describe the Jira server and the tools available to this session.
Close a sprint.
Create a new issue.
Delete an attachment from an issue.
Delete a comment from an issue.
Output schemas not documented. Tools return data but LLMs cannot predict field structure for downstream chaining. jira_search, jira_read_issue, jira_get_projects, and others lack documented return types.
Update and delete tools (jira_update_issue, jira_update_comment, jira_update_worklog) have incomplete input schemas. Only 'issue' and 'commentId'/'worklogId' are documented; actual fields to update are not specified in the schema.
Parameter descriptions lack format constraints and ranges. 'timeSpent' in jira_add_worklog has no format spec (e.g., '2h 30m' vs '150m'). 'maxResults' in jira_search has no bounds (1 - 100? 1 - 1000?). LLMs will guess and pass invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2025-06-18+ | v2 |
Delete an issue.
Delete a worklog entry.
Download an attachment from an issue.
List Agile boards.
List available fields.
List issue types for a project.
List projects.
List sprints on a board.
Search for users.
Link two issues together.
Move an issue to a sprint.
Read a single issue by key.
Search for issues using JQL (Jira Query Language).
Transition an issue to a different status.
Update a comment on an issue.
Update an issue's fields.
Update a worklog entry.
Upload a file as an attachment to an issue.
Error handling exists but lacks recovery guidance. errorReporting=true but no evidence of actionable error messages (e.g., 'User not found. Try jira_get_users() first'). Errors should guide the LLM to the next step.
Destructive tools (jira_delete_issue, jira_delete_comment, jira_delete_worklog, jira_delete_attachment) lack confirmation or dry-run support. Agents can delete data without a safety gate.