Jira MCP Server
A comprehensive MCP server for Atlassian Jira that enables AI assistants to manage issues, sprints, comments, and worklogs through natural language.
README
Jira MCP Server
A comprehensive Python-based MCP (Model Context Protocol) server for Atlassian Jira that enables AI assistants like Claude to interact with Jira seamlessly. This enterprise-grade solution provides full-featured Jira integration with robust error handling, multiple deployment modes, and extensive tool coverage.
Features
Core Issue Management
- Get detailed issue information with customizable fields and expansions
- Create new issues with full field support and validation
- Create child issues (subtasks) with automatic parent linking
- Update existing issues with partial field updates and conflict resolution
- Search issues using powerful JQL (Jira Query Language) with result formatting
- List available issue types for any project with metadata
- Transition issues through workflow states with validation
Advanced Issue Operations
- Move issues to sprints (bulk operations up to 50 issues)
- Link issues with relationship types (blocks, duplicates, relates to, etc.)
- Get related issues and their complete relationship graph
- Retrieve issue history and detailed change logs
- Track workflow transitions and state changes
Comments & Time Tracking
- Add comments to issues with rich text formatting
- Retrieve all comments from issues with threading support
- Add worklogs with flexible time tracking and custom start times
- Time format support (3h, 30m, 1h 30m, 2d 4h, etc.)
- Worklog management with automatic time calculations
Sprint & Project Management
- List all sprints for boards or projects with status filtering
- Get active sprint information with issue details
- Get detailed sprint information by ID with metrics
- List project statuses and available transitions
- Get boards with project associations and permissions
- Sprint analytics and progress tracking
Enterprise Features
- Async/await architecture for high-performance operations
- Comprehensive error handling with detailed debugging information
- Stdio mode deployment optimized for MCP clients
- Docker containerization with security best practices
- Environment-based configuration with validation
- Rich response formatting optimized for AI consumption
- Type safety with Pydantic models and validation
- Bulk operations with progress tracking and error recovery
Installation
Prerequisites
- Python 3.11 or higher
- Atlassian account with Jira access
- API token from Atlassian
Option 1: Using pip (Recommended)
# Clone the repository
git clone https://github.com/Devparihar5/Jira-MCP-Server.git
cd Jira-MCP-Server
# Create virtual environment
python -m .venv venv
source .venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
Option 2: Using Docker
# Build the image
docker build -t jira-mcp-python .
# Run with environment variables
docker run --rm -i \
-e ATLASSIAN_HOST=https://your-company.atlassian.net \
-e ATLASSIAN_EMAIL=your-email@company.com \
-e ATLASSIAN_TOKEN=your-api-token \
jira-mcp-python
Configuration
Environment Variables
Create a .env file (copy from .env.example):
ATLASSIAN_HOST=https://your-company.atlassian.net
ATLASSIAN_EMAIL=your-email@company.com
ATLASSIAN_TOKEN=your-api-token
Getting Your API Token
- Go to Atlassian API Tokens
- Click "Create API token"
- Give it a name like "Jira MCP Python"
- Copy the token (you won't see it again!)
Usage
Stdio Mode (Default)
python main.py --env .env
HTTP Server Mode
# Start HTTP server on default port 8000
python main.py --http --env .env
# Start HTTP server on custom port
python main.py --http --port 3000 --env .env
Configuration
Cursor Configuration
For Stdio Mode:
{
"mcpServers": {
"jira": {
"command": "python",
"args": ["/path/to/python-jira-mcp/main.py", "--env", "/path/to/.env"],
"cwd": "/path/to/python-jira-mcp"
}
}
}
For HTTP Server Mode:
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-everything", "http://localhost:8000/sse"]
}
}
}
For Docker (Stdio Mode):
{
"mcpServers": {
"jira": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "ATLASSIAN_HOST=https://your-company.atlassian.net",
"-e", "ATLASSIAN_EMAIL=your-email@company.com",
"-e", "ATLASSIAN_TOKEN=your-api-token",
"jira-mcp-python"
]
}
}
}
For Docker (HTTP Mode):
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-everything", "http://localhost:8000/sse"]
}
}
}
Available Tools
The Python implementation provides 19 comprehensive tools for complete Jira integration:
Issue Management Tools
get_issue- Get detailed issue information with customizable fieldscreate_issue- Create a new issue with full field supportcreate_child_issue- Create a subtask with automatic parent linkingupdate_issue- Update issue fields with conflict resolutionlist_issue_types- List available issue types for projectstransition_issue- Transition issue through workflow states
Search & Query Tools
search_issues- Search issues with JQL and advanced filtering
Sprint Management Tools
list_sprints- List sprints for boards/projects with status filteringget_sprint- Get detailed sprint information by IDget_active_sprint- Get currently active sprint with metricsmove_issues_to_sprint- Move multiple issues to sprint (bulk operations)
Project & Status Tools
list_project_statuses- List available statuses and transitionsget_boards- Get boards with project associations
Comment & Time Tracking Tools
add_comment- Add comments with rich text formattingget_comments- Get all comments with threading supportadd_worklog- Log time with flexible format support
Relationship & History Tools
link_issues- Link issues with relationship typesget_related_issues- Get complete relationship graphget_issue_history- Get detailed change history and transitions
Usage Examples
Once configured, you can ask Claude to help with Jira tasks:
Issue Management
- "Create a new bug ticket for the login issue"
- "Show me details for ticket PROJ-123"
- "Move ticket PROJ-456 to In Progress"
- "Add a comment to PROJ-789 saying the fix is ready"
Sprint Management
- "What's in our current sprint?"
- "Move these 3 tickets to the next sprint: PROJ-1, PROJ-2, PROJ-3"
- "Show me all tickets assigned to John in the current sprint"
Reporting & Analysis
- "Show me all bugs created this week"
- "List all tickets that are blocked"
- "What tickets are ready for testing?"
Development
Project Structure
jira-mcp/
├── main.py # Entry point with stdio/HTTP modes
├── requirements.txt # Dependencies
├── .env.example # Environment template
├── Dockerfile # Docker containerization
├── services/
│ ├── __init__.py
│ └── jira_client.py # Async Jira API client
├── tools/ # Comprehensive MCP tools
│ ├── __init__.py # Tool registration
│ ├── comprehensive_jira_tools.py # Main tool definitions
│ ├── tool_handlers.py # Core issue handlers
│ ├── comment_time_handlers.py # Comment & worklog handlers
│ ├── relationship_history_handlers.py # Link & history handlers
│ ├── sprint_handlers.py # Sprint management handlers
│ └── project_handlers.py # Project & status handlers
└── utils/
├── __init__.py
└── jira_formatter.py # AI-optimized formatting
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests for new functionality
- Run code quality checks
- Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Atlassian Python API for Jira integration
- MCP Python SDK for MCP protocol support
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.