Atlas / MCP servers / duhu2000 / dsh-mcp-connector

dsh-mcp-connectorCAUTION

mcp/duhu2000/dsh-mcp-connector

DeepSeek Harness MCP Connector: connect servers, search tools across active connections, and troubleshoot discovery. Includes a continuously updated catalog; supports OAuth 2.0 PKCE, API keys, Streamable HTTP/stdio, and mcpServers JSON import.

Verdict
CAUTION
Grade
C
Trust score
79 /100
Exposed tools
36 29r · 6w · 1d
Transport
streamable-http
License
MIT
Stars
47
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

DeepSeek Harness 的 MCP 接入与管理面板:超百个 MCP连接器,一个入口完成 MCP Server 授权配置、跨连接工具搜索与连接排障。

从持续更新的连接器目录接入 MCP Server;跨当前范围内已启用连接查找工具,查看易读参数、来源和最后成功缓存时间,并在发现异常时检查连接或重新发现工具。支持 OAuth 2.0 PKCE、API Key、Streamable HTTP/stdio 与 mcpServers JSON 导入。

OAuth 是否可用取决于服务商的客户端注册、账号权限与授权政策;连接已保存、工具已发现和业务调用成功应分别验证。

注:“技能扩展”指通过 MCP 工具和 Prompt 扩展智能体能力,本包不会伪装成独立 DSH Skill。

English

工具查找与故障处理

在“工具”页统一查找当前工作区可见、已启用连接的工具。输入工具名或描述,再按连接、服务和最近发现状态筛选;点击“参数详情”查看类型、必填项与嵌套结构。未选择工作区时,仅展示全局连接。

结果标注来源和最后成功缓存时间。发现失败时仍可查看已有缓存,但不代表服务当前可调用。展开“连接状态与故障处理”,按建议使用“检查连接”或“重新发现工具”。健康连接五分钟后到期,页面保持连接时后台检查到期任务;失败时退避,鉴权失败暂停自动重试。

详见工具工作台教程。工具页用于发现与诊断,不执行目标工具;参数摘要与原始安全缓存均有裁剪边界。

用户手册 · 第三方连接器上架指南 · 首次贡献 · 参与贡献 · 问题反馈

[](https://github.com/duhu2000/dsh-mcp-connector/actions/workflows/ci.yml) [](https://www.npmjs.com/package/dsh-mcp-connector) [](https://www.npmjs.com/package/dsh-mcp-connector) [](https://github.com/duhu2000/dsh-mcp-connector/stargazers) [](https://github.com/duhu2000/dsh-mcp-connector/forks) [](https://github.com/duhu2000/dsh-mcp-connector/releases/latest) [](LICENSE) [![Registry connectors](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%

Read from source at commit 82dafc4cdb27OBSERVED · 2026-10-12
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add dsh-mcp-connector --env GITHUB_TOKEN=${GITHUB_TOKEN} -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "dsh-mcp-connector": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    }
  }
}
03

Exposed tools (36)

