Jira集成服务器

一个基于Python的Jira MCP服务器,使AI助手能够无缝与Jira交互,提供全面的Jira集成功能,包括问题管理、冲刺管理、评论和时间跟踪等。

  • by Devparihar5
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 devparihar5/jira-mcp-server

使用说明

Jira MCP服务器

用于Atlassian Jira的基于Python的MCP(模型上下文协议)服务器,使Claude等AI助手能够与Jira无缝交互。此企业级解决方案提供了功能齐全的Jira集成,具有强大的错误处理、多种部署模式和广泛的工具覆盖范围。

特性

核心问题管理

  • 获取详细的问题信息 具有可定制的字段和扩展
  • 创建新问题 具有全面的现场支持和验证
  • 创建子问题(子任务) 具有自动父链接功能
  • 更新现有问题 部分字段更新和冲突解决
  • 搜索问题 使用功能强大的JQL(Jira查询语言)进行结果格式化
  • 列出可用的问题类型 对于任何具有元数据的项目
  • 过渡问题 通过工作流状态进行验证

高级问题操作

  • 将问题转移到冲刺阶段 (批量操作最多50个问题)
  • 链接问题 具有关系类型(块、重复项、关联等)
  • 获取相关问题 以及它们的完整关系图
  • 检索问题历史记录 以及详细的变更日志
  • 跟踪工作流转换 状态变化

评论和时间跟踪

  • 添加评论 关于富文本格式的问题
  • 检索所有评论 来自线程支持的问题
  • Add worklogs 具有灵活的时间跟踪和自定义开始时间
  • 时间格式支持 (3小时、30分钟、1小时30分钟、2天4小时等)
  • 工作日志管理 具有自动时间计算功能

Sprint和项目管理

  • 列出所有冲刺 用于具有状态过滤的板或项目
  • 积极冲刺 包含问题详细信息的信息
  • 获取详细的冲刺信息 按ID和指标
  • 列出项目状态 以及可用的转换
  • 获取公告板 具有项目关联和权限
  • Sprint分析 以及进度跟踪

企业功能

  • 异步/等待架构 用于高性能操作
  • 全面的错误处理 包含详细的调试信息
  • 标准模式部署 针对MCP客户端进行了优化
  • Docker容器化 采用安全最佳实践
  • 基于环境的配置 通过验证
  • 丰富的响应格式 针对AI消费进行了优化
  • 类型安全性 使用Pydantic模型和验证
  • 批量操作 具有进度跟踪和错误恢复功能

安装

先决条件

  • Python 3.11或更高版本
  • 具有Jira访问权限的Atlassian帐户
  • Atlassian的API令牌

选项1:使用pip(推荐)

# 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

选项2:使用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

配置

环境变量

创建一个 .env 文件(复制自 .env.example):

ATLASSIAN_HOST=https://your-company.atlassian.net
ATLASSIAN_EMAIL=your-email@company.com
ATLASSIAN_TOKEN=your-api-token

获取您的API代币

  1. 首选 大西洋API代币
  2. 点击 “创建API令牌”
  3. 给它起个名字,比如“Jira MCP Python”
  4. 复制令牌 (你不会再看到它了!)

用法

标准模式(默认)

python main.py --env .env

HTTP服务器模式

# 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

配置

光标配置

对于标准模式:

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

对于HTTP服务器模式:

{
  "mcpServers": {
    "jira": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-everything", "http://localhost:8000/sse"]
    }
  }
}

对于Docker(标准模式):

{
  "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"
      ]
    }
  }
}

对于Docker(HTTP模式):

{
  "mcpServers": {
    "jira": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-everything", "http://localhost:8000/sse"]
    }
  }
}

可用工具

Python实现为完整的Jira集成提供了19个全面的工具:

问题管理工具

  • get_issue -通过自定义字段获取详细的问题信息
  • create_issue -在全面的现场支持下创建新问题
  • create_child_issue -创建具有自动父链接的子任务
  • update_issue -用冲突解决更新问题字段
  • list_issue_types -列出项目的可用问题类型
  • transition_issue -通过工作流状态转换问题

搜索和查询工具

  • search_issues -JQL和高级过滤的搜索问题

Sprint管理工具

  • list_sprints -列出带有状态过滤的板/项目的冲刺
  • get_sprint -按ID获取详细的冲刺信息
  • get_active_sprint -使用指标获取当前活动的冲刺
  • move_issues_to_sprint -将多个问题转移到sprint(批量操作)

项目和状态工具

  • list_project_statuses -列出可用状态和转换
  • get_boards -获得项目协会的董事会

评论和时间跟踪工具

  • add_comment -添加富文本格式的评论
  • get_comments -通过线程支持获取所有评论
  • add_worklog -支持灵活格式的日志时间

关系和历史工具

  • link_issues -将问题与关系类型联系起来
  • get_related_issues -获取完整的关系图
  • get_issue_history -获取详细的变更历史和转换

使用示例

配置后,您可以让Claude帮助完成Jira任务:

问题管理

  • “为登录问题创建新的错误单”
  • “显示PROJ-123票的详细信息”
  • “将票PROJ-456移至进行中”
  • “在PROJ-789中添加注释,说明修复已准备就绪”

Sprint管理

  • “我们目前的冲刺是什么?”
  • “将这3张票移至下一个冲刺:PROJ-1、PROJ-2、PROJ-3”
  • “显示当前冲刺中分配给约翰的所有票”

报告和分析

  • “显示本周创建的所有错误”
  • “列出所有被阻止的票”
  • “哪些票已经准备好进行测试了?”

发展

项目结构

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

贡献

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 进行更改
  4. 添加新功能的测试
  5. 运行代码质量检查
  6. 提交您的更改(git commit -m 'feat: add amazing feature')
  7. 推到分支(git push origin feature/amazing-feature)
  8. 打开拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

致谢