Minimal, secure Jira MCP server. Project-level configuration via env vars.
Jira MCP has 19 well-named tools with complete input schemas and descriptions. Naming follows verb_noun convention (jira_search, jira_create_issue, jira_update_issue). All tools have descriptions (avg ~80 chars, within baseline 34-392). Input schemas are properly typed with required fields declared. However, parameter descriptions are sparse or missing context: 'assignee_id' lacks guidance on how to obtain an Atlassian account ID; 'status' in jira_transition lacks enum values or valid options; output schemas are undocumented (LLMs cannot predict response structure); error handling is generic ('Error: {type}: {e}') with no recovery guidance; no tool annotations (readOnlyHint, destructiveHint) despite clear risk levels (READ_ONLY, WRITE, DESTRUCTIVE). Composition is sound, each tool has one responsibility, and naming disambiguates similar operations (jira_list_comments vs jira_add_comment). Defaults are safe (max_results=20, priority='Medium'). Missing: parameter constraints (enums for status, priority, issue_type), output schema documentation, and actionable error messages.
Add a comment to a Jira issue (supports rich text)
Assign an issue to a user
Attach a file to a Jira issue
Create a new Jira issue
Delete an attachment from a Jira issue
Delete a comment from a Jira issue
Get full details of a Jira issue by key (e.g. PV-123)
Output schemas undocumented. LLMs cannot predict response structure (fields, types, pagination). Forces agents to guess what data is available after each call.
Parameter descriptions lack actionable constraints. 'status' in jira_transition has no enum or valid values; 'assignee_id' lacks guidance on obtaining Atlassian account ID; 'priority' and 'issue_type' lack valid options.
Error handling is generic and non-actionable. All errors return 'Error: {type}: {e}' with no recovery guidance. LLMs cannot determine if error is retryable, user-fixable, or fatal.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Get project details, issue types, and statuses
Get available status transitions for an issue
Create a link between two issues
List all attachments on a Jira issue
List all comments on a Jira issue
Search for users in the Jira instance
Log work/time on an issue
Get issues assigned to me or created by me
Search issues using JQL (Jira Query Language)
Get issues in the active sprint
Transition an issue to a new status (e.g. In Progress, Done)
Update fields on an existing issue
Tool annotations missing. 19 tools have explicit risk levels (READ_ONLY, WRITE, DESTRUCTIVE) but no readOnlyHint, destructiveHint, or idempotentHint in schema. Agents cannot infer safety properties.
No pagination or result limits documented. jira_search accepts max_results but no offset/cursor; jira_list_comments, jira_list_attachments, jira_list_users lack pagination entirely. Large result sets risk context window exhaustion.