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.
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
- Clone or download this repository:
git clone <repository-url>
cd longcon-mcp-demo
- Install dependencies using uv (recommended) or pip:
# Using uv (recommended)
uv sync
# Or using pip
pip install -r requirements.txt
Configuration
1. JIRA Setup
-
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
-
Create a
.envfile in the project root:
JIRA_USERNAME=your-email@example.com
JIRA_PAT=your-personal-access-token
JIRA_URL=https://your-instance.atlassian.net
- 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
-
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
- macOS:
-
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
-
Get JIRA Issue:
Get details for issue CRM-123 -
Create JIRA Issue:
Create a new task in project CRM with summary "Fix login bug" and description "Users unable to login" -
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
-
"JIRA_USERNAME and JIRA_PAT must be set" Error
- Ensure your
.envfile is in the correct location - Verify the environment variables are set correctly in Claude Desktop config
- Ensure your
-
"Permission Denied" Error
- Check that your JIRA PAT has the necessary permissions
- Verify your JIRA username is correct
-
"Server not found" Error
- Ensure the JIRA server URL is correct in
main.py - Check your internet connection
- Ensure the JIRA server URL is correct in
-
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:
- Start a new conversation in Claude Desktop
- Ask: "What JIRA projects are available?"
- Claude should respond with the project keys you configured
Dependencies
jira: JIRA Python library for API interactionsfastmcp: Simplified MCP server frameworkpython-dotenv: Environment variable management
Security Notes
- Never commit your
.envfile 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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。