dshbase

插件目录 / Developer / dsh-oauth-mcp-client

dsh-oauth-mcp-client

未验证 springbrand-lab

✓ 持续维护 基于 9 个官方 DSH 包 纯 TypeScript

查看 GitHub ↗ ← 返回插件目录

9Stars
1Forks
0未关闭 issue
TypeScript语言
2026-08-14最近推送
跨平台平台

功能简介

OAuth 2.1流式HTTP MCP客户端插件(DeepSeek Harness)

我们的评价
未验证 — 尚未实测

OAuth 2.1流式HTTP MCP客户端插件(DeepSeek Harness) 尚未验证——请自行安装测试。

「未验证」表示我们的自动化 CI 尚未安装过该插件。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

你是插件作者? 想拿到「已验证」标签——提交你自己的验证证据(截图、日志或短视频),我们审核通过后即改为「已验证」。

提交验证证据 ↗

README

dsh-oauth-mcp-client

English | 简体中文

An OAuth 2.1 Streamable HTTP MCP client plugin for
DeepSeek Harness.

It extends the native dsh-mcp-client connection flow with PKCE, dynamic
client registration, browser authorization, a loopback callback, persistent
token storage, reconnect handling, and MCP tool registration. The bundled
configuration connects to the Springbrand production MCP Gateway.

This plugin is maintained by SpringBrand, an
AI-assisted marketplace for business services. See the
SpringBrand DeepSeek Harness page
for product information.

Features

  • OAuth 2.1 authorization code flow with PKCE
  • Dynamic OAuth client registration
  • Browser login with a loopback callback
  • Token and client metadata storage through the DSH credential service
  • Streamable HTTP transport with automatic reconnects
  • MCP tool discovery, registration, and execution
  • DSH Web connection management with live status and capability discovery
  • One-click persistent connection setup followed by browser OAuth

Requirements

  • Node.js 22.19 or later
  • Git
  • A browser for the first OAuth login

Install

Clone and build the plugin:

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

Install the built checkout into a DSH profile and start DSH:

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

This repository is not published to npm, so installation currently uses the
local checkout. Adding the bundle to the profile also adds the bundled
Springbrand MCP connection; there is no separate MCP registration step.

The first startup opens a browser for Springbrand login and consent. After
authorization, open Settings → Plugins → MCP Connections to see the live
connection status and registered capabilities. You can also use these tools to
verify the bundled connection:

  • mcp__springbrand__search_capabilities
  • mcp__springbrand__execute_capability

Use

Ask the agent to search the Springbrand capability catalog, for example:

Search the Springbrand marketplace for resources and list the first 10.

The expected call flow is:

flowchart LR
  User["User request"] --> Search["search_capabilities"]
  Search --> Name["Copy the complete capability name"]
  Name --> Execute["execute_capability"]
  Execute --> Result["MCP result"]

When calling execute_capability, use the complete name returned by
search_capabilities, such as
platform:springbrand@0:springbrand.resources.list. Do not replace it with
the shorter action_id, such as springbrand.resources.list.

The plugin adds this tool-selection guidance to the agent automatically, so a
normal user request is sufficient; manual tool invocation is not required.

Manage connections in DSH Web

Open Settings → Plugins → MCP Connections, enter a unique server name and
the server's HTTPS MCP URL, then select Add and sign in. Complete the OAuth
flow in the browser that opens. DSH loads the new connection and the page shows
its live status and actual registered tools. Select Remove on a connection
to unload its tools and remove or disable it in the permanent profile.

The button writes the connection permanently to
~/.dsh/profiles/web/cordis.patch.yml. Restarting DSH keeps the connection;
there is no temporary --patch command.

flowchart LR
  Add["Add and sign in"] --> Config["Permanent Web profile config"]
  Config --> OAuth["Browser OAuth"]
  OAuth --> Tools["Connected tools in DSH Web"]

Configuration

The bundled defaults are defined in
springbrand.cordis.yml:

Field Description Default
serverName Namespace used in registered DSH tool names springbrand
url HTTPS Streamable HTTP MCP endpoint https://connector.springbrand.ai/mcp
credentialRef DSH credential reference SPRINGBRAND_MCP_OAUTH_PRODUCTION
scope Optional OAuth scope Discovered from the server
callbackPort Loopback callback port; 0 selects a free port 0
authorizationTimeoutMs Browser authorization timeout 300000
toolCallTimeoutMs Timeout for one MCP tool call 60000
failOnStartupError Fail activation when the first connection fails true
reconnect Exponential reconnect policy Enabled

Manual configuration

The Web page is the default setup path. To configure a connection manually,
add it to the same permanent Web profile file at
~/.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

The server must support OAuth and MCP Streamable HTTP. Its first connection
opens the browser authorization flow. serverName must be unique within the
DSH process and becomes part of the registered tool names, for example
mcp__my-mcp__search.

Security notes

  • OAuth state is stored through the DSH credential service, not in this
    repository.
  • The callback listener binds to the local loopback interface.
  • Do not configure an Authorization header; the OAuth client owns it.
  • Never commit access tokens, refresh tokens, or exported credential data.

Development and self-check

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

For a DSH load-level check, install the checkout into a profile and start it.
Complete the OAuth login when prompted:

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

Ecosystem metadata

  • Package name: @dsh-external/dsh-oauth-mcp-client
  • Discovery topic: dsh-plugin
  • Directory: Awesome DSH Plugins

License

MIT. src/connection.ts and src/tools.ts are adapted from DeepSeek Harness
@deepseek-ai/dsh-mcp-client under the MIT License.

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-oauth-mcp-client」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:springbrand-lab/dsh-oauth-mcp-client

Headless(CLI)profile:

dsh plugin --profile headless add github:springbrand-lab/dsh-oauth-mcp-client

实测报告

尚未 L3 验证——若已跑过,见下方失败备注。

状态:pending
备注:验证: runtime-fail (0.1.0-rc.6) 浏览全部待验证失败 →

使用场景

扩展 agent 的编码能力面——给它一个新工具、工作流或集成,让它接手以前做不了的开发任务。

适合谁

想让 dsh 在真实代码库上像队友一样干活的开发者——能改、能跑、能验证,而不只是回答问题。

二次开发建议

工具/命令面就是缝:暴露更多 SDK 能力、加更聪明的上下文接线,或收紧改代码与验证之间的循环。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7795 个插件 →