dsh-mcp-connector 0.2.51 → 0.2.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/CONTRIBUTING.md +2 -1
- package/README.en.md +1 -1
- package/README.md +1 -1
- package/lib/client.js +33 -8
- package/lib/tools.js +2 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,18 @@
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.2.53] - 2026-09-20
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- 移除 `mcp_connector_configure` 入参顶层 `anyOf`,避免拒绝该 Schema 的 Claude/Anthropic 兼容接口整轮请求失败;三种配置模式由工具描述提示并继续在执行时校验,新增全工具 Schema 与无效配置无副作用回归测试(#89)。此修复不转换外部 MCP Server 的工具 Schema。
|
|
12
|
+
|
|
13
|
+
## [0.2.52] - 2026-09-20
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
|
|
17
|
+
- 修复侧边栏 MCP 连接器入口鼠标悬停时出现额外粗边框的问题;统一入口留白与图标/文字间距,保留键盘焦点提示和折叠侧栏入口(#86)。
|
|
18
|
+
|
|
7
19
|
## [0.2.51] - 2026-09-16
|
|
8
20
|
|
|
9
21
|
### Fixed
|
package/CONTRIBUTING.md
CHANGED
|
@@ -6,7 +6,8 @@ Thank you for contributing. Never put tokens, API keys, cookies, OAuth credentia
|
|
|
6
6
|
|
|
7
7
|
## 参与方式
|
|
8
8
|
|
|
9
|
-
-
|
|
9
|
+
- 报告安全漏洞:请遵循 [安全报告政策](https://github.com/duhu2000/dsh-mcp-connector/blob/main/SECURITY.md),使用 [私密报告入口](https://github.com/duhu2000/dsh-mcp-connector/security/advisories/new),勿公开提交利用细节。
|
|
10
|
+
- 报告普通缺陷或提交功能建议:[GitHub Issues](https://github.com/duhu2000/dsh-mcp-connector/issues)
|
|
10
11
|
- 为公共市场增加连接器:阅读 [Connector onboarding](https://github.com/duhu2000/dsh-mcp-connector-registry/blob/main/docs/ONBOARDING.md),连接器描述与插件代码分仓管理。
|
|
11
12
|
- 修复插件或改进文档:Fork 本仓库,从最新 `main` 创建单一目的的分支并提交 PR。
|
|
12
13
|
- 第一次参与:从带有 [`good first issue`](https://github.com/duhu2000/dsh-mcp-connector/labels/good%20first%20issue) 标签的任务开始,并按[首次贡献路径](docs/FIRST-CONTRIBUTION.md)完成本地校验。
|
package/README.en.md
CHANGED
|
@@ -190,7 +190,7 @@ npm run dev:ui
|
|
|
190
190
|
|
|
191
191
|
Every Registry merge regenerates `catalog-stats.json`; an hourly workflow in this repository synchronizes the Chinese and English product copy plus a local stats snapshot. The static npm README updates with package releases, while the live badges above read the Registry directly and therefore stay current without another npm release.
|
|
192
192
|
|
|
193
|
-
The current public version is [`dsh-mcp-connector@0.2.
|
|
193
|
+
The current public version is [`dsh-mcp-connector@0.2.53`](https://www.npmjs.com/package/dsh-mcp-connector), with [GitHub Release v0.2.53](https://github.com/duhu2000/dsh-mcp-connector/releases/tag/v0.2.53).
|
|
194
194
|
|
|
195
195
|
See [CHANGELOG.md](CHANGELOG.md) for version history and [docs/DESKTOP-E2E.md](docs/DESKTOP-E2E.md) for the Desktop release checklist.
|
|
196
196
|
|
package/README.md
CHANGED
|
@@ -185,7 +185,7 @@ npm run dev:ui
|
|
|
185
185
|
|
|
186
186
|
公共 Registry 每次合并后会生成 `catalog-stats.json`;本仓库的定时工作流每小时同步中英文介绍和统计快照。npm 页面中的静态正文随版本发布更新,上方动态统计徽标则直接读取 Registry,可在不发布新 npm 版本时保持实时数量一致。
|
|
187
187
|
|
|
188
|
-
当前公开版本为 [`dsh-mcp-connector@0.2.
|
|
188
|
+
当前公开版本为 [`dsh-mcp-connector@0.2.53`](https://www.npmjs.com/package/dsh-mcp-connector),对应 [GitHub Release v0.2.53](https://github.com/duhu2000/dsh-mcp-connector/releases/tag/v0.2.53)。
|
|
189
189
|
|
|
190
190
|
版本能力与变更记录见 [CHANGELOG.md](CHANGELOG.md)。
|
|
191
191
|
Desktop 发版回归见 [docs/DESKTOP-E2E.md](docs/DESKTOP-E2E.md)。
|
package/lib/client.js
CHANGED
|
@@ -57,10 +57,11 @@ window.__ModuleLoader__.load({
|
|
|
57
57
|
display: flex;
|
|
58
58
|
align-items: center;
|
|
59
59
|
box-sizing: border-box;
|
|
60
|
-
width:
|
|
60
|
+
width: 100%;
|
|
61
61
|
height: 42px;
|
|
62
|
-
margin: 4px
|
|
63
|
-
padding: 0
|
|
62
|
+
margin: 4px 0;
|
|
63
|
+
padding: 0 var(--dsh-sidebar-inline-padding, 12px);
|
|
64
|
+
gap: 8px;
|
|
64
65
|
justify-content: flex-start;
|
|
65
66
|
overflow: hidden;
|
|
66
67
|
border: 0;
|
|
@@ -72,11 +73,32 @@ window.__ModuleLoader__.load({
|
|
|
72
73
|
cursor: pointer;
|
|
73
74
|
}
|
|
74
75
|
|
|
75
|
-
.mcpConnectorLauncher:hover
|
|
76
|
+
.mcpConnectorLauncher:hover {
|
|
77
|
+
background: rgba(127, 127, 127, 0.12);
|
|
78
|
+
outline: none;
|
|
79
|
+
}
|
|
80
|
+
|
|
76
81
|
.mcpConnectorLauncher:focus-visible {
|
|
77
82
|
background: rgba(127, 127, 127, 0.12);
|
|
78
83
|
outline: 2px solid currentColor;
|
|
79
|
-
outline-offset:
|
|
84
|
+
outline-offset: -2px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.mcpConnectorLauncherIcon {
|
|
88
|
+
display: inline-flex;
|
|
89
|
+
align-items: center;
|
|
90
|
+
justify-content: center;
|
|
91
|
+
flex: 0 0 20px;
|
|
92
|
+
width: 20px;
|
|
93
|
+
height: 20px;
|
|
94
|
+
font-size: 18px;
|
|
95
|
+
line-height: 1;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.mcpConnectorLauncherLabel {
|
|
99
|
+
min-width: 0;
|
|
100
|
+
overflow: hidden;
|
|
101
|
+
text-overflow: ellipsis;
|
|
80
102
|
}
|
|
81
103
|
|
|
82
104
|
.mcpConnectorLauncher[data-wide="false"] {
|
|
@@ -1607,7 +1629,7 @@ window.__ModuleLoader__.load({
|
|
|
1607
1629
|
return modal;
|
|
1608
1630
|
}
|
|
1609
1631
|
|
|
1610
|
-
/**
|
|
1632
|
+
/** 左栏入口:固定图标列与文字间距,键盘焦点与鼠标悬停分别处理。 */
|
|
1611
1633
|
function SidebarEntry(props) {
|
|
1612
1634
|
const { wide, useStore, actions } = props;
|
|
1613
1635
|
const open = useStore((state) => state.open);
|
|
@@ -1641,7 +1663,7 @@ window.__ModuleLoader__.load({
|
|
|
1641
1663
|
};
|
|
1642
1664
|
}, [visible]);
|
|
1643
1665
|
if (!visible) return null;
|
|
1644
|
-
const launcher = /* @__PURE__ */ (0, react_jsx_runtime.
|
|
1666
|
+
const launcher = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
1645
1667
|
type: "button",
|
|
1646
1668
|
className: "mcpConnectorLauncher",
|
|
1647
1669
|
"data-wide": wide,
|
|
@@ -1649,7 +1671,10 @@ window.__ModuleLoader__.load({
|
|
|
1649
1671
|
"aria-haspopup": "dialog",
|
|
1650
1672
|
"aria-expanded": open,
|
|
1651
1673
|
onClick: () => { try { actions.open(); } catch (error) { console.error('[mcp-connector] open failed:', error); } },
|
|
1652
|
-
children:
|
|
1674
|
+
children: [
|
|
1675
|
+
(0, react_jsx_runtime.jsx)("span", { className: "mcpConnectorLauncherIcon", "aria-hidden": true, children: "🧩" }),
|
|
1676
|
+
wide ? (0, react_jsx_runtime.jsx)("span", { className: "mcpConnectorLauncherLabel", children: "MCP连接器" }) : null
|
|
1677
|
+
]
|
|
1653
1678
|
});
|
|
1654
1679
|
if (topMount === null || typeof react_dom.createPortal !== "function") return launcher;
|
|
1655
1680
|
return react_dom.createPortal(/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
package/lib/tools.js
CHANGED
|
@@ -209,6 +209,7 @@ export function registerTools(ctx, api) {
|
|
|
209
209
|
description:
|
|
210
210
|
'自定义配置一个外部 MCP Server 连接:HTTP 可填写 URL/鉴权;stdio 可填写 command/args/env/cwd。' +
|
|
211
211
|
'也可对市场中的 Bearer/API Key 连接器按 connectorId 一次配置全部 Server;stdio 凭据会按目录声明安全注入本机环境变量。' +
|
|
212
|
+
'参数三选一:市场连接器提供 connectorId;自定义 HTTP 提供 name 和 url;自定义 stdio 提供 name、transport=stdio 和 command。' +
|
|
212
213
|
'市场连接器会先验证或交由 Host 托管,通过后才保存。',
|
|
213
214
|
parameters: {
|
|
214
215
|
type: 'object',
|
|
@@ -239,7 +240,7 @@ export function registerTools(ctx, api) {
|
|
|
239
240
|
scope: { type: 'string', enum: ['global', 'project'], description: '目标作用域;新连接省略时使用 global,已有 key 保留原范围' },
|
|
240
241
|
workspaceId: { type: 'string', description: 'scope=project 时必填' },
|
|
241
242
|
},
|
|
242
|
-
|
|
243
|
+
// Provider compatibility: no root-level unions. api.configure validates each mode before saving.
|
|
243
244
|
additionalProperties: false,
|
|
244
245
|
},
|
|
245
246
|
output: resultOutput,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-mcp-connector",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.53",
|
|
4
4
|
"description": "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.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|