Jira
Interact with Jira to manage issues, projects, and workflows using the Jira Cloud Platform REST API.
Jira MCP (Model Context Protocol)
Overview
This Model Context Protocol (MCP) server enables Large Language Models (LLMs) to interact with Jira through a standardized API. It allows AI assistants to perform common Jira operations without requiring direct API integration, making it easier to build AI-powered tools that work with your Jira instance.
Features
- Jira Platform API Integration: Comprehensive access to Jira Cloud Platform REST API
- Jira Software API Integration: Work with Jira Software features like boards, sprints, and epics
- MCP Protocol Support: Standardized interface for AI assistants and automation tools
- Authentication: Basic auth support using Atlassian PAT (Personal Access Token)
Supported MCP tools
The MCP server supports the following Jira operations:
Agile & Board Tools
get_all_agile_boards: Retrieve all available agile boardsget_epics_from_board: Get all epics associated with a specific boardget_issues_from_board: Get all issues from a specified boardget_issues_from_epic: Retrieve all issues associated with a specific epicget_issues_from_sprint: Get all issues from a specified sprintget_sprints_from_board: Retrieve all sprints associated with a boardmove_issues_to_epic: Move specified issues under an epic
Issue Operations
add_jira_comment: Add a comment to a Jira issuecreate_issue: Create a new Jira issuedelete_issue: Delete an existing Jira issueget_issue: Retrieve details of a specific issueget_issue_fields: Get all available fields for issuesget_issue_transitions: Get possible status transitions for an issueget_project_versions: Get all versions in a project with pagination supportsearch_issue_by_jql: Search for issues using JQL (Jira Query Language)transition_jira_issue: Change the status of an issueupdate_issue: Update the details of an existing issueadd_jira_attachments: add attachments to an existing issue
User Operations
search_user: Find Jira users based on search criteriaget_myself_info: Get information about the authenticated user
How to use this image
MCP SSE
Simple usage
docker run -d --name jira-mcp \
-p 8080:8080 \
-e atlassian.url=https://your-company.atlassian.net \
-e atlassian.username=your-jira-email \
-e atlassian.pat=your-jira-pat \
guang1/jira-mcp:latest
Using an Environment File
Create a configuration file (e.g., atlassian.config):
atlassian.url=https://your-company.atlassian.net
atlassian.username=your-jira-email
atlassian.pat=your-jira-pat
Then run:
docker run -d --name jira-mcp \
-p 8080:8080 \
--env-file atlassian.config \
guang1/jira-mcp:latest
Docker Compose for SSE
Basic Example
services:
jira:
container_name: jira-mcp
image: guang1/jira-mcp
environment:
- atlassian.url=https://your-company.atlassian.net
- atlassian.username=your-jira-email
- atlassian.pat=your-jira-pat
ports:
- "8080:8080"
restart: always
With Environment File
services:
jira:
container_name: jira-mcp
image: guang1/jira-mcp
env_file:
- jira.config
ports:
- "8080:8080"
restart: always
MCP SSE URL
http://localhost:8080/mcp/sse
MCP STDIO
Must pass quarkus.mcp.server.stdio.enabled=true, quarkus.log.console.enable=false and quarkus.log.console.stderr=false environment variables with -i interactive option.
Simple usage
docker run --rm \
-e atlassian.url=https://your-company.atlassian.net \
-e atlassian.username=your-jira-email \
-e atlassian.pat=your-jira-pat \
-e quarkus.mcp.server.stdio.enabled=true \
-e quarkus.log.console.enable=false \
-e quarkus.log.console.stderr=false \
-i guang1/jira-mcp:latest
Using an Environment File
docker run --rm --env-file=atlassian.config \
-e quarkus.mcp.server.stdio.enabled=true \
-e quarkus.log.console.enable=false \
-e quarkus.log.console.stderr=false \
-i guang1/jira-mcp:latest
Claude Desktop Configuration (STDIO)
To use the Docker version with Claude Desktop, add this to your claude_desktop_config.json or server_config.json file:
Simple usage
{
"mcpServers": {
"jira": {
"command": "docker",
"args": [
"run",
"--rm",
"-e",
"atlassian.url=https://your-company.atlassian.net",
"-e",
"atlassian.username=your-jira-email",
"-e",
"atlassian.pat=your-jira-pat",
"-e",
"quarkus.log.console.enable=false",
"-e",
"quarkus.log.console.stderr=false",
"-i",
"guang1/jira-mcp:latest"
]
}
}
}
Using an Environment File
{
"mcpServers": {
"jira": {
"command": "docker",
"args": [
"run",
"--rm",
"--env-file=atlassian.conf",
"-e",
"quarkus.mcp.server.stdio.enabled=true",
"-e",
"quarkus.log.console.enable=false",
"-e",
"quarkus.log.console.stderr=false",
"-i",
"guang1/jira-mcp:latest"
]
}
}
}
Configuration
Environment Variables
| Variable | Description | Required |
|---|---|---|
atlassian.url | atlassian instance URL (e.g., https://your-company.atlassian.net) | Yes |
atlassian.username | atlassian account email address | Yes |
atlassian.pat | atlassian Personal Access Token (API Token) | Yes |
Creating a Jira API Token
To generate a Personal Access Token for Jira:
- Go to https://id.atlassian.com/manage-profile/security/api-tokens
- Click "Create API token"
- Give your token a name (e.g., "MCP Server")
- Copy the generated token for use with this MCP server
Security Considerations
⚠️ Warning: This MCP server requires authentication credentials with access to your Jira instance. Consider the following security practices:
- Create a dedicated Jira service account with appropriate permissions
- Regularly rotate your API token
- Run the container in a secure, isolated environment
- Use network security rules to restrict access to the MCP server
- Be cautious about which operations you allow LLMs to perform
Example Use Cases
Example Use Cases
-
Set a Default Ticket Prefix
Define a default ticket prefix in your rules (e.g.,MyProj-). This allows you to reference tickets in chat by number only (e.g.,1234instead ofMyProj-1234). -
Configure Personal Jira Account ID
Specify your Jira account ID in the rules to avoid repeated API calls (such asget_myself_info) for every operation. -
Customize Jira Fields
Set custom fields (e.g., story points, developer, etc.) in your rules to prevent the AI from callingget_issue_fieldseach time. -
Automate Issue Management
Create and update Jira issues automatically based on natural language requests. -
Generate Reports and Summaries
Produce Jira reports and summaries on demand. -
Sprint Planning and Epic Management
Assist with sprint planning and epic management tasks. -
Conversational Jira Interaction
Enable team members to interact with Jira using natural, conversational language.
Troubleshooting
If you encounter issues:
- Verify your API token has the required permissions
- Check that your atlassian URL is correct and accessible
- Ensure your atlassian username (email) is correct
- Check container logs for detailed error information
License
This project is licensed under the MIT License - see the LICENSE file for details.
Related Servers
macOS Defaults
Read and write macOS user defaults and settings.
Todoist MCP
Interact with your Todoist tasks and projects using your LLM.
MCP Easy Copy
Easily discover and copy available MCP services within Claude Desktop.
Apple Books
Access and manage your library on Apple Books.
TaskFlow
An MCP server for integrating task management capabilities into Claude Desktop.
EmoVideoAna
analytics emotion of video
@mcp-z/mcp-pdf
Create PDFs without leaving your workflow. Perfect for documentation, reports, and creative projects. Productive PDF generation with full Unicode and emoji support.
WSLSnapit-MCP
Capture screenshots and read the clipboard on Windows from within a WSL environment.
Splid MCP
A Model Context Protocol (MCP) server that exposes Splid (splid.app) via tools, powered by the reverse‑engineered splid-js client.
Nexs MCP
NEXS MCP Server is a high-performance implementation of the Model Context Protocol, designed to manage AI elements with enterprise-grade architecture. Built with the official MCP Go SDK v1.1.0, it provides a robust foundation for AI system management.