Jira MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JIRA_BASE_URL | Yes | Your Jira instance base URL | |
| JIRA_API_TOKEN | Yes | Jira API token (Generate from https://id.atlassian.com/manage-profile/security/api-tokens) | |
| JIRA_USER_EMAIL | Yes | Your Jira account email | |
| JIRA_CURRENT_USER | No | Optional override current user for queries | currentuser() |
| JIRA_TEAM_MEMBERS | No | Optional comma-separated list of team member emails |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_my_issuesB | Get all issues currently assigned to the configured CURRENT_USER |
| add_commentB | Add a comment to a specified Jira issue |
| get_my_work_summaryA | Get a summary of issues the CURRENT_USER has worked on (updated, commented, or transitioned) within a date range |
| get_team_activityB | Get recent issue updates (status changes, comments, assignments) from TEAM_MEMBERS |
| search_issuesA | Search for issues using JQL (Jira Query Language). Use this to find issues by parent/epic, assignee, status, labels, or any other criteria. Example JQL: "parent=TSSE-206", "assignee=currentuser() AND status="In Progress"", "labels=Dec15-19" |
| get_issue_detailsB | Get full details of a specific Jira issue |
| get_project_componentsB | Get all available components for a Jira project |
| update_issue_fieldA | Update a custom field on a Jira issue. Supported fields: Decision Needed, Progress Update, Decision Maker(s), Risks/Blockers, Completion Percentage, Health Status. You can use either the field name or field ID. |
| update_progressA | Update the Progress Update field (customfield_15112) on a Jira issue. This field uses a structured template with three sections:
Options:
|
| create_issueB | Create a new issue in Jira. Supports standard fields (summary, description, assignee, priority, labels) and custom fields (Health Status, Completion Percentage, Progress Update, etc.) |
| get_sprint_tasksA | Retrieve Sprint tasks for the current week or next week. Sprint tasks are tagged with labels in the format MonDD-DD (e.g., Dec15-19 for December 15-19). Two query modes:
The tool automatically calculates the Monday-Friday date range and matches against the corresponding sprint label. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Most tools have distinct purposes, but there is some overlap between get_issue_details and search_issues, as both can retrieve issue information. The descriptions clarify that get_issue_details is for a specific issue, while search_issues uses JQL for broader queries, reducing confusion. Other tools like add_comment, create_issue, and update_progress are clearly differentiated.
All tool names follow a consistent verb_noun pattern using snake_case, such as add_comment, create_issue, and get_issue_details. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions across the 11 tools.
With 11 tools, the server is well-scoped for Jira operations, covering core workflows like issue management, commenting, searching, and project/sprint tracking. Each tool serves a specific purpose without redundancy, making the count appropriate for the domain.
The tool set provides comprehensive coverage for Jira interactions, including CRUD operations (create, read, update) and specialized functions like sprint management and team activity. Minor gaps exist, such as the lack of a delete_issue tool or direct issue transition capabilities, but agents can work around these using update_issue_field or search_issues.