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.
Máy chủ liên quan
Standard Metrics MCP Server
Connects to the Standard Metrics API to enable AI-powered analysis of venture capital portfolio data.
Affinity Designer
Automate Affinity Designer tasks like document manipulation, layer management, and exports using AI.
Trello
Integrates with Trello to manage projects, boards, and cards, using Nango for authentication.
ZenHub
Access the ZenHub GraphQL API to manage project workflows and enhance productivity.
Computer Control MCP
Control your computer's mouse, keyboard, and perform OCR using PyAutoGUI and RapidOCR. Works on Windows, with potential support for other platforms.
Geomanic
Privacy-first GPS tracking companion. Query travel statistics, manage waypoints, track countries visited, and analyze distances and speeds through natural language. Free, GDPR compliant.
itemit-mcp
An MCP server for asset tracking that connects to the itemit asset management API.
Gmail MCP Server
An MCP server for interacting with Gmail and Google Calendar, enabling context-aware email and event management.
Follow Up Boss MCP Server
157-tool MCP server for Follow Up Boss CRM covering contacts, deals, pipeline, tasks, emails, smart lists, action plans, and webhooks.
Canvas LMS
MCP server for easy access to education data through your Canvas LMS instance.