Skip to main content

G7 JIRA MCP

一个基于FastMCP框架的JIRA集成插件,用于查询JIRA问题详情、列表及进行基本操作,支持JIRA附件管理。

主要功能

  • 查询JIRA问题详情和问题列表
  • 创建和更新JIRA问题
  • 获取项目列表和详情
  • 管理和下载JIRA问题附件
    • 自动将附件保存到项目根目录的 .jira-mcp/{issue_key}/ 子目录
    • 按问题ID组织的子目录结构
    • 支持下载单个或所有附件
    • 智能下载机制:附件地址跳转到 SSO 时自动完成 CAS 登录后下载(需要能登录 SSO 的个人域账号,整批附件只登录一次)
  • 评论管理功能
    • 获取问题的所有评论
    • 添加新评论到问题
  • 工时管理功能
    • 添加工时记录到问题
    • 支持多种时间格式(如 1h、30m、2h 30m、1d、1w)
  • 根据JIRA ID查询GitLab Merge Request
    • 从DevLake服务获取与JIRA关联的MR信息
    • 支持完整ID或部分ID搜索
    • 返回MR详情、代码变更统计等信息
  • 调试工具
    • debug_issue_fields:查看JIRA问题的完整字段结构

配置

方式一:直接使用(推荐)

使用 uvx 方式,无需手动安装,自动下载和管理包:

claude mcp add jira-mcp -- uvx g7-jira-mcp --transport stdio \
  --env JIRA_USERNAME=your_username \
  --env JIRA_PASSWORD=your_password

方式二:先安装后使用

适合需要离线使用或希望固定版本的用户:

# 1. 安装包(推荐使用阿里云镜像加速)
pip install g7-jira-mcp -i https://mirrors.aliyun.com/pypi/simple

# 2. 添加到 Claude Code
claude mcp add jira-mcp -- g7-jira-mcp --transport stdio \
  --env JIRA_USERNAME=your_username \
  --env JIRA_PASSWORD=your_password

查看和管理

# 查看已添加的 MCP 服务器
claude mcp list

# 删除 MCP 服务器
claude mcp remove jira-mcp

Cursor / 其他 IDE 配置

如果使用 Cursor 或其他支持 MCP 的 IDE,在配置文件(如 .cursor/mcp.json)中添加:

{
  "mcpServers": {
    "g7-jira-mcp": {
      "command": "uvx",
      "args": [
        "--from=g7-jira-mcp",
        "g7-jira-mcp",
        "--transport",
        "stdio"
      ],
      "env": {
        "JIRA_USERNAME": "your_username",
        "JIRA_PASSWORD": "your_password"
      }
    }
  }
}

提示: JIRA_SERVER_URL 已有默认值,无需配置。如需修改,添加到 env 中即可。

Streamable HTTP 部署(接入智能体平台等远程客户端)

以 HTTP 服务运行,供只支持 Streamable HTTP 的第三方平台调用。端点为 http://<host>:<port>/mcp,使用无状态模式(每个请求独立,不依赖会话)。

G7E6_ENV=prod \
G7E6_CLIENT_ID=<client_id> \
G7E6_CLIENT_SECRET=<client_secret> \
JIRA_ENABLED_TOOLS=get_issue,search_issues,get_issue_comments,get_merge_requests_by_jira_id \
g7-jira-mcp --transport streamable-http --host 0.0.0.0 --port 8000
环境变量 说明
MCP_SERVER_HOST / MCP_SERVER_PORT 监听地址和端口,默认 127.0.0.1:8000,也可用 --host / --port
MCP_JSON_RESPONSE true 时直接返回 JSON,默认返回 SSE 流
JIRA_ENABLED_TOOLS 工具白名单(逗号分隔),设置后只加载列出的工具,优先于 --full
G7E6_ENV 智能体平台环境:prod(默认)或 test,决定内置的 parse 接口和 Keycloak 地址(见下表)
G7E6_CLIENT_ID / G7E6_CLIENT_SECRET 对应环境 Keycloak 中的 client 凭证(必填,测试和正式环境各一套)
G7E6_USERINFO_PARSE_URL / G7E6_KEYCLOAK_TOKEN_URL 可选,覆盖内置地址
G7E6_USER_TOKEN_HEADER 平台透传用户 JWT 的请求头,默认 g7e6-user-token
G7E6_USERINFO_CACHE_TTL 用户信息缓存秒数,默认 300,不超过 JWT 自身有效期
G7E6_ENV parse 接口 Keycloak
prod https://ai-agent.chinawayltd.com/v1/api/mgt/openapi/userinfo/parse https://keycloak.chinawayltd.com/realms/litellm-proxy
test https://ai-agent.test.chinawayltd.com/v1/api/mgt/openapi/userinfo/parse https://keycloak.test.chinawayltd.com/realms/litellm-proxy

