dsh-plugin-atlassian:用 OAuth 2.1 把 Atlassian 官方远程 MCP 接进 DSH

前言

在 DeepSeek Harness(DSH)里让 agent 操作 Jira、Confluence,常见做法是走 MCP。DSH 自带的 dsh-mcp-client 不支持 OAuth;若改用 API token,往往每次工具调用都要显式传 cloudId,站点信息也要自己维护。Atlassian 官方提供了远程 MCP 服务器,产品覆盖 Jira、Confluence、Jira Service Management、Bitbucket 与 Compass,授权模型是 OAuth 2.1。

下面介绍社区插件 dsh-plugin-atlassian(维护者 zhenyong97,分类:联网工具)。它把上述官方远程 MCP 接到 DSH,一次浏览器授权后,工具以 mcp__atlassian__<名称> 的形式出现在 agent 工具列表里,站点由授权决定,不需要再传 cloudId。

这是什么

dsh-plugin-atlassian 是 DeepSeek Harness 的 Cordis 插件:通过 OAuth 2.1 连接 Atlassian 官方远程 MCP 服务器,把 Jira、Confluence、JSM、Bitbucket、Compass 等产品的 MCP 工具桥接到当前 DSH profile。

许可证为 MIT;当前 package 版本为 0.1.0。插件在 DSH 社区目录 skillhub.cn 收录,源码与说明见 GitHub。

核心功能

MCP 工具桥接

授权成功后,agent 可直接调用例如:

mcp__atlassian__getJiraIssue
mcp__atlassian__createJiraIssue
mcp__atlassian__searchConfluenceUsingCql

实际可用工具集合取决于你在授权站点里的产品权限。README 中列出的典型工具包括:JQL 搜索与读写工单、可见项目列表、工单状态流转查询;Confluence 的 CQL 搜索与页面读写;以及 atlassianUserInfo、getAccessibleAtlassianResources 等账号与站点信息类接口。

插件只桥接 MCP Tools,Resources 与 Prompts 暂不支持;图片类结果会渲染为占位文本。

设置页与 OAuth

在 DSH 设置 → Atlassian 完成连接:点「连接 Atlassian」,在 Atlassian 授权页选择站点并批准,状态变为「已连接」后,设置页会显示站点与可用工具数量。授权信息保存在 $DSH_HOME/.dsh-atlassian/。

内置 Jira 看板

授权后侧边栏会出现 Jira 图标,打开的是与 MCP 同一条连接的看板,无需额外 token 或 cloudId。

看板支持按 Jira 状态分列、按项目与状态类别(待办 / 进行中 / 完成)筛选、客户端子串搜索、进行中与全部视图切换,以及可编辑的 JQL(回车生效)。卡片详情抽屉展示 Markdown 描述、优先级、负责人、项目,以及服务端返回的状态流转按钮;README 明确要求 agent 不要自行改工单状态,变更应在看板抽屉里由你确认。

右键卡片可把工单「投递」到当前或新建会话,或复制提示词;支持 Shift+点击 多选与批量投递,多个工单会合成一条提示词。指令模板可通过 board.promptTemplate 自定义,默认模板约束 agent 先读代码、限定任务范围,并再次强调不要自行变更 Jira 状态。

安装与启用

推荐安装 Release 上的预构建包(含已编译 lib/,安装时不跑构建,可避免 pnpm 默认拦截构建脚本):

dsh plugin --profile desktop add https://github.com/zhenyong97/dsh-plugin-atlassian/releases/latest/download/dsh-plugin-atlassian.tgz

装完后重启该 profile。把 desktop 换成你实际使用的 profile 名。

若要从源码安装并本地编译,可用仓库地址(会执行 prepare 构建,pnpm 可能要求你在该 profile 的 pnpm-workspace.yaml 里授权构建脚本):

dsh plugin --profile desktop add github:zhenyong97/dsh-plugin-atlassian

运行环境要求 Node ^22.19.0 || >=24.0.0(见 package.json 的 engines)。

连接 Atlassian

  1. 打开 设置 → Atlassian
  2. 点 连接 Atlassian
  3. 在授权页选择要授权的站点并批准
  4. 状态变为 已连接,页面列出站点与可用工具数

授权页未自动打开时,设置页会提供可点击的授权链接。若流程卡住,可点 断开连接 后重连。redirectPort 被占用时插件会退回临时端口并重新注册。

典型用法

连上之后,可直接用自然语言驱动 agent,README 中的示例包括:

  • 「列出 PROJ 项目里分配给我的、还没关闭的工单」
  • 「把这段需求拆成 5 个子任务,挂到 PROJ-123 下面」
  • 「把这次会议的结论写成 Confluence 页面,放到 Engineering 空间」
  • 「搜一下 Confluence 里带 release-notes 标签的页面,汇总成本周发布说明」

日常也可先看板筛选工单,再右键投递到会话,让 agent 在明确任务边界下改代码或写文档。

配置

默认配置开箱可用。需要覆盖时,在该 profile 的 cordis.patch.yml 里按 id: atlassian 写配置。注意:补丁会整体替换该行的 config,不是字段级合并,覆盖时需把其余字段一并写上。

字段 默认值 含义
serverName atlassian 工具名前缀:mcp__<serverName>__<tool>
redirectPort 3334 OAuth 回调端口,尽量保持不变
expectedSite 空 授权后校验站点,不一致时提示(非硬阻断)
autoOpenBrowser true 点连接时是否自动打开浏览器
board.jql 空 看板默认 JQL,留空用内置「进行中」视图
board.limit 50 每次刷新工单上限(服务端单页最多 100)
board.timeoutMs 90000 单次看板读取超时
board.promptTemplate 空 投递 agent 的指令模板,留空用内置

完整字段与默认值见仓库中的 cordis.patch.yml。

卸载

dsh plugin --profile desktop remove dsh-plugin-atlassian

删除 $DSH_HOME/.dsh-atlassian/ 可一并清除授权信息。

适用场景与注意

适合谁: 已在 Atlassian Cloud 上使用 Jira / Confluence 等,希望在 DSH agent 里用官方远程 MCP、且希望用 OAuth 一次授权代替反复传 cloudId 与 API token 的开发者或团队。

常见问题(摘自 README): profile 无 web server 或未重启会导致设置里没有 Atlassian 页;连接成功但工具数为 0 多为站点产品权限问题;expectedSite 与实际授权站点不一致时仅提示,工具仍可用。

安全与信任: 插件以当前 DSH 进程的权限运行,OAuth token 落在本机 $DSH_HOME/.dsh-atlassian/。安装前请自行查看 GitHub 源码 与 MIT 许可证,确认符合你的合规要求。

DSH 生态强调「一切皆插件」;skillhub.cn 上的社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-plugin-atlassian 补上了 DSH 侧 OAuth 2.1 与 Atlassian 官方远程 MCP 之间的桥,并在 UI 里提供连接设置与 Jira 看板,方便从工单到 agent 会话的衔接。若要安装或查更新,可看社区目录页与 GitHub 仓库:

  • 目录页:https://www.skillhub.cn/plugins/zhenyong97/dsh-plugin-atlassian
  • GitHub:https://github.com/zhenyong97/dsh-plugin-atlassian
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