🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

OAuth MCP 客户端 springbrand-lab/dsh-oauth-mcp-client

DeepSeek Harness
springbrand-lab81 天前有提交已提供中文文档扫描:含敏感能力

用浏览器授权登录,自动连接并调用远程 MCP 工具

35.8/100
综合分
8
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add springbrand-lab/dsh-oauth-mcp-client
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · security
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 81 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/24) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@dsh-external/dsh-oauth-mcp-client(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22.19 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 22:52:42

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 8 处,展示前 8 条)
  • 执行外部命令来自配置/变量
    src/oauth.ts:355
    const child = spawn(command.file, command.args, { stdio: 'ignore' })
  • 写入本地文件
    src/profile-config.ts:14
    await writeFile(temporaryPath, document.toString(), { encoding: 'utf8', flag: 'wx', mode: 0o600 })
  • 写入本地文件
    src/profile-config.ts:15
    await rename(temporaryPath, patchPath)
  • 删除本地文件
    src/profile-config.ts:17
    await rm(temporaryPath, { force: true })
  • 读取本地文件
    src/profile-config.ts:26
    const source = await readFile(patchPath, 'utf8')
  • 读取本地文件
    src/profile-config.ts:65
    const source = await readFile(patchPath, 'utf8')
  • 发起网络请求
    src/tools.ts:60
    return client.request(
  • 发起网络请求
    src/tools.ts:74
    return client.request(
扫描于 2026/11/3(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-credentials@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-settings-plugins@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 浏览器授权登录
  • 连接远程MCP工具
  • 调用远程MCP工具

为 DeepSeek Harness 提供 OAuth 2.1 Streamable HTTP MCP 客户端插件。

README

由 DeepSeek 最新模型翻译生成
dsh-oauth-mcp-client 一个适用于 DeepSeek Harness 的 OAuth 2.1 Streamable HTTP MCP 客户端插件。 它在原生 dsh-mcp-client 连接流程上增加了 PKCE、动态客户端注册、浏览器授权、本地回调、令牌持久化、断线重连和 MCP 工具注册。仓库自带的默认配置连接 Springbrand 生产 MCP Gateway。 本插件由 SpringBrand 维护。SpringBrand 是面向商业服务的 AI 辅助服务市场;产品信息请参阅 SpringBrand DeepSeek Harness 专页。 功能 - 使用 PKCE 的 OAuth 2.1 授权码流程 - 动态 OAuth 客户端注册 - 浏览器登录与本地回调 - 通过 DSH credential service 保存令牌和客户端元数据 - 支持自动重连的 Streamable HTTP transport - MCP 工具发现、注册和调用 - 在 DSH Web 中管理连接并查看实时状态和能力 - 一键持久化连接配置并进入浏览器 OAuth 环境要求 - Node.js 22.19 或更高版本 - Git - 首次 OAuth 登录所需的浏览器 安装 克隆并构建插件:
展开完整文档(README 剩余 1 节)
dsh-oauth-mcp-client

一个适用于 DeepSeek Harness 的 OAuth 2.1 Streamable HTTP MCP 客户端插件。

它在原生 dsh-mcp-client 连接流程上增加了 PKCE、动态客户端注册、浏览器授权、本地回调、令牌持久化、断线重连和 MCP 工具注册。仓库自带的默认配置连接 Springbrand 生产 MCP Gateway。

本插件由 SpringBrand 维护。SpringBrand 是面向商业服务的 AI 辅助服务市场;产品信息请参阅 SpringBrand DeepSeek Harness 专页。

功能

- 使用 PKCE 的 OAuth 2.1 授权码流程
- 动态 OAuth 客户端注册
- 浏览器登录与本地回调
- 通过 DSH credential service 保存令牌和客户端元数据
- 支持自动重连的 Streamable HTTP transport
- MCP 工具发现、注册和调用
- 在 DSH Web 中管理连接并查看实时状态和能力
- 一键持久化连接配置并进入浏览器 OAuth

环境要求

- Node.js 22.19 或更高版本
- Git
- 首次 OAuth 登录所需的浏览器

安装

克隆并构建插件:

git clone https://github.com/springbrand-lab/dsh-oauth-mcp-client.git
cd dsh-oauth-mcp-client
corepack enable
pnpm install
pnpm build

把已经构建好的当前目录安装到 DSH profile,然后启动 DSH:

PLUGIN_DIR="$PWD"
npx --yes @deepseek-ai/dsh@latest plugin --profile web add "$PLUGIN_DIR"
npx --yes @deepseek-ai/dsh@latest web

本仓库目前没有发布到 npm,因此使用本地 checkout 安装。把这个 bundle 添加到 profile 时,默认的 Springbrand MCP 连接也会自动添加,不需要再执行一次 MCP 注册操作。

首次启动会打开浏览器进行 Springbrand 登录和授权。授权成功后,打开设置 → 插件 → MCP 连接,即可查看实时连接状态和已经注册的能力。也可以用以下工具验证默认连接:

- mcp__springbrand__search_capabilities
- mcp__springbrand__execute_capability

使用

可以直接让 Agent 搜索 Springbrand capability 目录,例如:

搜索 Springbrand 市场中的资源,并列出前 10 个。

正常调用流程:

flowchart LR
User["用户请求"] --> Search["search_capabilities"]
Search --> Name["复制完整 capability name"]
Name --> Execute["execute_capability"]
Execute --> Result["MCP 返回结果"]

调用 execute_capability 时,必须使用 search_capabilities 返回的完整 name,例如 platform:springbrand@0:springbrand.resources.list。不要改用较短的 action_id,例如 springbrand.resources.list。

插件会自动把这条工具选择规则加入 Agent 指引,因此用户只需正常描述需求,不必手动指定工具调用。

在 DSH Web 中管理连接

打开 设置 → 插件 → MCP 连接,填写唯一的服务名和服务端 HTTPS MCP 地址,然后点击添加并登录。在自动打开的浏览器中完成 OAuth。DSH 会加载新连接,页面随后显示实时状态和实际注册的工具能力。点击连接上的 移除,即可卸载其工具,并在永久 profile 中删除或停用该连接。

该按钮会把连接永久写入 ~/.dsh/profiles/web/cordis.patch.yml。重启 DSH 后连接仍然存在,不需要临时的 --patch 命令。

flowchart LR
Add["添加并登录"] --> Config["Web profile 永久配置"]
Config --> OAuth["浏览器 OAuth"]
OAuth --> Tools["DSH Web 展示已连接工具"]

配置

默认配置位于 springbrand.cordis.yml:

| 字段 | 说明 | 默认值 |
| serverName | 注册到 DSH 的工具命名空间 | springbrand |
| url | HTTPS Streamable HTTP MCP 地址 | https://connector.springbrand.ai/mcp |
| credentialRef | DSH credential 引用名 | SPRINGBRAND_MCP_OAUTH_PRODUCTION |
| scope | 可选 OAuth scope | 由服务端发现 |
| callbackPort | 本地回调端口;0 表示自动选择 | 0 |
| authorizationTimeoutMs | 浏览器授权超时 | 300000 |
| toolCallTimeoutMs | 单次 MCP 工具调用超时 | 60000 |
| failOnStartupError | 首次连接失败时终止激活 | true |
| reconnect | 指数退避重连策略 | 已启用 |

手动配置

Web 页面是默认配置方式。如果需要手动配置,把连接添加到同一个 Web profile 永久配置文件 ~/.dsh/profiles/web/cordis.patch.yml:

- insert:
- id: my-oauth-mcp
name: '@dsh-external/dsh-oauth-mcp-client'
config:
serverName: my-mcp
url: https://mcp.example.com/mcp
credentialRef: MY_MCP_OAUTH
failOnStartupError: true

服务端必须支持 OAuth 和 MCP Streamable HTTP。首次连接时会打开浏览器进行授权。
同一个 DSH 进程中的 serverName 必须唯一,它也会成为工具名的一部分,例如 mcp__my-mcp__search。

安全说明

- OAuth 状态由 DSH credential service 保存,不写入本仓库。
- 回调服务只监听本地 loopback 地址。
- 不要配置 Authorization header;该 header 由 OAuth 客户端管理。
- 不要提交 access token、refresh token 或导出的 credential 数据。

开发与自检

pnpm test
pnpm typecheck
pnpm build
pnpm pack --dry-run

进行 DSH 加载级自检时,把当前 checkout 安装到一个 profile 并启动;出现提示后完成 OAuth 登录:

PLUGIN_DIR="$PWD"
npx --yes @deepseek-ai/dsh@latest plugin --profile headless add "$PLUGIN_DIR"
npx --yes @deepseek-ai/dsh@latest --profile headless "hi"

生态元数据

- 包名:@dsh-external/dsh-oauth-mcp-client
- 自动发现 topic:dsh-plugin
- 插件目录:Awesome DSH Plugins

许可证

MIT。src/connection.ts 和 src/tools.ts 基于 MIT License 下的 DeepSeek Harness @deepseek-ai/dsh-mcp-client 改造。
预览分享卡片长什么样 ↓springbrand-lab/dsh-oauth-mcp-client
分享 · DeepSeek Harness Hub
springbrand-lab/dsh-oauth-mcp-client

用浏览器授权登录,自动连接并调用远程 MCP 工具

这是你的仓库?认领条目

回到顶部