HTTP 传输下每次 tools/call 都必须携带有效的用户 JWT,校验通过才执行,否则返回工具错误;initialize、tools/list 不需要。G7E6_CLIENT_ID / G7E6_CLIENT_SECRET 未配置时服务照常启动,但所有工具调用都会被拒绝,启动日志会列出缺少的配置。校验通过的调用会记录 [audit] user=<username> tool=<tool> 日志。stdio 传输不校验用户身份。

注意:

  • JIRA 仍以 JIRA_USERNAME 配置的服务账号访问,用户身份只用于准入和审计,不做 JIRA 权限隔离,建议只开放只读工具。
  • 附件工具会把文件保存到服务端本地目录,远程客户端拿不到,HTTP 部署不建议开放。
  • 生产环境应在前面配置 HTTPS。

快速开始

配置完成后,即可在 Claude Code 或支持 MCP 的 IDE 中使用自然语言操作 JIRA:

查询问题详情

查看 JIRA 问题 ERP-161 的详情

搜索问题

搜索所有处于"进行中"状态的 JIRA 问题

管理附件

下载 JIRA 问题 ERP-161 的所有附件

管理评论

为 ERP-161 添加评论"已修复此问题"

添加工时

为 ERP-161 添加 1 小时工时

查询关联 MR

查询 ERP-161 关联的 GitLab Merge Request

MCP提供的工具

本MCP服务器提供以下工具:

工具名称 描述 示例
get_issue 获取JIRA问题详情 ERP-123
search_issues 搜索JIRA问题列表 project = ERP AND status = "In Progress"
create_issue 创建JIRA问题 创建一个标题为"修复登录问题"的任务
update_issue 更新JIRA问题 将ERP-123的状态改为"已完成"
get_projects 获取JIRA项目列表 列出所有可访问的项目
get_project 获取项目详情 获取ERP项目的详细信息
get_issue_attachments 获取问题的所有附件 列出ERP-123的所有附件
download_all_attachments 下载问题的所有附件 下载ERP-123的全部附件
get_attachment_by_filename 获取特定附件 从ERP-123获取名为"截图.png"的附件
get_issue_comments 获取问题的所有评论 列出ERP-123的所有评论
add_comment 添加评论到问题 为ERP-123添加评论"已修复"
add_worklog 添加工时记录到问题 为ERP-123添加1小时工时
get_merge_requests_by_jira_id 根据JIRA ID查询GitLab MR 查询ERP-123关联的所有MR
get_transitions 获取问题的可用状态转换 获取ERP-123的可用状态转换
transition_issue 执行问题状态转换 将ERP-123转为已开始处理
debug_issue_fields 查看问题的完整字段结构 调试ERP-123的所有字段

许可证

MIT

Metadata

Release files for g7-jira-mcp 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for g7-jira-mcp 0.3.0
File Size Uploaded
g7_jira_mcp-0.3.0.tar.gz 60.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for g7-jira-mcp 0.3.0
File Interpreter ABI Platform
g7_jira_mcp-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 89.7 kB

Release files / g7_jira_mcp-0.3.0.tar.gz

Download URL g7_jira_mcp-0.3.0.tar.gz
Size 60.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f96cb922ada7f5e13e0f9c60f96dec8e7199fa0f70d72102de87d71dc6d85da3
BLAKE2b-256 checksum
How to use checksums
7480ab57cc5939ba707f05675a32599e9308751c6aa9729c326cc1bde052973e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.11

Release files / g7_jira_mcp-0.3.0-py3-none-any.whl

Download URL g7_jira_mcp-0.3.0-py3-none-any.whl
Size 29.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
20d441d5b33e609a1b7c44e87ce9c376ca0fc7be6265f4ae3a06faee240c633f
BLAKE2b-256 checksum
How to use checksums
6f9f2d12511ac32f0fc9b28071968f02736dc84b2aea21d010809ef37fcbba0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.11

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.1

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page