JIRA集成服务器

一个基于Model Context Protocol (MCP)的服务器,用于将JIRA与AI编码助手无缝集成,支持问题搜索、创建、更新和克隆等功能。

  • by klauseduard
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 klauseduard/vibe-coded-jira-mcp

使用说明

JIRA MCP 服务器

一个简单的 模型上下文协议(MCP) “氛围编码”(vibe-coded)服务器,用于将JIRA与AI编码助手集成。MCP是一种开放协议,它实现了大型语言模型(LLM)应用与外部数据源和工具之间的无缝集成。

最初为Cursor集成开发环境(IDE)设计的这个服务器,现在支持包括Claude Code和Codex CLI在内的多个AI编码助手。

当心!就连这份文件也几乎完全是由AI编码助手撰写的。

特点

  • 通过密钥获取JIRA问题
  • 使用JQL(JIRA查询语言)搜索问题
  • 创建和更新问题(注:在高度定制的JIRA项目中可能存在限制)
  • 在问题上添加评论
  • 克隆问题(有助于绕过强制自定义字段的限制,但在复杂项目配置中可能有限制)
  • 可配置字段选择
  • 分页支持
  • 详细的错误处理和日志记录
  • 记录工作日志

用户工作流

搜索和过滤流程

graph LR
    A[Start Search] -->|Enter JQL| B[Search Query]
    B -->|Apply Filters| C[Results]
    C -->|Select Fields| D[Customized View]
    D -->|Pagination| E[More Results]
    
    subgraph Search Options
        F[JQL Query]
        G[Field Selection]
        H[Result Limit]
        I[Start Position]
    end
    
    B -->|Uses| F
    C -->|Uses| G
    C -->|Uses| H
    C -->|Uses| I

问题克隆流程

graph LR
    A[Find Source Issue] -->|Copy Key| B[Clone Issue]
    B -->|Customize Fields| C[Modified Clone]
    C -->|Create| D[New Issue]
    
    subgraph Clone Options
        E[Change Project]
        F[Modify Fields]
        G[Copy Attachments]
        H[Add Source Link]
    end
    
    B -->|Can Use| E
    B -->|Can Use| F
    B -->|Can Use| G
    B -->|Can Use| H

要了解详细的技术架构和系统工作流程,包括问题生命周期和认证流程,请参阅 ARCHITECTURE.md(文件名可译为“架构.md”,但通常文件名保持原样不翻译,所以直接为“ARCHITECTURE.md”)。

关于MCP

这台服务器实现了 模型上下文协议 该规范使得AI编码助手能够与JIRA数据实现无缝交互。该协议标准化了大型语言模型(LLM)应用程序与外部数据源和工具之间的通信方式。

🚀 快速集成

用于AI助手集成见 AI_INTEGRATION.md(文件名可译为“人工智能集成说明.md”或保持原样,根据上下文决定是否需要翻译文件名) 以下是完整的设置指南:

设置

  1. 创建一个虚拟环境:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 配置环境变量: 创建一个 .env 与以下文件一起:
JIRA_URL=your_jira_url
JIRA_USERNAME=your_username
JIRA_API_TOKEN=your_api_token

使用方法

运行服务器:

./run-jira-mcp.sh

发展

该项目采用模块化结构:

src/
├── core/           # Core JIRA client implementation
│   ├── __init__.py
│   ├── client.py   # JiraClient class
│   └── config.py   # Configuration management
├── models/         # Pydantic models for validation
│   ├── __init__.py
│   ├── comment.py  # Comment-related models
│   ├── issue.py    # Issue-related models
│   └── worklog.py  # Worklog-related models
└── operations/     # MCP operation implementations
    ├── __init__.py
    ├── comments.py # Comment operations
    ├── issues.py   # Issue operations
    ├── projects.py # Project operations
    └── worklog.py  # Worklog operations

关键组件

  1. 模型 (src/models/)

    • IssueType, IssueArgs - 问题创建/更新模型
    • IssueTransitionArgs - 问题状态转移模型
    • CloneIssueArgs - 问题克隆模型
    • CommentArgs, GetCommentsArgs - 注释模型
    • LogWorkArgs - 工作日志模型
  2. 核心 (src/core/)

    • JiraClient 主JIRA API客户端
    • JiraConfig - 配置管理
    • 错误处理和日志记录
  3. 操作 (src/operations/)

    • 问题管理(获取、搜索、创建、更新、克隆)
    • 评论处理(添加,获取)
    • 工作日志记录
    • 项目列表

该项目遵循概述在(某处/某文件中)的实施计划 IMPLEMENTATION_PLAN.md。

当前版本:v0.4

  • ✅ 基本的JIRA集成
  • ✅ 支持JQL的搜索功能
  • ✅ 问题管理(创建、更新、克隆),针对高度定制化项目设有限制
  • ✅ 评论功能
  • ✅ 工作日志记录

相关链接

许可证

麻省理工学院(MIT)

安全考虑因素

此工具主要设计用于个人工作流程自动化及个人开发者使用。请注意以下安全事项:

⚠️ 使用建议

  • 个人/开发用途非常适合管理其JIRA工作流程的独立开发者
  • 小团队使用适用于有适当安全措施的可信赖团队环境
  • 不建议用于:
    • 以当前形式进行生产部署
    • 多租户环境
    • 面向公众的服务
    • 处理敏感/受监管数据

🔒 安全要求

如果您选择使用此工具,请确保:

  1. 您的JIRA实例使用HTTPS
  2. 您正在使用API令牌(而非密码)进行身份验证
  3. 你的 .env 文件已妥善保存且未提交到版本控制系统
  4. 您了解运行具有JIRA访问权限的第三方工具所存在的风险

🛡️ 最佳实践

  1. 定期轮换您的API令牌
  2. 监控您的JIRA审计日志,以发现异常活动
  3. 使用该工具的最新版本
  4. 在将代码用于您的环境之前,请进行审查

📝 关于企业使用的说明

此工具目前尚未针对企业安全需求进行加固。如果您需要企业部署的解决方案,请考虑:

  • 实施额外的安全控制措施
  • 进行安全审查
  • 将安全改进贡献给项目
  • 使用官方的企业级替代方案

如有关于安全的问题或要报告漏洞,请提交一个议题或直接联系维护者。