mcp-jira-stdio
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NODE_ENV | No | Environment mode | |
| JIRA_EMAIL | Yes | Your Jira email | |
| JIRA_BASE_URL | Yes | Jira instance URL | |
| JIRA_API_TOKEN | Yes | Jira API token |
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
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| jira_get_visible_projectsB | Retrieves all projects accessible to the authenticated user. Returns project keys, names, descriptions, and basic metadata. |
| jira_get_issueA | Retrieve details for a specific Jira issue by key or URL. Use this when the user mentions an issue like "PAYWALL-943" or pastes a Jira link (e.g., https://your.atlassian.net/browse/PAYWALL-943). Returns status, assignee, priority, project, type, labels, components, timestamps, and description. |
| jira_search_issuesA | Search for Jira issues using JQL. Supports complex queries with pagination and field selection. Examples: "project = PROJECT AND status = Open", "assignee = currentUser()". For pagination, use nextPageToken from previous response. |
| jira_get_my_issuesA | Retrieves issues assigned to current user, sorted by most recently updated first. Supports pagination and field selection. For pagination, use nextPageToken from previous response. |
| jira_get_issue_typesA | Retrieves available issue types. Can get global issue types or project-specific issue types including regular issues and subtasks (Bug, Story, Task, Epic, etc.). |
| jira_get_usersA | Search for users by name, email, username, or account ID. Returns display name, email, account status, and account type. Supports pagination. |
| jira_get_prioritiesA | Retrieves available priorities (e.g., Highest, High, Medium, Low, Lowest). Returns IDs, names, and descriptions. |
| jira_get_statusesA | Retrieves available statuses (global or project-specific, e.g., To Do, In Progress, Done). Returns status categories and workflow information. |
| jira_get_project_infoA | Retrieves detailed information about a project (components, versions, issue types, roles, insights). More comprehensive than the basic project list. |
| jira_get_create_metaA | Retrieves create metadata for a project, showing all available fields (including custom fields) for creating issues. Shows required vs optional fields, field types, and allowed values. Use this before creating issues to discover what fields are needed. |
| jira_get_custom_fieldsA | Retrieves all custom fields available in Jira. Shows custom field names, IDs (e.g., customfield_10071), and types. Useful for discovering what custom fields exist and their identifiers. |
| jira_get_commentsA | Retrieves all comments for a Jira issue. Returns comment author, content, timestamps, and visibility settings. Supports pagination for issues with many comments. |
| jira_get_attachmentsA | Lists all attachments on a Jira issue. Returns attachment metadata including filename, size, MIME type, author, and download URL. |
| jira_get_transitionsA | Retrieves all available workflow transitions for a Jira issue. Use this to discover which status changes are possible for an issue before calling jira_transition_issue. |
| jira_create_issueA | Creates a new Jira issue in the specified project. Supports setting issue type, priority, assignee, labels, components, and custom fields. Description format is controlled by the "format" parameter (default: markdown). For required custom fields, supply them via customFields (e.g., { "customfield_12345": { id: "..." } }). Returns the created issue with all details. |
| jira_update_issueA | Updates an existing Jira issue by its key. Supports updating summary, description, priority, assignee, labels, and components. Description format is controlled by the "format" parameter (default: markdown). Only specified fields will be updated. |
| jira_add_commentA | Adds a comment to an issue. Supports visibility restrictions for groups or roles. Comment format is controlled by the "format" parameter (default: markdown). Returns the created comment with author details and timestamp. |
| jira_create_subtaskA | Creates a subtask under an existing parent issue. Automatically determines the correct project and subtask issue type. Supports setting priority, assignee, labels, and components. Description format is controlled by the "format" parameter (default: markdown). |
| jira_create_issue_linkA | Creates a link between two Jira issues. Supports common link types like "blocks", "relates", "duplicates", and "clones". Use this to establish relationships between issues. |
| jira_add_attachmentA | Uploads an attachment (image, document, etc.) to a Jira issue. EFFICIENT METHOD (recommended for large files):
DIRECT METHOD (for small files):
Returns attachment metadata including ID and download URL. To reference the image in a comment or description, use wiki markup: !filename.png! or !filename.png|thumbnail! |
| jira_transition_issueA | Transitions a Jira issue to a new workflow status (e.g., "To Do" -> "In Progress" -> "Done"). Use jira_get_transitions first to discover available transitions. Supports adding a comment and setting resolution during the transition. |
| jira_get_issue_graphA | Build a dependency/relationship graph starting from a seed issue. Returns a map of connected issues (parent/child hierarchy, blocks, relates to, duplicates, etc.) with nodes and edges, plus a Mermaid diagram for visualization. Use this to understand how issues are connected across epics, stories, and subtasks. |
| jira_delete_attachmentA | Deletes an attachment from Jira by its attachment ID. Use jira_get_attachments to find attachment IDs. |
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 23 tools
Each tool has a clearly distinct purpose, targeting different resources (projects, issues, comments, attachments, etc.) with specific actions (get, create, update, delete, search). There is no overlap; even similar tools like jira_get_visible_projects and jira_get_project_info serve different levels of detail.
All tools follow a consistent jira_verb_noun pattern in snake_case (e.g., jira_get_issue, jira_create_issue, jira_transition_issue). The verb is always a clear action, and the noun is the resource. No mixing of conventions.
With 23 tools, the count is slightly above the typical well-scoped range (3-15), but it is justified given the breadth of Jira operations covered. The tools are necessary for comprehensive Jira API interaction, and each adds unique functionality.
The toolset covers major CRUD operations (create, update, read, delete attachments) and workflow transitions. However, there is no tool to delete an issue or comment, which are notable gaps. Overall, it provides a solid foundation for Jira management.