dsh-mcp-connector 0.2.52 → 0.2.54

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 CHANGED
@@ -4,6 +4,18 @@
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.2.54] - 2026-09-21
8
+
9
+ ### Fixed
10
+
11
+ - 修复本机安装的未发布同 ID 草案遮蔽公共 Registry 正式卡片的问题。正式卡片及示例 Prompt 在市场可见,显式本机上下架覆盖仍有效;已有连接和授权记录不变(#90)。
12
+
13
+ ## [0.2.53] - 2026-09-20
14
+
15
+ ### Fixed
16
+
17
+ - 移除 `mcp_connector_configure` 入参顶层 `anyOf`,避免拒绝该 Schema 的 Claude/Anthropic 兼容接口整轮请求失败;三种配置模式由工具描述提示并继续在执行时校验,新增全工具 Schema 与无效配置无副作用回归测试(#89)。此修复不转换外部 MCP Server 的工具 Schema。
18
+
7
19
  ## [0.2.52] - 2026-09-20
8
20
 
9
21
  ### Fixed
package/README.en.md CHANGED
@@ -77,7 +77,7 @@ If the plugin helps you connect an MCP server faster, consider [starring the rep
77
77
  - Explicit, non-destructive migration from the two earlier Qichacha OAuth plugins, plus active-plugin conflict detection that blocks duplicate server management and credential overwrites.
78
78
 
79
79
  <!-- catalog-stats:start -->
80
- As of 2026-09-11, the public Registry publishes 106 connector descriptors. After merging and deduplicating them with the 4 bundled Qichacha cards, the Marketplace exposes 110 cards across 9 business categories. Recommendations remain limited to the four Qichacha cards, PKULaw, and Wind, for 6 featured cards in total. The Registry evolves independently; the badge shown after a client refresh and the live badges above are the authoritative current counts.
80
+ As of 2026-09-20, the public Registry publishes 107 connector descriptors. After merging and deduplicating them with the 4 bundled Qichacha cards, the Marketplace exposes 111 cards across 9 business categories. Recommendations remain limited to the four Qichacha cards, PKULaw, and Wind, for 6 featured cards in total. The Registry evolves independently; the badge shown after a client refresh and the live badges above are the authoritative current counts.
81
81
  <!-- catalog-stats:end -->
82
82
 
83
83
  ## Interface and demo
@@ -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.52`](https://www.npmjs.com/package/dsh-mcp-connector), with [GitHub Release v0.2.52](https://github.com/duhu2000/dsh-mcp-connector/releases/tag/v0.2.52).
193
+ The current public version is [`dsh-mcp-connector@0.2.54`](https://www.npmjs.com/package/dsh-mcp-connector), with [GitHub Release v0.2.54](https://github.com/duhu2000/dsh-mcp-connector/releases/tag/v0.2.54).
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
@@ -78,7 +78,7 @@ dsh plugin --profile web add dsh-mcp-connector
78
78
  - 对话工具:`mcp_connector_catalog`、`connect`、`configure`、`import_json`、`export_config`、`snapshot`、`install_from_url`、`status`、`scope`、`health_check`、`policy`、`set_enabled`、`disconnect`、`refresh_catalog`、`publish`、`tools_list`、`tool_search`、`tool_detail`。搜索/详情只做渐进式能力发现,不执行目标 MCP 工具。
79
79
 
80
80
  <!-- catalog-stats:start -->
81
- 截至 2026-09-11,公共 Registry 已发布 106 条连接器描述;与随包的 4 张企查查卡片合并去重后,市场页可浏览 110 张卡片,覆盖企业数据、金融投资、法律合规、开发工具、办公协作、调研分析、设计创意、效率工具、其他 9 类。推荐位严格保留 4 张企查查卡片、北大法宝和 Wind,共 6 张;其他连接器按业务分类展示。Registry 可独立持续更新,实际数量以客户端刷新后的市场页签徽标和上方实时统计徽标为准。
81
+ 截至 2026-09-20,公共 Registry 已发布 107 条连接器描述;与随包的 4 张企查查卡片合并去重后,市场页可浏览 111 张卡片,覆盖企业数据、金融投资、法律合规、开发工具、办公协作、调研分析、设计创意、效率工具、其他 9 类。推荐位严格保留 4 张企查查卡片、北大法宝和 Wind,共 6 张;其他连接器按业务分类展示。Registry 可独立持续更新,实际数量以客户端刷新后的市场页签徽标和上方实时统计徽标为准。
82
82
  <!-- catalog-stats:end -->
83
83
 
84
84
  ## 界面与演示
@@ -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.52`](https://www.npmjs.com/package/dsh-mcp-connector),对应 [GitHub Release v0.2.52](https://github.com/duhu2000/dsh-mcp-connector/releases/tag/v0.2.52)。
188
+ 当前公开版本为 [`dsh-mcp-connector@0.2.54`](https://www.npmjs.com/package/dsh-mcp-connector),对应 [GitHub Release v0.2.54](https://github.com/duhu2000/dsh-mcp-connector/releases/tag/v0.2.54)。
189
189
 
190
190
  版本能力与变更记录见 [CHANGELOG.md](CHANGELOG.md)。
191
191
  Desktop 发版回归见 [docs/DESKTOP-E2E.md](docs/DESKTOP-E2E.md)。
package/lib/catalog.js CHANGED
@@ -183,6 +183,12 @@ export async function fetchRemoteCatalogWithFallback(catalogUrl, fallbackUrls =
183
183
  throw lastError ?? new Error('catalog fetch failed for all sources');
184
184
  }
185
185
 
186
+ /** 本机未发布草案不可遮蔽同 id 的正式远程卡片;其他动态卡片仍可覆盖。 */
187
+ export function visibleDynamicDescriptors(remote, dynamic) {
188
+ const publishedRemoteIds = new Set(remote.filter((d) => d.published !== false).map((d) => d.id));
189
+ return dynamic.filter((d) => d.published !== false || !publishedRemoteIds.has(d.id));
190
+ }
191
+
186
192
  /** 合并多层来源(sources 为低→高优先级的 descriptor 数组),再应用本地覆盖。 */
187
193
  export function mergeCatalog(sources, overrides = new Map()) {
188
194
  const merged = new Map();
package/lib/index.js CHANGED
@@ -26,7 +26,7 @@ import {
26
26
  } from './constants.js';
27
27
  import { defineConnectorDomain, ConnectionStore, GrantStore, CatalogStore, SnapshotStore, GovernanceStore, ConnectionScopeStore, ToolCatalogStore } from './stores.js';
28
28
  import { normalizeConnectorDescriptor, normalizeConnectionRecord } from './schema.js';
29
- import { loadBundledCatalog, fetchRemoteCatalogWithFallback, mergeCatalog, listCatalog, auditDescriptor, auditRawDescriptor, readLimitedJson } from './catalog.js';
29
+ import { loadBundledCatalog, fetchRemoteCatalogWithFallback, visibleDynamicDescriptors, mergeCatalog, listCatalog, auditDescriptor, auditRawDescriptor, readLimitedJson } from './catalog.js';
30
30
  import { describeOAuthAuthorizationError, oauthAuthorize } from './connectors/oauth-connector.js';
31
31
  import { buildManualRecord } from './connectors/manual-connector.js';
32
32
  import { normalizeJsonImport } from './connectors/json-connector.js';
@@ -231,7 +231,8 @@ export async function apply(ctx, config) {
231
231
  async function recomputeMerged() {
232
232
  const bundled = loadBundledCatalog();
233
233
  const configConnectors = (config.connectors ?? []).map((raw) => auditDescriptor(normalizeConnectorDescriptor(raw)));
234
- const sources = [bundled, state.remoteConnectors, configConnectors, [...state.dynamic.values()]];
234
+ const dynamic = visibleDynamicDescriptors(state.remoteConnectors, [...state.dynamic.values()]);
235
+ const sources = [bundled, state.remoteConnectors, configConnectors, dynamic];
235
236
  state.merged = mergeCatalog(sources, state.overrides);
236
237
  }
237
238
 
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
- anyOf: [{ required: ['connectorId'] }, { required: ['name', 'url'] }, { required: ['name', 'transport', 'command'] }],
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.52",
3
+ "version": "0.2.54",
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",