mcp-jira-server-custom

sabbir-47/mcp-jira-server-custom

3.2

If you are the rightful owner of mcp-jira-server-custom and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

A comprehensive Model Context Protocol (MCP) server for JIRA integration, providing AI assistants with powerful JIRA automation capabilities.

Tools
7
Resources
0
Prompts
0

MCP JIRA Server

A comprehensive Model Context Protocol (MCP) server for JIRA integration, providing AI assistants with powerful JIRA automation capabilities including advanced comment analysis and professional HTML report generation.

🚀 Overview

This project provides a powerful MCP JIRA Server (mcp_jira_server.py) - a Model Context Protocol server for AI assistant integration with JIRA, featuring intelligent comment analysis, stale issue detection, and executive-ready HTML reports.

📋 Features

🏢 Multi-Team Support (NEW!)

  • Team Configurations - Pre-configured settings for Deployment, PTP, and Networking teams
  • Custom JQL Queries - Teams can define complex custom JQL (e.g., PTP's backport stories + bugs)
  • Team-Specific Defaults - Each team has its own projects, components, and priority filters
  • Easy Extensibility - Add new teams by updating team_configs.py only

Core MCP Tools

  • 🔍 Search Issues - JQL-based issue searching with flexible filters
  • 📋 Get Issue Details - Comprehensive issue information with optional comment analysis
  • 🧠 Comment Analysis - AI-powered comment analysis with keyword detection and sentiment insights
  • Create Issues - New issue creation with full metadata support
  • 📝 Update Issues - Modify existing issues and status transitions
  • 💬 Add Comments - Smart commenting with assignee mentions and dry-run/live modes
  • 🕒 Find Stale Issues - Advanced stale issue detection with team-based filtering
  • 📊 Generate Reports - Professional HTML reports with interactive charts and executive summaries
  • 🏢 List Teams - Discover available teams and their configurations

🛠️ Setup

# Install dependencies
pip install -r requirements.txt

# Set environment variables
export JIRA_URL="your-jira-domain"
export JIRA_TOKEN="your-bearer-token"  # Get from JIRA → Settings → Personal Access Tokens

# Run server
python mcp_jira_server.py

🏢 Multi-Team Configuration

The server supports multiple teams with their own configurations:

Available Teams

TeamIDConfigurationJQL Type
DeploymentdeploymentGitOps ZTP, Bare Metal, SR-IOV, oc componentsStandard
PTPptpPTP, Cloud Events, HW Event componentsCustom JQL
NetworkingnetworkingPlaceholder (to be configured)TBD

Using Team Configurations

List Available Teams:

"What teams are available?"
"Show me team configurations"

Use Specific Team:

"Find PTP stale bugs in 4.18"
"Generate deployment team report for 4.16"

Add a New Team:

Edit team_configs.py:

NEW_TEAM = TeamConfig(
    team_name="Storage Team",
    team_id="storage",
    default_projects=["OCPBUGS"],
    default_components=["Storage / OCS", "Storage / Ceph"],
    priority_field_id="customfield_12323649",
    priority_values=["Telco:Priority-1", "Telco:Priority-2"],
    report_title_template="Storage {components} Analysis",
    description="Storage infrastructure components",
    custom_jql_base=None  # Optional: custom JQL like PTP team
)

# Add to registry
TEAM_REGISTRY["storage"] = NEW_TEAM

For detailed team configuration guide, see .

🎯 Usage Examples

📋 Single Issue Analysis

Basic Issue Details:

"Get details for OCPBUGS-12345"

Issue with Comment Analysis:

"Get details for OCPBUGS-12345 with comment analysis"
"Analyze the comments on OCPBUGS-12345 to understand the current status"

Pure Comment Analysis:

"Analyze comments on OCPBUGS-12345"
"What's the sentiment and activity on OCPBUGS-12345 comments?"
"Check OCPBUGS-12345 for escalation indicators in comments"

🕒 Stale Issues Detection

Multi-Team Support:

"List available teams"
"What teams can I monitor?"
"Find PTP stale bugs with no comments in last 7 days"
"Find deployment stale issues in 4.18 with no comments over 5 days"
"Show me networking team stale bugs"

Basic Stale Issues (Deployment Team - Default):

"Find stale bugs with no comments in the last 5 days"
"Show me issues that haven't been updated in 7 days"

Project-Specific Analysis:

"Find stale bugs in OCPBUGS project with no comments over 3 days"
"Search only in ACM project for stale issues over 10 days"

Release-Specific Analysis:

"Find stale issues in 4.14 and 4.16 releases with no comments over 5 days"
"Show me stale bugs in 4.18 release that need attention"

Component-Specific Analysis:

"Find stale issues only in GitOps ZTP component for 4.14 and 4.16 releases"
"Show me stale bugs in Networking SR-IOV component over 7 days"

📊 Professional Report Generation

Basic Report Generation:

"Generate a stale issues report for 4.14 and 4.16 releases with no comments over 5 days"
"Create an HTML report for stale bugs in GitOps ZTP component"

Advanced Report Generation:

"Generate executive report for stale issues in OCPBUGS project over 7 days with comment analysis"
"Create comprehensive report for 4.18 release bugs with no activity in 10 days"

Custom Report Parameters:

"Generate report for GitOps ZTP component in 4.14, 4.16, 4.18 releases, 
 bugs only, no comments over 5 days, save as 'gitops_analysis.html'"

💬 Smart Commenting

Basic Comments:

"Add comment to OCPBUGS-123 asking for status update"
"Comment on OCPBUGS-456 that this needs verification"

Comments with Assignee Mentions:

"Add comment to OCPBUGS-123 mentioning the assignee for update"
"Comment on OCPBUGS-456 asking assignee about timeline"

Dry-Run Comments (Preview):

"Show me how the comment would look for OCPBUGS-123 before posting"
"Preview comment for OCPBUGS-456 with assignee mention"

📊 HTML Report Generation

Report Features

  • 📊 Interactive Charts - Issue status distribution, age analysis, release impact
  • 📋 Detailed Tables - Grouped by Telco priority and release version
  • 🔍 Issue Links - Direct links to JIRA issues
  • 🎨 Professional Styling - Clean, modern design with color-coded status
  • 💾 Export Ready - Save as HTML for sharing with stakeholders
  • 📈 Executive Summary - Configurable high-level overview with AI-generated insights
  • 🎯 Key Findings - Customizable bullet points for quick takeaways

Report Structure

  • Executive Summary with configurable AI-generated content
  • Interactive Charts (Status Distribution, Age Analysis, Release Impact)
  • Detailed Analysis tables grouped by priority and release
  • Analysis Parameters showing search criteria used

Generated Report Location

Reports are saved to report/ directory with timestamps and version info in filename.

Example: report/stale_issues_4.16_4.18_report.html

⭐ Key Features

  • 🏢 Multi-Team Support - Pre-configured teams with custom JQL queries
  • 📊 Executive Reports - Professional HTML reports with interactive charts
  • 🕒 Advanced Stale Detection - Team-based filtering with flexible project/component/release options
  • 💬 Smart Comments - Assignee mentions, dry-run preview, live posting
  • ⚡ High Performance - Optimized API calls with rate limiting
  • 🛡️ Safety First - Dry-run by default, secure bearer token authentication
  • 🔧 Modular Design - Easy extensibility via team_configs.py

🔧 Configuration

VariableDescription
JIRA_URLJIRA instance URL
JIRA_TOKENBearer token from JIRA settings

🚀 MCP Integration

Claude-CLI

Add to the mcp server to claude:

claude mcp add "custom-jira" "./bin/python" "<PATH>/mcp_jira_server.py"

Verification

Add to the mcp server to claude:

>> claude mcp get jira 
⏺ Bash(claude mcp get jira)
  ⎿  jira:                                                 
       Scope: Local config (private to you in this project)
       Status: ✓ Connected
     … +6 lines (ctrl+o to expand)

⏺ The jira MCP server is configured locally for this project, running ./bin/python 
  mcp_jira_server.py via stdio and is currently connected.

🛠️ Available MCP Tools

ToolDescriptionKey Parameters
jira_list_teamsNEW! List configured teamsNone
jira_search_issuesSearch issues with JQLjql, max_results
jira_get_issueGet detailed issue infoissue_key, include_comment_analysis
jira_analyze_issue_commentsPure comment analysisissue_key, days_threshold
jira_create_issueCreate new issuesproject_key, summary, description
jira_update_issueUpdate existing issuesissue_key, fields, transition
jira_add_commentAdd comments with mentionsissue_key, comment, mention_assignee, mode
jira_find_stale_issuesFind stale issuesdays_threshold, affects_versions, team_id, override_components
jira_generate_stale_issues_reportGenerate HTML reportsdays_threshold, affects_versions, team_id, report_filename, executive_summary, key_findings

Keep your JIRA projects moving with AI-powered automation and intelligent analysis 🚀