JIRA MCP Server

JIRA MCP Server

Enables AI systems to interact with JIRA through natural language, allowing users to retrieve issue details, create new tickets, search using JQL, and access project information.

Category
Visit Server

README

JIRA MCP Server

Security Wanning

This repository contains security training materials and proof-of-concept code designed for educational purposes only. The code demonstrates security vulnerabilities and attack techniques that could be harmful if misused.

Malicious sample code is in ./malicious_code_examples

AUTHORIZED USE ONLY: This code is provided exclusively for:

  • Security research and education
  • Authorized penetration testing with explicit written permission
  • Security awareness training in controlled environments
  • Academic study of cybersecurity concepts

PROHIBITED USES: This code must NOT be used for:

  • Unauthorized access to computer systems
  • Malicious attacks against any systems or networks
  • Any illegal activities or violations of computer crime laws
  • Testing against systems without explicit written authorization

By downloading, viewing, or using any code in this repository, you agree to use it only for lawful, authorized purposes and accept full responsibility for your actions.

Disclaimer of Liability

The author(s) and contributors to this repository:

  • Provide this code "AS IS" without warranty of any kind
  • Disclaim all liability for any damages resulting from use or misuse
  • Do not endorse or encourage any illegal or unauthorized activities
  • Assume no responsibility for actions taken by users of this code

Overview

A Model Context Protocol (MCP) server that provides JIRA integration. This server allows AI systems to interact with JIRA issues, search for tickets, create new issues, and access project information.

Examples here will use claude.

Features

  • Get JIRA Issues: Retrieve detailed information about specific JIRA issues
  • Create Issues: Create new JIRA issues with customizable fields
  • Search Issues: Search for JIRA issues using JQL (JIRA Query Language)
  • Project Information: Access project keys and user information
  • Resources: Access JIRA project keys and current user information

Prerequisites

  • Python 3.13 or higher
  • JIRA account with API access
  • JIRA Personal Access Token (PAT)

Installation

  1. Clone or download this repository:
git clone <repository-url>
cd longcon-mcp-demo
  1. Install dependencies using uv (recommended) or pip:
# Using uv (recommended)
uv sync

# Or using pip
pip install -r requirements.txt

Configuration

1. JIRA Setup

  1. Create a JIRA Personal Access Token:

    • Go to your JIRA instance
    • Navigate to Account Settings > Security > API tokens
    • Create a new token and copy it
  2. Create a .env file in the project root:

JIRA_USERNAME=your-email@example.com
JIRA_PAT=your-personal-access-token
JIRA_URL=https://your-instance.atlassian.net
  1. Update the project keys in the jira_project_keys() function (line 24):
return ['YOUR_PROJECT_KEY']  # Replace with your actual project keys

2. Test the Server

Run the server locally to ensure it's working:

python main.py

The server should start without errors. Press Ctrl+C to stop it.

Claude Desktop Configuration

1. Install Claude Desktop

Download and install Claude Desktop from https://claude.ai/download

2. Configure MCP Server

  1. Locate your Claude Desktop configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. Add the MCP server configuration to the file. If the file doesn't exist, create it:

{
  "mcpServers": {
    "longcon": {
      "command": "python",
      "args": ["/absolute/path/to/longcon-mcp-demo/main.py"],
      "env": {
        "JIRA_USERNAME": "your-email@example.com",
        "JIRA_PAT": "your-personal-access-token"
      }
    }
  }
}

Important: Replace /absolute/path/to/longcon-mcp-demo/main.py with the actual absolute path to your main.py file.

3. Alternative Configuration (Using .env file)

If you prefer to use the .env file for credentials:

{
  "mcpServers": {
    "longcon": {
      "command": "python",
      "args": ["/absolute/path/to/longcon-mcp-demo/main.py"],
      "cwd": "/absolute/path/to/longcon-mcp-demo"
    }
  }
}

4. Using uv (Recommended)

For better dependency management, you can use uv:

{
  "mcpServers": {
    "longcon": {
      "command": "uv",
      "args": ["run", "python", "main.py"],
      "cwd": "/absolute/path/to/longcon-mcp-demo",
      "env": {
        "JIRA_USERNAME": "your-email@example.com",
        "JIRA_PAT": "your-personal-access-token"
      }
    }
  }
}

Usage in Claude

Once configured, restart Claude Desktop. You can now use JIRA-related commands in your conversations:

Available Tools

  1. Get JIRA Issue:

    Get details for issue CRM-123
    
  2. Create JIRA Issue:

    Create a new task in project CRM with summary "Fix login bug" and description "Users unable to login"
    
  3. Search JIRA Issues:

    Search for all open issues assigned to me
    

Available Resources

  • Project Keys: Access available project keys
  • User Information: Get current user details

Example Interactions

User: What are the details of issue CRM-123?
Claude: [Uses get_jira_issue tool to fetch and display issue details]

User: Create a bug report for the login issue
Claude: [Uses create_jira_issue tool to create a new issue]

User: Show me all high-priority open issues
Claude: [Uses search_jira_issues with JQL: "priority = High AND status = Open"]

Troubleshooting

Common Issues

  1. "JIRA_USERNAME and JIRA_PAT must be set" Error

    • Ensure your .env file is in the correct location
    • Verify the environment variables are set correctly in Claude Desktop config
  2. "Permission Denied" Error

    • Check that your JIRA PAT has the necessary permissions
    • Verify your JIRA username is correct
  3. "Server not found" Error

    • Ensure the JIRA server URL is correct in main.py
    • Check your internet connection
  4. Claude Desktop doesn't recognize the server

    • Verify the absolute path in the configuration is correct
    • Restart Claude Desktop after making configuration changes
    • Check Claude Desktop logs for error messages

Verification

To verify everything is working:

  1. Start a new conversation in Claude Desktop
  2. Ask: "What JIRA projects are available?"
  3. Claude should respond with the project keys you configured

Dependencies

  • jira: JIRA Python library for API interactions
  • fastmcp: Simplified MCP server framework
  • python-dotenv: Environment variable management

Security Notes

  • Never commit your .env file or expose your JIRA PAT
  • Use environment variables or secure configuration management
  • Regularly rotate your JIRA Personal Access Tokens
  • Limit PAT permissions to only what's necessary

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured