Jira Extended MCP Server
Full-featured Jira Cloud integration for AI agents
27 tools · Bulk ops · Rich text · Sprints · Releases · Issue links
Quick Start · Use Cases · Tools · Configuration
한국어 | English
______________________________________________________________________
建造于 Moobean团队 --一个轻量级的、仅支持Jira的MCP服务器,专注于用最少的设置完成任务。
是什么让这与众不同
- 只有Jira,零膨胀 --没有汇流,没有额外的模块。一
uvx命令,你就可以跑了。 - Wiki标记支持 -使用Jira REST API v2,因此
*bold*,h2. Title,* bullet只需工作。没有ADF JSON的麻烦。 - 批量操作 --在一次通话中创建多达50个问题或转换多个问题。
- 完整的发布生命周期 --创建、更新、删除版本并将问题分配给版本。
- 问题链接 --阻止、关联、复制、克隆——支持创建、查询和删除。
比较
注: 功能数据基于截至2026年3月的每个项目的README和文档。自那以后,功能可能发生了变化。
|---|---|---|---|---| |范围|仅限Jira | Jira+汇流| Jira+汇流+指南针|仅限Jira| |发出CRUD |只读|完整CRUD |完整CRUD| |批量创建|-|支持|支持| 50个问题/电话 | |批量过渡|-|-|-| 支持 | |父/子任务|-|支持|支持|受支持| |fixVersions|-|支持|支持|受支持| |startDate/dueDate|-|支持|支持|受支持| |问题链接|-|支持|-|受支持| |发布管理|-|-|-| 4工具 | |Sprint管理|-|支持|-|受支持| |富格文本|-| Markdown→ ADF | ADF| Wiki标记(v2 API) | |设置| npm | pip/Docker | OAuth(云托管)| uvx 俏皮话 | |Jira工具总数|2|~30(Jira部分)|~25(Jira的部分)|27| |语言| TypeScript | Python |远程(SaaS)| Python|
用例
用自然语言问你的AI代理:
问题管理
在KAN项目中创建一个名为“用户认证系统”的史诗,开始日期为4月1日,到期日期为4年30日
“在KAN-42下创建5个故事:登录、注册、密码重置、社交登录、2FA”
“显示KAN项目中的所有‘进行中’问题”
批量操作
“将本次冲刺中的所有10个积压问题转换为‘完成’”
“显示v2.0版本中包含的问题列表”
释放与精神
“在KAN项目中创建v2.1.0版本,发布日期为5月15日”
“将KAN-50和KAN-51移动到当前的主动冲刺”
问题链接
“将KAN-10链接为阻止KAN-20”
富文本(Wiki标记)
“在描述中使用h2标题和项目符号列表创建问题”
快速开始
先决条件
uv(Python包管理器——如果需要,会自动安装Python)- Jira API代币
第一步:安装uv
uv 是一个Python包管理器。如果你没有:
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"步骤2:获取Jira API代币
- 首选https://id.atlassian.com/manage-profile/security/api-tokens
- 点击 创建API令牌
- 复制令牌——下一步您将需要它
步骤3:配置您的AI客户端
选择添加配置的位置:
| 范围 | 文件 | 效果 |
|---|---|---|
| 全球 (推荐) | ~/.claude.json | 适用于所有项目 |
| 仅限项目 | .mcp.json 在项目根目录中 | 仅在该项目中 |
Claude Code
最简单的命令:
# macOS / Linux
claude mcp add jira-extended -s user \
-e JIRA_URL=https://your-instance.atlassian.net \
-e JIRA_EMAIL=your-email@example.com \
-e JIRA_API_TOKEN=your-token \
-- uvx jira-extended-mcp
# Windows — use uvx.exe (not uvx) to avoid .cmd wrapper issues
claude mcp add jira-extended -s user \
-e JIRA_URL=https://your-instance.atlassian.net \
-e JIRA_EMAIL=your-email@example.com \
-e JIRA_API_TOKEN=your-token \
-- uvx.exe jira-extended-mcp-s user 全球安装。对于仅项目安装,省略它。或者手动编辑配置文件:
在文本编辑器中打开文件:
# macOS / Linux
code ~/.claude.json # or: nano ~/.claude.json
# Windows
notepad %USERPROFILE%\.claude.json添加此内容(如果文件不存在,则创建该文件):
{
"mcpServers": {
"jira-extended": {
"command": "uvx",
"args": ["jira-extended-mcp"],
"env": {
"JIRA_URL": "https://your-instance.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}Windows用户: 使用"command": "uvx.exe"而不是"command": "uvx"Theuvx.cmdWindows上的包装器会中断MCP stdio传输。
Claude Desktop
在文本编辑器中打开配置文件:
# macOS
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Windows
notepad %APPDATA%\Claude\claude_desktop_config.json添加或合并到文件中:
{
"mcpServers": {
"jira-extended": {
"command": "uvx",
"args": ["jira-extended-mcp"],
"env": {
"JIRA_URL": "https://your-instance.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}如果文件已经有其他MCP服务器,请添加"jira-extended": {...}现有内部的块"mcpServers"对象。 Windows用户: 使用"command": "uvx.exe"而不是"command": "uvx".
VS Code (GitHub Copilot)
创建 .vscode/mcp.json 在项目根目录中:
mkdir -p .vscode
code .vscode/mcp.json{
"servers": {
"jira-extended": {
"command": "uvx",
"args": ["jira-extended-mcp"],
"env": {
"JIRA_URL": "https://your-instance.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}启用MCP: 设置>聊天>MCP 必须检查。在代理模式下工作。 Windows用户: 使用"command": "uvx.exe"而不是"command": "uvx".
Cursor
打开配置文件:
# macOS / Linux
code ~/.cursor/mcp.json
# Windows
notepad %USERPROFILE%\.cursor\mcp.json{
"mcpServers": {
"jira-extended": {
"command": "uvx",
"args": ["jira-extended-mcp"],
"env": {
"JIRA_URL": "https://your-instance.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}Windows用户: 使用"command": "uvx.exe"而不是"command": "uvx".
From source (development)
git clone https://github.com/moobean-team/jira-extended-mcp-server.git
cd jira-extended-mcp-server
uv pip install -e .然后使用 "command": "jira-extended-mcp" 而不是 "command": "uvx" 在您的配置中。
步骤4:重新启动并验证
重启你的AI客户端,然后问:
“显示我的Jira项目”
如果你看到你的项目列表,你就准备好了。
配置
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
JIRA_URL | 是 | -- | Jira Cloud实例URL |
JIRA_EMAIL | 是 | -- | Atlassian帐户电子邮件 |
JIRA_API_TOKEN | 是 | -- | API令牌 |
JIRA_START_DATE_FIELD | 没有 | customfield_10015 | 开始日期的自定义字段ID |
查找您的开始日期字段ID
开始日期字段ID因Jira实例而异。使用 get_createmeta 您的项目查看可用字段的工具,或:
curl -s -u email:token https://your-instance.atlassian.net/rest/api/2/field \
| python -m json.tool | grep -i "start"富文本(Wiki标记)
此服务器使用Jira REST API v2,它接受 Jira wiki标记 用于描述和注释字段的字符串。Jira会自动将它们呈现为富文本。
| 语法 | 呈现为 | ||||||
|---|---|---|---|---|---|---|---|
*bold* | 大胆 | ||||||
_italic_ | *斜体* | ||||||
h2. Section Title | H2航向 | ||||||
* item 1\n* item 2 | 项目符号列表 | ||||||
# item 1\n# item 2 | 编号列表 | ||||||
{code}print("hi"){code} | 代码块 | ||||||
| `[Link Text\ | https://url]` | 超链接 | |||||
| `\ | col1\ | col2\ | \n\ | a\ | b\ | ` | 表格 |
完整参考: Jira Wiki标记
可用工具
Issue CRUD (6 tools)
| 工具 | 说明 |
|---|---|
create_issue | 使用完整的字段支持创建问题——父字段、fixVersions、startDate、dueDate、故事点、组件、自定义字段 |
create_issues_bulk | 在单个API调用中批量创建多达50个问题 |
get_issue | 使用格式化输出获取问题详细信息 |
update_issue | 更新任何问题字段(仅发送更改的字段) |
delete_issue | 删除子任务处理问题 |
search_issues | 带分页和可配置字段的JQL搜索 |
Transitions (3 tools)
| 工具 | 说明 |
|---|---|
get_transitions | 列出问题的可用状态转换 |
transition_issue | 按名称或ID更改问题状态,并可选择注释 |
bulk_transition | 同时过渡多个问题 |
Issue Links (3 tools)
| 工具 | 说明 |
|---|---|
link_issues | 在问题(块、关联、重复、克隆)之间创建链接 |
get_issue_links | 获取包含链接类型详细信息的问题的所有链接 |
delete_issue_link | 按ID删除链接 |
Release Management (4 tools)
| 工具 | 说明 |
|---|---|
get_versions | 列出项目版本/发布 |
create_version | 创建具有开始/发布日期的新版本 |
update_version | 更新发布详细信息,标记为已发布/已存档 |
delete_version | 删除带有问题重新分配选项的版本 |
Sprint Management (2 tools)
| 工具 | 说明 |
|---|---|
get_sprints | 列出板的冲刺(按活动/未来/关闭筛选) |
move_to_sprint | 将问题转移到目标冲刺 |
Comments & Worklogs (3 tools)
| 工具 | 说明 |
|---|---|
add_comment | 向问题添加评论(支持wiki标记) |
get_comments | 获取包含作者和时间戳的问题注释 |
add_worklog | 以人性化格式记录工作时间(“2小时30分钟”、“1天”) |
Project & Metadata (6 tools)
| 工具 | 说明 |
|---|---|
get_projects | 列出所有可访问的项目 |
get_project | 获取项目详细信息 |
get_boards | 列表板(scrum/看板/简单) |
get_current_user | 获取经过身份验证的用户信息 |
search_users | 按姓名/电子邮件搜索用户 |
get_createmeta | 获取每个项目的可用问题类型和字段 |
建筑
src/jira_extended_mcp/
├── server.py # FastMCP server + 27 tool definitions
├── client.py # Async Jira REST client (httpx + rate limit retry)
├── adf.py # ADF fallback helpers (v3 response parsing)
└── __init__.py关键设计决策:
| 决定 | 为什么 |
|---|---|
| REST API v2 对于问题/评论 | v2接受富文本的wiki标记字符串。v3需要ADF JSON,可以剥离格式 |
| REST API v3 对于元数据 | 版本、项目、用户没有文本字段——v3很好 |
| 敏捷API 对于冲刺/板 | 冲刺操作只能通过 /rest/agile/1.0/ |
| 快速MCP寿命 | httpx.AsyncClient 跨工具调用汇集,而不是按请求汇集 |
| 结构化错误 | 错误返回 {error, status} 这样法学硕士才能得到可操作的反馈 |
| 可配置的开始日期字段 | JIRA_START_DATE_FIELD env-var处理特定于实例的自定义字段ID |
发展
git clone https://github.com/moobean-team/jira-extended-mcp-server.git
cd jira-extended-mcp-server
uv pip install -e .
# Run directly
jira-extended-mcp
# Or via module
python -m jira_extended_mcp.server故障排除
"Missing required env vars"
确保 JIRA_URL, JIRA_EMAIL,以及 JIRA_API_TOKEN 在MCP配置中设置 env 块。服务器在启动时检查这些。
"Transition not found"
Jira转换是特定于工作流的。使用 get_transitions 首先查看问题当前状态的可用转换。转换名称不区分大小写。
Start date not saving
您的Jira实例可能使用不同的自定义字段ID。使用 get_createmeta 要找到正确的字段,请设置 JIRA_START_DATE_FIELD 有人是。
Rate limited (429)
服务器使用自动重试最多3次 Retry-After 头球对于有50多个问题的批量操作,考虑拆分为多个调用。
Description shows as plain text
此服务器使用Jira REST API v2,它接受wiki标记。使用Jira wiki语法(*bold*, h2. Title, * bullet)而不是Markdown。
许可证
麻省理工学院 ©Moobean团队