29 read · 6 write · 1 destructive. Blast radius: 1 tool can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
historyread查询历史行情
lookupread查询
mcp__acme-search__readread
mcp__acme-search__removedestructive
mcp__local-discovery__lookupreadLookup
mcp__local-market__searchreadSearch local market
mcp_connector_catalogread列出 MCP 连接器市场目录(货架):已上架的连接器,含名称/厂商/简介/分类/标签,以及是否已连接。
mcp_connector_configureread自定义配置一个外部 MCP Server 连接:HTTP 可填写 URL/鉴权;stdio 可填写 command/args/env/cwd。
mcp_connector_connectread一键连接某个 MCP 连接器(按 connectorId)。OAuth 型会打开系统浏览器跳转授权页,登录授权后自动完成;
mcp_connector_disconnectread断开并移除一条 MCP 连接;OAuth 连接会按引用计数撤销 refresh_token(无其他连接引用该授权时)。
mcp_connector_export_configread导出全部 MCP 连接的可携带脱敏 JSON。不会返回 Token、API Key、Header/env 值、OAuth Grant、stdio 参数或本地路径;
mcp_connector_get_editable_configread读取用户自定义或 JSON 导入连接的标准化可编辑 JSON。已有敏感值只返回 <KEEP_EXISTING> 保留标记,不会返回真实凭据、本地参数或路径。
mcp_connector_health_checkread主动检查已配置 MCP 连接的 initialize 握手、凭据、网络或 Host 注册状态,并返回阶段、稳定错误码和建议动作。未观察到结果时明确返回 unknown。可指定 connectorId,留空则检查全部已配置连接器。
mcp_connector_import_jsonwrite粘贴 JSON 批量导入外部 MCP 连接。支持 HTTP/SSE 与 stdio(command/args/env/cwd):{
mcp_connector_install_from_urlwrite从厂商提供的连接器描述 URL(well-known JSON,如 /dsh-connector.json)拉取并安装:先探测后落库,单个描述会自动连接。
mcp_connector_migrate_legacyread在用户明确确认后,把旧企查查 OAuth 授权复制到 MCP连接器。幂等执行,保留旧插件与旧凭据,不会自动卸载或删除源数据。
mcp_connector_migration_previewread只读检测旧 qcc-dsh-mcp-oauth / qcc-dsh-mcp-legal-oauth 的本机授权,返回可迁移数量与匹配 Server;不返回 token、不修改任何数据。
mcp_connector_policyread管理 MCP 连接、Server、Tool 三层治理策略。优先级 Tool > Server > Connection > 默认允许;
mcp_connector_publishwrite本机上架/下架某个连接器(MVP 简单开关,写本地覆盖)。仅影响目录可见性,不影响已装连接。
mcp_connector_reconfigureread校验并原子更新一条用户自定义或 JSON 导入连接。serverName 和连接身份不可修改;<KEEP_EXISTING> 在本机合并,失败时保留原连接。
mcp_connector_refresh_catalogread强制重新拉取远程连接器目录(本地缓存失效),用于运营上架/下架后刷新货架。
mcp_connector_renamewrite修改用户自定义或 JSON 导入 MCP 连接的显示名。不改变 connection key、serverName、工具前缀、运行状态或凭据。
mcp_connector_scoperead查看、预览、应用或回滚连接的 project/global 作用域。作用域文档只保存 connection key 与 Workspace id,
mcp_connector_searchread搜索连接能力
mcp_connector_session_toolsread管理当前 Agent 会话中“按会话启用”的 MCP 业务工具可见性。它不会调用业务工具、不会改变凭据或连接生命周期。
mcp_connector_set_enabledwrite启用或停用一条 MCP 连接(停用后工具下线,但连接记录保留,可重新启用)。
mcp_connector_snapshotwrite管理本机连接配置快照:list 列出、create 手动创建、preview 预览恢复范围、restore 原子恢复。
mcp_connector_statusread查看全部 MCP 连接的状态:启用状态、连接类型、OAuth 过期时间、是否需要重新授权、最近错误。
mcp_connector_tool_detailread读取最后一次成功工具缓存中的单个工具详情与安全裁剪后的输入参数 schema。
mcp_connector_tool_searchread在已连接 Server 的“最后一次成功工具缓存”中搜索工具名称、标题和描述,用于渐进式发现能力。
mcp_connector_tools_listread从已连接的 MCP server 动态获取工具清单。返回每个 server 的工具名称、标题和描述。
otherreadget_company_profile
quoteread查询行情
searchread查询
split_fieldsreadcity
weather_lookupreadweather city forecast
04

Trust audit

CAUTIONgrade C · trust 79/100 Install with care. The audit found things worth knowing before you trust its output.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeWARN
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (2 observation(s))
Network
declared (6 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
found

Findings (18)

MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
lib/index.js:528
logger.info(`OAuth grant ${grantKey} adopted a newer cross-process journal token`);
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
lib/index.js:557
logger.info(`OAuth grant ${grantKey} adopted a newer persisted token after a concurrent rotation`);
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/ui-harness.mjs:508
console.log(`MCP connector UI harness: http://127.0.0.1:${address.port}/mcp-connector/ui/`);
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
test/probe.test.mjs:20
{ id: 'a', name: 'A', token: 'must-not-enter-registry', servers: [server] },
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
mcp__acme-search__remove
Why it matters. 1 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
test/client.test.mjs:33
Function('window', 'document', sourceTransform(source))(window, document);
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
test/ui.test.mjs:13
const guide = new Function(`${uiSource.slice(start, end)}; return guidanceFor;`)();
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
test/ui.test.mjs:24
const labels = new Function(`${uiSource.slice(start, end)}; return connectionLabels;`)();
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
test/ui.test.mjs:38
const render = new Function('esc', 'isImageIcon', 'actionHtml', source + '; return cardHtml;')(escape, () => false, () => '<button>详情</button>');
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
test/ui.test.mjs:66
const render = new Function('esc', `${uiSource.slice(start, end)}; return schemaSummary;`)(escape);
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
scripts/check-first-use-docs.mjs:55
'../../CONTRIBUTING.md',
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
test/web.test.mjs:285
await route.handler(fakeReq({ method: 'GET', url: '/mcp-connector/ui/../../package.json', headers: { host: '127.0.0.1:62929' } }), res2);
LOWNetwork egress · net.metadata_ip · CWE-200, CWE-319
test/schema.test.mjs:354
assert.throws(() => buildManualRecord({ name: 'Link local', url: 'http://169.254.169.254/latest', allowInsecurePrivateNetwork: true }), /protocol/);
Why it matters. cloud metadata endpoint: the classic SSRF credential grab
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
docs/DESKTOP-E2E.md:10
访问 `http://127.0.0.1:4173/mcp-connector/ui/`。本地测试壳不读凭据、不访问真实 MCP,固定提供 125 个 mock 工具,用于验证大目录分批渲染。
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
docs/USER-GUIDE.md:34
- 浏览器访问:默认打开 `http://127.0.0.1:3080`。
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
test/catalog.test.mjs:125
const result = await fetchRemoteCatalog(`http://127.0.0.1:${port}/catalog.json`, { requestTimeoutMs: 5000 });
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
test/catalog.test.mjs:151
`http://127.0.0.1:${port}/primary.json`,
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
cross-spawn, @deepseek-ai/cordis, @deepseek-ai/dsh-storage, @deepseek-ai/dsh-storage-domain, @deepseek-ai/schemastery, zod
Why it matters. 6 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass.

Audited 2026-10-12 · audit v0.4.1 · source sha 82dafc4cdb27full audit observations/trust-audit/mcp-server/duhu2000__dsh-mcp-connector.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-1282dafc4cdb27CAUTIONC79first audit
06

Questions

What is the dsh-mcp-connector MCP server?

DeepSeek Harness MCP Connector: connect servers, search tools across active connections, and troubleshoot discovery. Includes a continuously updated catalog; supports OAuth 2.0 PKCE, API keys, Streamable HTTP/stdio, and mcpServers JSON import.

What tools does dsh-mcp-connector expose?

36 in total: 29 read-only, 6 that write, and 1 that can delete or overwrite (mcp__acme-search__remove). Every one is listed on this page with its risk.

Is dsh-mcp-connector safe to connect to an agent?

With care. The audit graded it C (79/100) and found 18 things worth knowing before you trust this server, listed below with the exact line each was found on. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does dsh-mcp-connector need?

It reads GITHUB_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does dsh-mcp-connector run?

It speaks streamable-http, so it runs as a service you connect to over the network. It is published on npm as dsh-mcp-connector at 0.2.70.

How current is this page?

The grade is for one exact copy of the source (82dafc4cdb27), read on 2026-10-12. The repository is watched and re-audited when it changes.

Advertisement