mcpField
M
mcp-atlassian-extended

mcp-atlassian-extended

本地服务
github.com/vish288生产力31 周前更新

关于 mcp-atlassian-extended

mcp-atlassian-extended 为 Jira 和 Confluence 提供 MCP 接口,面向需要处理项目、敏捷计划和日历的 AI 助手。它补充 mcp-atlassian 未覆盖的功能,并可锁定为只读模式。

主要功能

  1. 01创建和更新问题及自定义字段
  2. 02管理问题关联与附件
  3. 03查询用户、项目和字段
  4. 04查看看板并管理冲刺
  5. 05读取日历并规划冲刺容量
  6. 06写入模式或锁定只读模式

适用场景

  1. 01为问题添加附件或关联其他问题
  2. 02查看看板并将问题移入冲刺
  3. 03按日期查看团队休假与冲刺容量

MCP 相关

这是一个 Jira 和 Confluence 的 MCP 服务,向客户端提供 22 个工具、15 个资源和 5 个提示词。支持 stdio 与 streamable-http,并可配置为只读。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"vish288-mcp-atlassian-extended": {
"command": "uvx",
"args": [
"mcp-atlassian-extended"
],
"env": {
"JIRA_URL": "<JIRA_URL>",
"JIRA_USERNAME": "<JIRA_USERNAME>",
"JIRA_API_TOKEN": "<JIRA_API_TOKEN>",
"JIRA_PAT": "<JIRA_PAT>",
"CONFLUENCE_URL": "<CONFLUENCE_URL>",
"CONFLUENCE_USERNAME": "<CONFLUENCE_USERNAME>",
"CONFLUENCE_API_TOKEN": "<CONFLUENCE_API_TOKEN>",
"CONFLUENCE_PAT": "<CONFLUENCE_PAT>",
"MCP_READ_ONLY": "<MCP_READ_ONLY>",
"ATLASSIAN_READ_ONLY": "<ATLASSIAN_READ_ONLY>",
"ATLASSIAN_HTTP_BEARER_TOKEN": "<ATLASSIAN_HTTP_BEARER_TOKEN>",
"ATLASSIAN_UPLOAD_DIR": "<ATLASSIAN_UPLOAD_DIR>",
"ATLASSIAN_DOWNLOAD_DIR": "<ATLASSIAN_DOWNLOAD_DIR>"
}
}
}
}
启动命令uvx mcp-atlassian-extended
需要配置的环境变量
JIRA_URLJira instance URL (e.g. https://your-domain.atlassian.net)
JIRA_USERNAMEJira Cloud account email. With JIRA_API_TOKEN this takes precedence over any token below.
JIRA_API_TOKEN密钥Jira Cloud API token, used with JIRA_USERNAME (basic auth)
JIRA_PAT密钥Jira personal access token for Data Center (aliases: JIRA_PERSONAL_TOKEN, JIRA_TOKEN). Ignored when JIRA_USERNAME and JIRA_API_TOKEN are both set.
CONFLUENCE_URLConfluence instance URL (optional, for Confluence tools). Cloud URLs usually need the /wiki suffix.
CONFLUENCE_USERNAMEConfluence Cloud account email. With CONFLUENCE_API_TOKEN this takes precedence over any token below.
CONFLUENCE_API_TOKEN密钥Confluence Cloud API token, used with CONFLUENCE_USERNAME (basic auth)
CONFLUENCE_PAT密钥Confluence personal access token for Data Center (aliases: CONFLUENCE_PERSONAL_TOKEN, CONFLUENCE_TOKEN). Confluence tools also require the Team Calendars add-on.
MCP_READ_ONLYLocks the server read-only: write tools and write-workflow prompts are not listed and nothing lifts the lock at runtime. Shared name across the mcp-* servers; set it in the deployer's env
ATLASSIAN_READ_ONLYAlias for MCP_READ_ONLY. Any value other than false/0/no/off/empty locks the server read-only; --read-only can only raise the lock
ATLASSIAN_HTTP_BEARER_TOKEN密钥Bearer token (min 16 chars) required to bind an HTTP transport to a non-loopback host; clients send it as 'Authorization: Bearer <token>'
ATLASSIAN_UPLOAD_DIRUpload root for jira_upload_attachment; only files under it may be uploaded. Default: the working directory.
ATLASSIAN_DOWNLOAD_DIRDirectory jira_download_attachment writes into; created on first download. Default: ./atlassian-downloads/.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-atlassian-extended0.16.0

工具

22

收录的工具列表 · 更新于 6 天前

参数类型必填说明
issue_keystring是Jira issue key(例如 PROJ-123)

详细介绍

mcp-atlassian-extended

PyPI version PyPI downloads Python License: MIT CI MCP Registry

安装: uvx mcp-atlassian-extended | PyPI | MCP Registry | 更新日志

uvx mcp-atlassian-extended                          # with writes
MCP_READ_ONLY=true uvx mcp-atlassian-extended       # locked read-only: write tools are not listed

mcp-atlassian-extended 是一个适用于 Jira 和 Confluence 的 Model Context Protocol (MCP) 服务。它为 AI 助手提供 22 个工具、15 个资源和 5 个提示词,用于处理 Jira 和 Confluence 工作。这些工具可以使用自定义字段创建和更新问题、关联问题、管理附件以及搜索用户。它们还可以运行敏捷看板和冲刺、跟踪项目版本(API v2)、读取团队日历并规划冲刺容量。它在 mcp-atlassian 的基础上扩展,工具完全没有重叠。它可在两种模式下运行:启用写入,或锁定为只读模式(MCP_READ_ONLY=true),这样就不会向模型提供 10 个写入工具。

该服务支持 MCP 2026-07-28 规范(通常称为 MCP 2.0),并兼容 2025-11-25 客户端。它适用于 Claude Desktop、Claude Code、Cursor、Windsurf、VS Code Copilot 以及任何兼容 MCP 的客户端。

该服务支持 Jira Cloud、Jira Data Center、Confluence Cloud 和 Confluence Data Center(可自托管)。无需 Atlassian Premium 计划。

基于 FastMCP、httpx 和 Pydantic 构建。

协议支持

  • 该服务实现 MCP 2026-07-28 规范,通常称为 MCP 2.0。
  • 它兼容 2025-11-25 客户端。
  • 传输方式:stdio(默认)和 streamable-http(推荐用于远程客户端)。sse 传输方式仍可使用,但 2026-07-28 规范已将其弃用,因此该服务会打印警告。
  • 该服务不使用 roots、sampling、logging、elicitation 或资源订阅。2026-07-28 规范中的弃用事项不会影响它。
  • 基于 FastMCP 4.x 和 MCP Python SDK 2.x 构建。
错误结果

预期的失败情况——404、401/403、只读拒绝、参数无效——会作为带有 isError: true 的工具结果返回,因此 MCP 客户端会看到失败,而不是一个碰巧包含“error”一词的结果。结果正文仍是与之前相同的 {"error": …, "hint": …} 对象;如果失败来自 API,还会包含 status_code 和 body;hint 会说明如何修复。此对象是结果的文本内容;不会设置 structuredContent,因为严格的 MCP 客户端会根据工具的输出架构验证 structuredContent,即使 isError 为 true 也是如此,而错误封装对象与之不匹配。真正的 Bug 仍会作为协议级工具错误抛出,并记录带有回溯信息的日志。

成功时,工具会将相同的美化格式 JSON 作为文本内容,并将该 JSON 对象作为 structuredContent——之前 2.0 版本中的 {"result": "<json string>"} 封装已移除(如果有效负载是 JSON 数组,例如多文件上传响应,则只提供文本,因为 structuredContent 必须是对象)。工具不声明 outputSchema:上游字段会以未类型化的形式传递;如果客户端需要类型化架构,可通过 @mcp.tool(...) 上的 output_schema=,为单个工具选择启用。

与 mcp-atlassian 的关系

本项目与 mcp-atlassian 配合使用,而非取代它。请配置两个服务:

  • mcp-atlassian 负责:问题、搜索、状态转换、评论、工作日志、页面、Confluence 搜索
  • mcp-atlassian-extended 负责:附件、敏捷、用户、字段、版本(API v2)、日历、休假

工具之间没有重叠——本服务只实现 mcp-atlassian 缺少的工具。

一键安装

在 Cursor 中安装

在 VS Code 中安装 在 VS Code Insiders 中安装

💡 提示: 对于其他 AI 助手(Claude Code、Windsurf、IntelliJ、Gemini CLI),请访问 Atlassian Extended MCP 安装入口。

手动设置指南(点击展开)

前置条件:请先安装 uv(所有 uvx 安装流程都需要它)。安装 uv。

Claude Code
# with writes
claude mcp add atlassian-extended \
  -e JIRA_URL=https://your-company.atlassian.net -e [email protected] -e JIRA_API_TOKEN=your_api_token \
  -- uvx mcp-atlassian-extended
# locked read-only: write tools are not listed
claude mcp add atlassian-extended -e MCP_READ_ONLY=true \
  -e JIRA_URL=https://your-company.atlassian.net -e [email protected] -e JIRA_API_TOKEN=your_api_token \
  -- uvx mcp-atlassian-extended
Windsurf 和 IntelliJ

Windsurf: 添加到 ~/.codeium/windsurf/mcp_config.json IntelliJ: 添加到 Settings | Tools | MCP Servers

注意: 实际的服务配置从 mcpServers 对象中的 atlassian-extended 开始。 移除 MCP_READ_ONLY 以允许写入操作。

{
  "mcpServers": {
    "atlassian-extended": {
      "command": "uvx",
      "args": ["mcp-atlassian-extended"],
      "env": {
        "JIRA_URL": "https://your-company.atlassian.net",
        "JIRA_USERNAME": "[email protected]",
        "JIRA_API_TOKEN": "your_api_token",
        "CONFLUENCE_URL": "https://your-company.atlassian.net/wiki",
        "CONFLUENCE_USERNAME": "[email protected]",
        "CONFLUENCE_API_TOKEN": "your_api_token",
        "MCP_READ_ONLY": "true"
      }
    }
  }
}
Gemini CLI
# with writes
gemini mcp add -s user -e JIRA_URL=https://your-company.atlassian.net -e [email protected] -e JIRA_API_TOKEN=your_api_token -e CONFLUENCE_URL=https://your-company.atlassian.net/wiki -e [email protected] -e CONFLUENCE_API_TOKEN=your_api_token atlassian-extended uvx mcp-atlassian-extended
# locked read-only
gemini mcp add -s user -e MCP_READ_ONLY=true -e JIRA_URL=https://your-company.atlassian.net -e [email protected] -e JIRA_API_TOKEN=your_api_token -e CONFLUENCE_URL=https://your-company.atlassian.net/wiki -e [email protected] -e CONFLUENCE_API_TOKEN=your_api_token atlassian-extended uvx mcp-atlassian-extended
VS Code

添加到 .vscode/mcp.json。移除 MCP_READ_ONLY 以允许写入操作。

{
  "servers": {
    "atlassian-extended": {
      "type": "stdio",
      "command": "uvx",
      "args": ["mcp-atlassian-extended"],
      "env": {
        "JIRA_URL": "https://your-company.atlassian.net",
        "JIRA_USERNAME": "[email protected]",
        "JIRA_API_TOKEN": "your_api_token",
        "MCP_READ_ONLY": "true"
      }
    }
  }
}
Codex
# with writes
codex mcp add atlassian-extended --env JIRA_URL=https://your-company.atlassian.net --env [email protected] --env JIRA_API_TOKEN=your_api_token -- uvx mcp-atlassian-extended
# locked read-only
codex mcp add atlassian-extended --env MCP_READ_ONLY=true --env JIRA_URL=https://your-company.atlassian.net --env [email protected] --env JIRA_API_TOKEN=your_api_token -- uvx mcp-atlassian-extended
pip / uv
uv pip install mcp-atlassian-extended

移除 MCP_READ_ONLY 以允许写入操作。在共享或托管的服务上,应将其放入部署者的环境中,而不是客户端配置中。

配置

Jira Cloud(基本身份验证)
变量必填默认值说明
JIRA_URL是-Jira 实例 URL(例如 https://your-company.atlassian.net)
JIRA_USERNAME是-Jira Cloud 的电子邮件地址
JIRA_API_TOKEN是-从 id.atlassian.com/manage-profile/security/api-tokens 获取的 API 令牌
Jira Data Center / 自托管(Bearer Token)
变量必填默认值说明
JIRA_URL是-Jira 实例 URL
JIRA_PAT是-个人访问令牌(请参阅下方的回退顺序)

服务会按顺序检查这些环境变量,使用第一个匹配项:

  1. JIRA_PAT
  2. JIRA_PERSONAL_TOKEN
  3. JIRA_TOKEN

Basic 认证优先。如果同时设置了 JIRA_USERNAME 和 JIRA_API_TOKEN,服务会使用 Basic 认证,并忽略任何个人访问令牌。只有在 Cloud 配置不完整时,服务才会使用 Bearer 认证。若要强制使用 Bearer,请取消设置 JIRA_USERNAME 和 JIRA_API_TOKEN。

Confluence Cloud(Basic 认证)
变量必填默认值说明
CONFLUENCE_URL是-Confluence URL(例如:https://your-company.atlassian.net/wiki)
CONFLUENCE_USERNAME是-Confluence Cloud 的电子邮箱地址
CONFLUENCE_API_TOKEN是-API 令牌(如果使用同一个 Atlassian 帐户,则与 Jira 的令牌相同)
Confluence Data Center / 自托管(Bearer Token)
变量必填默认值说明
CONFLUENCE_URL是-Confluence 实例 URL
CONFLUENCE_PAT是-个人访问令牌(请参阅下方的回退顺序)

服务会按顺序检查这些环境变量,使用第一个匹配项:

  1. CONFLUENCE_PAT
  2. CONFLUENCE_PERSONAL_TOKEN
  3. CONFLUENCE_TOKEN

这里 Basic 认证也优先:CONFLUENCE_USERNAME + CONFLUENCE_API_TOKEN 优先于 任何个人访问令牌。

所有 Confluence 日历工具都需要 Team Calendars 插件 (/rest/calendar-services/1.0/)。未安装该插件的实例上,每个日历工具都会返回 404,并提示插件名称。

可选设置
变量默认值说明
MCP_READ_ONLYfalsemcp-* 服务共用的名称。任何非 false/0/no/off/空值都会将服务锁定为只读:10 个写入工具和写入工作流提示词不会列出,并且无法在运行时解除锁定
ATLASSIAN_READ_ONLYfalseMCP_READ_ONLY 的单服务别名;任一变量都会将服务锁定为只读。--read-only 只能启用锁定
ATLASSIAN_HTTP_BEARER_TOKEN-Bearer 令牌(至少 16 个字符),将 HTTP 传输绑定到非环回主机时必须设置;客户端发送 Authorization: Bearer <token>
ATLASSIAN_UPLOAD_DIR工作目录只能上传此目录下的文件(jira_upload_attachment)。相对路径会以工作目录为基准解析。
ATLASSIAN_DOWNLOAD_DIR./atlassian-downloadsjira_download_attachment 的写入位置。首次下载时创建。
JIRA_TIMEOUT30Jira HTTP 请求超时时间,单位为秒
JIRA_SSL_VERIFYtrue设置为 false 可跳过 Jira 的 SSL 验证
CONFLUENCE_TIMEOUT30Confluence HTTP 请求超时时间,单位为秒
CONFLUENCE_SSL_VERIFYtrue设置为 false 可跳过 Confluence 的 SSL 验证

兼容性

客户端支持安装方式
Claude Desktop是claude_desktop_config.json
Claude Code是claude mcp add
Cursor是一键深度链接或 .cursor/mcp.json
Windsurf是~/.codeium/windsurf/mcp_config.json
VS Code Copilot是.vscode/mcp.json
任意 MCP 客户端是stdio 或 HTTP 传输

工具(22 个)

类别数量工具
Jira Issues2创建(支持自定义字段;史诗使用 issue_type="Epic"),更新(支持自定义字段)
Jira Links2创建链接,删除链接
Jira Attachments4获取,上传,下载,删除
Jira Users1按姓名/电子邮件搜索
Jira Metadata3列出项目,列出字段,待办列表
Jira Agile4获取看板,获取看板配置,获取迭代,移至迭代
Jira Versions3获取项目版本,创建版本,更新版本
Confluence Calendars3列出(日历类型/搜索筛选),休假(日期范围、按人员),迭代容量
完整工具参考(点击展开)
Jira Issues
工具描述
jira_create_issue使用标准字段和自定义字段创建问题(issue_type="Epic" 会创建一个史诗)
jira_update_issue更新问题字段和自定义字段
Jira Links
工具描述
jira_create_link在两个问题之间创建链接(Relates、Blocks 等)
jira_delete_link按 ID 删除问题链接
Jira Attachments
工具描述
jira_get_attachments列出问题的附件
jira_upload_attachment将文件上传到问题
jira_download_attachment将附件下载到本地文件
jira_delete_attachment删除附件
Jira Users
工具描述
jira_search_users按姓名/电子邮件搜索用户
Jira Metadata
工具描述
jira_list_projects列出所有可访问的项目
jira_list_fields列出字段(支持搜索/自定义筛选)
jira_backlog获取看板的待办问题
Jira Agile
工具描述
jira_get_board获取看板详情
jira_board_config获取看板列配置
jira_get_sprint获取迭代详情
jira_move_to_sprint将问题移至迭代
Jira Versions
工具描述
jira_get_project_versions列出项目的所有版本(REST API v2,Server/DC + Cloud)
jira_create_version在项目中创建新版本(REST API v2)
jira_update_version更新现有版本(REST API v2)
Confluence Calendars
工具描述
confluence_list_calendars列出日历;可选 filter_type 和名称/空间 search
confluence_get_time_off获取指定日期范围内的休假事件;可选 person(精确匹配)和 group_by_person
confluence_sprint_capacity计算包含休假的迭代容量
## 资源(15)

该服务将精选的 Jira 和 Confluence 工作流指南作为 MCP 资源公开。

URI名称描述
resource://rules/jira-hierarchyJira 问题层级Epic/故事/任务/子任务之间的关系,以及各层级的适用场景
resource://rules/jira-ticket-writingJira 工单编写规范摘要格式、描述结构、验收标准的位置
resource://rules/acceptance-criteria验收标准规范Given/When/Then 格式、可测试性、DoD 与 AC 的区别
resource://rules/sprint-hygieneSprint 管理规范容量规划、遗留事项政策、Sprint 目标、回顾事项
resource://rules/jira-workflowJira 工作流与自动化状态转换、自动化触发条件、后置功能
resource://rules/issue-linking问题关联最佳实践关联类型(阻塞、相关、重复)、跨项目关联、Epic 关联
resource://guides/story-points故事点估算斐波那契数列、相对规模估算、团队校准、反模式
resource://guides/definition-of-done完成定义检查清单检查清单格式、团队级与组织级 DoD、验证步骤
resource://guides/jira-labelsJira 标签分类命名约定、标签类别、标签与组件的区别
resource://guides/jql-libraryJQL 查询库常用查询、日期函数、自定义字段语法、已保存的筛选器
resource://guides/custom-fieldsJira 自定义字段治理字段类型、屏幕方案、上下文、命名规范
resource://guides/confluence-spacesConfluence 空间组织空间类型、权限方案、归档、模板
resource://guides/agile-ceremonies敏捷会议规范站会、规划、评审、回顾的格式和时间限制
resource://guides/git-jira-integrationGit-Jira 集成模式智能提交、分支命名、PR 关联、状态转换
resource://templates/confluence-pagesConfluence 页面模板ADR、运行手册、入职指南、事后分析页面结构

提示词(5)

该服务提供 MCP 提示词——可复用的多工具工作流模板,客户端可以将其显示为斜杠命令。

提示词参数工作流
create_ticketproject_key、issue_type收集字段 → 设置自定义字段(DoD、隐私、安全)→ 创建 → 添加关联
plan_sprintboard_id、sprint_id检查 Sprint → 查看待办事项 → 计算容量 → 建议范围 → 移动问题
close_ticketissue_key验证 DoD → 检查关联的 MR → 转换状态 → 添加结单评论
team_availabilityteam_members、start_date、end_date查看哪些成员休假 → 按人查看休假时间 → 计算容量 → 标记冲突
manage_attachmentsissue_key列出附件 → 找出过期/重复项 → 上传/下载 → 清理

使用示例

问题管理
"Create a story in PROJ with custom story points"
→ jira_create_issue(project_key="PROJ", summary="Add OAuth login", issue_type="Story",
    custom_fields={"customfield_10004": 5})

"Update a ticket's priority and add labels"
→ jira_update_issue(issue_key="PROJ-123", fields={"priority": {"name": "High"}, "labels": ["urgent"]})

"Create an epic and link related stories"
→ jira_create_issue(project_key="PROJ", summary="Q1 Auth Overhaul", issue_type="Epic")
→ jira_create_link(link_type="Relates", inward_issue="PROJ-100", outward_issue="PROJ-200")
附件
"List attachments on PROJ-123"
→ jira_get_attachments(issue_key="PROJ-123")

"Upload a screenshot to a ticket"
→ jira_upload_attachment(issue_key="PROJ-123", file_path="./screenshot.png")

"Download an attachment"
→ jira_download_attachment(content_url="https://jira.example.com/rest/api/2/attachment/content/456",
    save_path="report.pdf")  # lands in ./atlassian-downloads/report.pdf (or ATLASSIAN_DOWNLOAD_DIR)
敏捷与 Sprint 管理
"Get the current sprint for board 42"
→ jira_get_board(board_id=42) → jira_get_sprint(sprint_id=7)

"Move tickets into the next sprint"
→ jira_move_to_sprint(sprint_id=8, issue_keys=["PROJ-1", "PROJ-2", "PROJ-3"])

"View backlog for board 42"
→ jira_backlog(board_id=42, max_results=50)
版本管理
"List versions for project PROJ"
→ jira_get_project_versions(project_key="PROJ")

"Create a new release version"
→ jira_create_version(project_key="PROJ", name="v2.0.0", release_date="2026-04-01")

"Mark version as released"
→ jira_update_version(version_id="200", released=True)
休假与 Sprint 容量
"Who is out today?"
→ confluence_get_time_off(start_date="today", end_date="today", group_by_person=True)

"Get team time-off for the next two weeks"
→ confluence_get_time_off(start_date="today", end_date="+14d", group_by_person=True)

"Calculate sprint capacity accounting for PTO"
→ confluence_sprint_capacity(
    team_members=["Alice", "Bob", "Carol"],
    sprint_start="2025-03-03", sprint_end="2025-03-14")

安全注意事项

  • 令牌范围:对于 Jira Cloud,请使用权限范围最小化的 API 令牌。对于 Data Center,请使用项目级访问权限的 PAT。
  • 只读模式:在你控制的启动环境中设置 MCP_READ_ONLY=true(或 ATLASSIAN_READ_ONLY=true),服务器启动后便会锁定:10 个写入工具和写入工作流提示词不会列出,调用其中任意一个都会返回“Unknown tool”,而防护机制会拒绝任何仍到达服务器的写入操作。运行时无法解除锁定——其他来源提供的 false、.env 文件或工具参数均不行;任何不是 false/0/no/off/空值的值都会锁定,而 --read-only 只能加强锁定。锁定强度取决于启动环境:请在用户无法编辑的位置设置,例如受管理的 MCP 配置(如 Claude Code managed-mcp.json)、容器、k8s 或 systemd 环境变量,或托管的 HTTP 部署。自行启动服务器的用户可以控制其环境。所有写入工具都是 Jira 工具;两种模式下的 Confluence 工具都为只读。
  • HTTP 传输身份验证:HTTP 传输(--transport streamable-http/sse)会向任何能访问端口的人开放所有使用已配置 Atlassian 凭据的工具,因此绑定到非环回地址时必须使用共享 bearer 令牌。设置 ATLASSIAN_HTTP_BEARER_TOKEN(至少 16 个字符;openssl rand -hex 32),客户端发送 Authorization: Bearer <token>;令牌采用恒定时间比较。未设置令牌时,服务器会拒绝在 127.0.0.1/localhost/::1 以外的任何主机上启动。服务器还会验证 HTTP 请求中的 Host/Origin 标头(host_origin_protection="auto"),防止 DNS 重绑定页面操控绑定到环回地址的服务器。
  • 上传目录限制:jira_upload_attachment 只会读取上传根目录中的文件——如果设置了 ATLASSIAN_UPLOAD_DIR,则使用其指定目录,否则使用工作目录。路径会在检查是否位于根目录内之前解析(跟随符号链接),因此指向根目录外的符号链接会被拒绝;根目录下的点文件和点目录也会被拒绝。大小上限为 100 MB。
  • 下载目录限制:jira_download_attachment 只会写入下载目录(ATLASSIAN_DOWNLOAD_DIR,默认为 ./atlassian-downloads/,首次使用时创建)。save_path 必须是纯文件名——目录、绝对路径和点文件都会被拒绝,不会被静默删减。现有文件绝不会被覆盖:系统会添加 -1、-2 这样的数字后缀,并返回最终路径。下载内容上限为 100 MB,与上传上限一致。请将 atlassian-downloads/ 添加到项目的 .gitignore。
  • 桌面客户端注意事项:Claude Desktop 等客户端会以 / 或 $HOME 作为工作目录启动 stdio 服务,这会使文件系统的大部分区域成为上传根目录(点文件除外)。对于此类客户端,请明确设置 ATLASSIAN_UPLOAD_DIR(如果需要,也可设置 ATLASSIAN_DOWNLOAD_DIR)。
  • 迁移(0.11 → 0.12):上传现在仅限于 ATLASSIAN_UPLOAD_DIR(默认值:服务器的工作目录),且会拒绝点文件——如果客户端要从 ~/Downloads 上传,请设置 ATLASSIAN_UPLOAD_DIR=~/Downloads。下载现在会写入 ./atlassian-downloads/(或 ATLASSIAN_DOWNLOAD_DIR),而不是工作目录;save_path 只能是文件名,且现有文件绝不会被覆盖。
  • 下载 URL 验证:服务器会根据已配置的 Jira URL 域名验证每个附件下载 URL,以防止 SSRF。
  • SSL 验证:服务器默认会为 Jira 和 Confluence 启用 SSL 验证。仅当可信网络中使用自签名证书时才应禁用。
  • MCP 工具注解:每个工具都会声明 readOnlyHint、destructiveHint 和 idempotentHint,用于客户端侧的权限提示。
  • 不存储凭据:服务器在启动时从环境变量读取令牌,绝不会存储这些令牌。

速率限制和权限

速率限制

Jira Cloud 对每位用户实施速率限制。触发速率限制时,工具会返回 429 错误,并提示等待。由于 Team Calendars 插件的架构,Confluence Calendar API 调用可能较慢。

所需权限
操作最低 Jira 权限
列出项目、字段、看板浏览项目
搜索用户浏览用户
创建/更新问题、史诗创建问题 + 编辑问题
创建/删除问题链接链接问题
上传/删除附件创建附件 + 删除自己的附件
将问题移至冲刺管理冲刺
创建/更新版本管理项目
Confluence 日历/休假查看空间内容

CLI 与传输选项

# Default: stdio transport (for MCP clients)
uvx mcp-atlassian-extended

# HTTP transport. Use streamable-http for remote clients.
uvx mcp-atlassian-extended --transport streamable-http --port 9000

# A non-loopback HTTP bind requires a shared bearer token (>= 16 chars).
# Clients send it as "Authorization: Bearer <token>".
ATLASSIAN_HTTP_BEARER_TOKEN=$(openssl rand -hex 32) \
  uvx mcp-atlassian-extended --transport streamable-http --host 0.0.0.0 --port 9000

# sse still works, but the MCP 2026-07-28 spec deprecates it. The server prints a warning.
uvx mcp-atlassian-extended --transport sse --host 127.0.0.1 --port 8000

# CLI overrides for config
JIRA_PAT=xxx uvx mcp-atlassian-extended --jira-url https://jira.example.com --read-only

--jira-token、--jira-api-token、--confluence-token 和 --confluence-api-token 标志仍然可用,但已弃用且不会显示在 --help 中:它们会使令牌暴露在 ps 和 shell 历史记录中。请改用 JIRA_PAT / JIRA_API_TOKEN / CONFLUENCE_PAT / CONFLUENCE_API_TOKEN。

服务会通过 python-dotenv 自动从工作目录加载 .env 文件。

部分配置:你可以分别配置 Jira 和 Confluence。可以设置其中一个,也可以同时设置。服务始终会公布全部 22 个工具。对于未配置产品的工具,会返回“未配置”错误,并指出需要设置的变量。服务不会在启动时失败。

Docker

提供了一个精简的非 root 镜像。镜像默认锁定为只读模式(MCP_READ_ONLY=true);传入 -e MCP_READ_ONLY=false 即可允许写入。

docker build -t mcp-atlassian-extended .
docker run --rm -i \
  -e JIRA_URL=https://your-company.atlassian.net \
  -e [email protected] -e JIRA_API_TOKEN=your_api_token \
  mcp-atlassian-extended

入口点是 mcp-atlassian-extended 命令;请在镜像名称后传入 CLI 标志。若要在已发布的端口上使用 HTTP 传输,还需设置 ATLASSIAN_HTTP_BEARER_TOKEN,并使用 --transport streamable-http --host 0.0.0.0 运行。

常见问题

是否支持 MCP 2026-07-28 规范(MCP 2.0)?

支持。它实现了 MCP 2026-07-28 规范(MCP 2.0),并兼容 2025-11-25 客户端。

支持哪些传输方式?

支持 stdio(默认)和 streamable-http(推荐用于远程客户端)。sse 传输仍然可用,但已被 2026-07-28 规范弃用。

我可以以只读模式运行 mcp-atlassian-extended,让助手无法更改任何内容吗?

可以。使用 MCP_READ_ONLY=true(或 ATLASSIAN_READ_ONLY=true)启动。这样一来,10 个写入工具和写入工作流提示词都不会被列出,因此模型不会看到它们;调用其中任何一个都会返回“未知工具”,并且在进程运行期间无法重新启用写入功能。请在你能控制的启动环境中设置该变量,例如受管 MCP 配置、容器或 systemd 环境,或托管部署,因为自行启动服务的用户可以不设置该变量。

它能与可自托管的 Jira 和 Confluence 配合使用吗?

可以。它支持 Jira Cloud、Jira Data Center、Confluence Cloud 和 Confluence Data Center。它使用 Jira REST API v2,可用于 Cloud 和 Server/Data Center。

需要哪些权限和令牌范围?

它需要 Jira API 令牌(Cloud)或个人访问令牌(Data Center)。每项操作都需要对应的 Jira 权限。请参阅所需权限。

它会取代 mcp-atlassian 吗?

不会。它与 mcp-atlassian 并行运行,不会有任何工具重叠。mcp-atlassian 负责核心搜索和 CRUD;此服务增加了附件、敏捷看板、版本和日历功能。

Confluence 工具需要附加组件吗?

需要。三个 Confluence 日历工具都需要 Team Calendars 附加组件。若未安装,它们会返回 404,并提示附加组件名称。

它提供多少个工具?

它为 Jira 和 Confluence 提供 22 个工具、15 个资源和 5 个提示词。

相关 MCP 服务

  • mcp-gitlab — GitLab 集成(83 个工具、7 个资源、6 个提示词)
  • mcp-coda — Coda 集成(53 个工具、12 个资源、5 个提示词)
  • mcp-argocd — Argo CD 集成(37 个工具、7 个资源、7 个提示词)

致谢

灵感来自 sooperset 开发的 mcp-atlassian。架构和模式遵循类似的惯例。

开发

git clone https://github.com/vish288/mcp-atlassian-extended.git
cd mcp-atlassian-extended
uv sync --all-extras

uv run pytest --cov
uv run ruff check .
uv run ruff format --check .

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。