@aiwayds/dsh-mcp-adapter 0.4.1 → 0.5.0
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/README.md +12 -5
- package/README.zh.md +12 -5
- package/cordis.patch.yml +6 -0
- package/icon.svg +5 -0
- package/lib/index.d.ts +116 -51
- package/lib/index.js +151 -107
- package/lib/index.js.map +1 -1
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +36 -3
- package/scripts/smoke-boot.mjs +3 -3
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ English | [简体中文](README.zh.md)
|
|
|
4
4
|
|
|
5
5
|
Token-efficient MCP adapter for [DeepSeek Harness (dsh)](https://github.com/deepseek-ai/deepseek-harness) — a **prompt-side shim** inspired by [pi-mcp-adapter](https://github.com/nicobailon/pi-mcp-adapter).
|
|
6
6
|
|
|
7
|
-
**Requires dsh >= 0.1.
|
|
7
|
+
**Requires dsh >= 0.1.7-rc.1** — this plugin targets the dsh RC/stable line only (CI and releases resolve the newest of the `latest`/`next` dist-tags at runtime). **The alpha line is no longer supported.**
|
|
8
8
|
|
|
9
9
|
## The problem
|
|
10
10
|
|
|
@@ -29,6 +29,8 @@ Image results keep their native behavior: `mcp_call` delegates `output.render` t
|
|
|
29
29
|
|
|
30
30
|
**Code Mode:** under `mode: 'code'` the wire already collapses to `run_code`; this plugin is a no-op there.
|
|
31
31
|
|
|
32
|
+
**Host resource tools (dsh ≥ 0.1.6):** the host ships `@deepseek-ai/dsh-mcp-resources`, which registers three shared tools — `list_mcp_resources`, `list_mcp_resource_templates`, `read_mcp_resource` — without the `mcp__` prefix. By design they never enter the fold path and surface to the model natively; the fold/keep semantics are unchanged, and `keep` only ever promotes names that match the prefix, so nothing here is affected.
|
|
33
|
+
|
|
32
34
|
**Load position:** loaded through host composition (the `cordis.patch.yml` `insert` below) the adapter is global — every agent's assemblies are folded. Loaded through an agent-scoped context instead, it applies only to that agent.
|
|
33
35
|
|
|
34
36
|
## Setup
|
|
@@ -62,9 +64,11 @@ dsh plugin --profile <name> remove @aiwayds/dsh-mcp-adapter
|
|
|
62
64
|
|
|
63
65
|
The host reconciles the profile automatically: the `dsh.profile.bundles` entry is spliced out and the package's patch layer drops.
|
|
64
66
|
|
|
65
|
-
One thing deliberately **stays**: the
|
|
67
|
+
One thing deliberately **stays**: the plugin's gate file at `~/.dsh/storages/mcp-adapter/gate.json` (`$DSH_HOME` honors an override) — the stable server ids (`1..99`) and the disabled gates. It is never pruned by design: if you reinstall the plugin, every server keeps the same id it had before.
|
|
68
|
+
|
|
69
|
+
To purge that state too, delete the `storages/mcp-adapter/` directory yourself; ids will be re-allocated from scratch on reinstall.
|
|
66
70
|
|
|
67
|
-
|
|
71
|
+
Upgrading from a dsh 0.1.5 install: the old `mcp-adapter:` section of `settings.yaml` is **not** auto-imported (the 0.1.7 host renames that file to `settings.yaml.imported` after its one-shot import, and the section name does not match this plugin's entry id). The original values stay readable in `settings.yaml.imported`; servers you had disabled need one `/mcp disable <id>` each to re-latch. Your `config:` values in the profile patch carry over unchanged.
|
|
68
72
|
|
|
69
73
|
## Config
|
|
70
74
|
|
|
@@ -74,6 +78,9 @@ To purge that state too, delete the `mcp-adapter:` section from `settings.yaml`
|
|
|
74
78
|
| `keep` | `[]` | name patterns (`*` wildcard) kept native — pi-mcp-adapter's "direct mode", for high-frequency tools that deserve first-class schemas |
|
|
75
79
|
| `servers` | `[]` | server-name whitelist: when non-empty, only these servers' tools are folded / cataloged / dispatchable (all three consult the same list) |
|
|
76
80
|
| `descriptionLimit` | `200` | max chars per tool description in the `mcp_list` catalog |
|
|
81
|
+
| `storageDir` | `""` | gate storage directory override; empty = `<dsh home>/storages/mcp-adapter` (read once at plugin start — moving it takes effect on restart) |
|
|
82
|
+
|
|
83
|
+
Every field is declared **volatile** (the dsh 0.1.7 settings contract): all five appear on the plugin's settings page under the `dsh-mcp-adapter` entry, and editing them there applies **without restarting the plugin** — the fold boundary, catalog and dispatch pick the new values up on their very next use. The `config:` block in your profile patch keeps working exactly as before.
|
|
77
84
|
|
|
78
85
|
```yaml
|
|
79
86
|
config:
|
|
@@ -107,9 +114,9 @@ The plugin registers one slash command on the platform `commands` service — co
|
|
|
107
114
|
| `/mcp disable <id>` | Latch a whole server off: its tools force-fold out of every prompt — keep and `servers` exemptions included — it disappears from the `mcp_list` catalog, and `mcp_call` refuses it with an `/mcp enable <id>` hint |
|
|
108
115
|
| `/mcp enable <id>` | Restore it under the same stable id |
|
|
109
116
|
|
|
110
|
-
Any other form answers with usage. Every server observed by `/mcp` gets a stable numeric id (`1..99`, smallest free first), persisted in the
|
|
117
|
+
Any other form answers with usage. Every server observed by `/mcp` gets a stable numeric id (`1..99`, smallest free first), persisted in the plugin's own gate file at `<dsh home>/storages/mcp-adapter/gate.json` (machine state — deliberately a file, not a settings-page field). Ids survive restarts and re-sync gaps and are never recycled — an id always names the same server; when all 99 are taken the `/mcp` views label it explicitly (`id space exhausted (99/99): N server(s) beyond the cap cannot be gated`, plus a marker on each affected group).
|
|
111
118
|
|
|
112
|
-
Disable is **gate-style, not a disconnect**: the official client exposes no disconnect API, so tools stay registered and connections keep running — gating only removes them from the prompt, the catalog, and dispatch. All three latches judge through one shared verdict, so they can never disagree with each other or with what `/mcp` displays. Enable/disable persist through
|
|
119
|
+
Disable is **gate-style, not a disconnect**: the official client exposes no disconnect API, so tools stay registered and connections keep running — gating only removes them from the prompt, the catalog, and dispatch. All three latches judge through one shared verdict, so they can never disagree with each other or with what `/mcp` displays. Enable/disable persist through that file (atomic tmp+rename writes; a corrupt document warns once at startup and degrades to everything-enabled, and the next allocation write heals it). If the storage location cannot be written at all, everything still works and only the toggles answer with a persistence error.
|
|
113
120
|
|
|
114
121
|
One real boundary: that latch is prompt-side (catalog/dispatch); native direct calls to a remembered `mcp__server__tool` name may still execute — for hard enforcement pair with pipeline guards or `tools.restrict()`.
|
|
115
122
|
|
package/README.zh.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
面向 [DeepSeek Harness (dsh)](https://github.com/deepseek-ai/deepseek-harness) 的省 token MCP 适配器——一个受 [pi-mcp-adapter](https://github.com/nicobailon/pi-mcp-adapter) 启发的 **prompt-side shim**(提示词侧垫片)。
|
|
6
6
|
|
|
7
|
-
**要求 dsh >= 0.1.
|
|
7
|
+
**要求 dsh >= 0.1.7-rc.1** — 本插件只跟随 dsh RC/stable 线(CI 与发版在运行时解析 latest/next 中更新的 dist-tag)。**不再支持 alpha 线。**
|
|
8
8
|
|
|
9
9
|
## 问题
|
|
10
10
|
|
|
@@ -29,6 +29,8 @@
|
|
|
29
29
|
|
|
30
30
|
**Code Mode:** 在 `mode: 'code'` 下线上本来就折叠为 `run_code`,本插件天然 no-op。
|
|
31
31
|
|
|
32
|
+
**宿主资源工具(dsh ≥ 0.1.6):** 宿主内置的 `@deepseek-ai/dsh-mcp-resources` 注册三个共享工具 —— `list_mcp_resources`、`list_mcp_resource_templates`、`read_mcp_resource`,均不带 `mcp__` 前缀。它们按设计不进折叠路径,原生呈现给模型;折叠与 keep 语义保持不变,`keep` 也只会命中匹配前缀的名字,本插件无需任何额外配置。
|
|
33
|
+
|
|
32
34
|
**加载位置:** 经宿主组合加载(即下方 `cordis.patch.yml` 的 `insert` 行)时全局生效——所有 agent 的装配都会被折叠;若经某个 agent 的 scoped context 加载,则只对该 agent 生效。
|
|
33
35
|
|
|
34
36
|
## 安装
|
|
@@ -54,9 +56,11 @@ dsh plugin --profile <name> remove @aiwayds/dsh-mcp-adapter
|
|
|
54
56
|
|
|
55
57
|
宿主会自动完成清理:`dsh.profile.bundles` 里对应的条目被拼接移除,插件的 patch 层随之失效。
|
|
56
58
|
|
|
57
|
-
|
|
59
|
+
有一份状态被刻意**保留**:插件自己的门闩文件 `~/.dsh/storages/mcp-adapter/gate.json`(设置了 `DSH_HOME` 则以其为准)——stable server id(1..99)和 disabled 门闩。它按设计永不回收:重装本插件后,每个 server 仍沿用之前的 id。
|
|
60
|
+
|
|
61
|
+
连这份状态也想清掉的话,请自行删除 `storages/mcp-adapter/` 目录;重装时 id 会重新分配。
|
|
58
62
|
|
|
59
|
-
|
|
63
|
+
从 dsh 0.1.5 升级:旧 `settings.yaml` 里的 `mcp-adapter:` 小节**不会**自动迁移(0.1.7 宿主首次启动时把该文件一次性导入并改名为 `settings.yaml.imported`,而旧段名与本插件 entry id 不同名)。原文仍可在 `settings.yaml.imported` 里查看;此前 disable 过的 server 需各补一条 `/mcp disable <id>` 重新闩上。profile patch 里该 entry 的 `config:` 配置原样继承,不受影响。
|
|
60
64
|
|
|
61
65
|
## 配置
|
|
62
66
|
|
|
@@ -66,6 +70,7 @@ dsh plugin --profile <name> remove @aiwayds/dsh-mcp-adapter
|
|
|
66
70
|
| `keep` | `[]` | 保持原生进 prompt 的名字模式(`*` 通配)——对应 pi-mcp-adapter 的 direct 模式,适合高频、值得占一等座 schema 的工具 |
|
|
67
71
|
| `servers` | `[]` | server 白名单:非空时只有这些 server 的工具会被折叠 / 进目录 / 可分发(三处共用同一份名单) |
|
|
68
72
|
| `descriptionLimit` | `200` | `mcp_list` 目录里每条工具描述的最大字符数 |
|
|
73
|
+
| `storageDir` | `""` | 门闩存储目录覆盖;空 = `<dsh home>/storages/mcp-adapter`(插件启动时读一次,改后需重启插件生效) |
|
|
69
74
|
|
|
70
75
|
```yaml
|
|
71
76
|
config:
|
|
@@ -77,6 +82,8 @@ config:
|
|
|
77
82
|
- github
|
|
78
83
|
```
|
|
79
84
|
|
|
85
|
+
以上字段全部声明为 **volatile**(dsh 0.1.7 settings 契约):五个键都会出现在插件设置页(entry `dsh-mcp-adapter`)中,在设置页修改**无需重启插件即可生效**——折叠边界、目录与分发在下一次使用时立即采用新值。profile patch 里的 `config:` 写法照旧可用。
|
|
86
|
+
|
|
80
87
|
**信任边界:** 默认所有匹配 `prefix` 的工具都会被折叠——前缀只是命名约定而非安全边界,第三方插件恰好用 `mcp__*` 注册的工具同样会折叠。若只信任官方 client 的 server,请在 `servers` 里显式列出;其余保持原生(仍可直调,只是不走 meta-tool)。
|
|
81
88
|
|
|
82
89
|
## 备注
|
|
@@ -99,9 +106,9 @@ config:
|
|
|
99
106
|
| `/mcp disable <id>` | 把一个 server 整体闩上:工具强制折叠出 prompt(keep 与 `servers` 豁免一并覆盖)、从 `mcp_list` 目录消失、`mcp_call` 拒绝并给 `/mcp enable <id>` 指引 |
|
|
100
107
|
| `/mcp enable <id>` | 用同一个 stable id 复原 |
|
|
101
108
|
|
|
102
|
-
其余形态一律回复用法说明。`/mcp` 观测到的每个 server 都会分到一个稳定数字 id(1..99
|
|
109
|
+
其余形态一律回复用法说明。`/mcp` 观测到的每个 server 都会分到一个稳定数字 id(1..99,最小空闲优先),持久化到插件自己的门闩文件 `<dsh home>/storages/mcp-adapter/gate.json`(机器态——刻意用文件而非设置页字段)。id 跨重启、跨 re-sync 空窗保持不变,且永不回收——一个 id 永远指同一个 server;99 个用尽时由 `/mcp` 视图明确标注(`id space exhausted (99/99): N server(s) beyond the cap cannot be gated`,受影响的分组行会带标记)。
|
|
103
110
|
|
|
104
|
-
disable 是**门闩式开关,不是真断连**:官方 client 不提供断连 API,工具仍留在注册表里、连接照常运行——门闩只把它请出 prompt、目录与分发。三层门闩共用同一个判定函数,彼此之间以及与 `/mcp` 的展示永远不会口径不一。enable/disable
|
|
111
|
+
disable 是**门闩式开关,不是真断连**:官方 client 不提供断连 API,工具仍留在注册表里、连接照常运行——门闩只把它请出 prompt、目录与分发。三层门闩共用同一个判定函数,彼此之间以及与 `/mcp` 的展示永远不会口径不一。enable/disable 经该文件持久化(tmp+rename 原子写;文档损坏时启动告警一次并退化为全启,下一次分配写会自动修复)。若存储位置完全不可写,其余功能照常,只有 toggle 会回一条持久化报错。
|
|
105
112
|
|
|
106
113
|
一条真实边界:门闩生效在 prompt 侧(目录/分发层);记得完整工具名的模型仍可能原生直调 `mcp__server__tool` 成功——需要硬性拦截时,请配合管线 guard 或 `tools.restrict()`。
|
|
107
114
|
|
package/cordis.patch.yml
CHANGED
|
@@ -26,6 +26,12 @@
|
|
|
26
26
|
# client's registrations)
|
|
27
27
|
# descriptionLimit: max chars per tool description in the mcp_list
|
|
28
28
|
# catalog (default 200)
|
|
29
|
+
# storageDir: gate storage directory override; empty (default) =
|
|
30
|
+
# <dsh home>/storages/mcp-adapter
|
|
31
|
+
#
|
|
32
|
+
# All five keys are volatile (dsh 0.1.7 settings contract): they appear on
|
|
33
|
+
# the plugin's settings page (entry `dsh-mcp-adapter`) and hot-reload there
|
|
34
|
+
# without a plugin restart. This `config:` form keeps working too.
|
|
29
35
|
|
|
30
36
|
- insert:
|
|
31
37
|
- id: dsh-mcp-adapter
|
package/icon.svg
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M9 2.5V7M15 2.5V7"/>
|
|
3
|
+
<path d="M6.5 7h11v4.5a5.5 5.5 0 0 1-11 0z"/>
|
|
4
|
+
<path d="M12 17v4.5"/>
|
|
5
|
+
</svg>
|
package/lib/index.d.ts
CHANGED
|
@@ -33,8 +33,9 @@
|
|
|
33
33
|
* three latches at once — its tools force-fold out of every prompt (keep and
|
|
34
34
|
* `servers` whitelist exemptions included), it disappears from the catalog,
|
|
35
35
|
* and `mcp_call` refuses it with an enable hint. Each server gets a stable
|
|
36
|
-
* numeric id (1..99, smallest free first) persisted in the
|
|
37
|
-
*
|
|
36
|
+
* numeric id (1..99, smallest free first) persisted in the plugin's own gate
|
|
37
|
+
* file under the dsh home (`storages/mcp-adapter/gate.json`), so ids survive
|
|
38
|
+
* restarts and re-syncs.
|
|
38
39
|
*
|
|
39
40
|
* Child-owned projections are preserved: `mcp_call` delegates its
|
|
40
41
|
* `output.render` to the dispatched child and forwards the child's
|
|
@@ -84,14 +85,19 @@ export declare const MCP_CALL_TOOL_NAME = "mcp_call";
|
|
|
84
85
|
/** Upper bound of the stable per-server id space. */
|
|
85
86
|
export declare const MCP_SERVER_ID_LIMIT = 99;
|
|
86
87
|
/**
|
|
87
|
-
* dsh
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
88
|
+
* dsh 0.1.7 note: the runtime settings registry this state used to live in
|
|
89
|
+
* (`settings.register('mcp-adapter', …)` on the 0.1.5 `SettingsScope`) is
|
|
90
|
+
* gone — 0.1.7 settings are the projection of a plugin's `Config` schema and
|
|
91
|
+
* volatile fields are user-editable values, which a machine-maintained id
|
|
92
|
+
* registry must never be. The gate therefore persists through the plugin's
|
|
93
|
+
* OWN file under the dsh home (same seam as dsh-cron/dsh-vault):
|
|
94
|
+
* `<dsh home>/storages/mcp-adapter/gate.json`.
|
|
91
95
|
*/
|
|
92
|
-
export declare const
|
|
96
|
+
export declare const MCP_ADAPTER_STORAGE_DIRNAME = "mcp-adapter";
|
|
97
|
+
/** The gate document file name inside {@link MCP_ADAPTER_STORAGE_DIRNAME}. */
|
|
98
|
+
export declare const GATE_FILE_NAME = "gate.json";
|
|
93
99
|
/**
|
|
94
|
-
* The persisted gate state (one
|
|
100
|
+
* The persisted gate state (one gate.json document). `serverIds` maps every
|
|
95
101
|
* OBSERVED server name to its stable id and is never pruned — enable/disable
|
|
96
102
|
* never recycles an id, so an id always means the same server, even across
|
|
97
103
|
* restarts and temporary re-sync gaps.
|
|
@@ -105,8 +111,8 @@ export interface ServerIdRegistry {
|
|
|
105
111
|
/**
|
|
106
112
|
* Read-side snapshot of the registry the three latches consult. Structurally
|
|
107
113
|
* a superset of {@link ServerIdRegistry}; everything (config objects included)
|
|
108
|
-
* shaped like this qualifies, so production hands
|
|
109
|
-
* straight in.
|
|
114
|
+
* shaped like this qualifies, so production hands the gate store's frozen
|
|
115
|
+
* mirror straight in.
|
|
110
116
|
*/
|
|
111
117
|
export interface ServerGateState {
|
|
112
118
|
readonly serverIds: Readonly<Record<string, number>>;
|
|
@@ -114,8 +120,6 @@ export interface ServerGateState {
|
|
|
114
120
|
}
|
|
115
121
|
/** Gate snapshot meaning "nothing observed, nothing disabled". */
|
|
116
122
|
export declare const EMPTY_SERVER_GATE: ServerGateState;
|
|
117
|
-
/** Schema of the persisted `mcp-adapter` settings section. */
|
|
118
|
-
export declare const SERVER_ID_REGISTRY_SCHEMA: z<ServerIdRegistry>;
|
|
119
123
|
/**
|
|
120
124
|
* Coerce any resolved settings value into a trustworthy gate snapshot. The
|
|
121
125
|
* schema already validates at resolve time, but every latch judges from THIS
|
|
@@ -163,21 +167,70 @@ export interface ServerToggleOutcome {
|
|
|
163
167
|
* removes the id mapping — re-disabling later reuses the same number.
|
|
164
168
|
*/
|
|
165
169
|
export declare function setServerDisabledState(state: ServerGateState | undefined, server: string, disable: boolean): ServerToggleOutcome;
|
|
166
|
-
/**
|
|
170
|
+
/**
|
|
171
|
+
* The live gate handle production hands to the three latches and the /mcp
|
|
172
|
+
* command: an in-memory mirror loaded once at apply time, written through to
|
|
173
|
+
* the gate file on every persist. Reads never throw and never touch the disk;
|
|
174
|
+
* writes may (and the command surface turns a failed write into a structured
|
|
175
|
+
* error while the mirror keeps its previous value — "state unchanged").
|
|
176
|
+
*/
|
|
177
|
+
export interface GateStore {
|
|
178
|
+
/** Current normalized snapshot (corrupt input already sanitized away). */
|
|
179
|
+
get(): ServerGateState;
|
|
180
|
+
/** Persist one complete next registry; the mirror moves only after the file landed. */
|
|
181
|
+
write(next: ServerIdRegistry): Promise<void>;
|
|
182
|
+
}
|
|
183
|
+
/** The warning seam {@link createFileGateStore} reports boot-time problems through. */
|
|
184
|
+
export type GateWarn = (message: string) => void;
|
|
185
|
+
/** Resolve the dsh home (`DSH_HOME`, else `~/.dsh`) — same seam as dsh-cron/dsh-vault. */
|
|
186
|
+
export declare function resolveDshHome(): string;
|
|
187
|
+
/**
|
|
188
|
+
* Absolute gate directory for one `storageDir` config value: empty (default)
|
|
189
|
+
* means `<dsh home>/storages/mcp-adapter`, anything else is the override used
|
|
190
|
+
* verbatim (resolved).
|
|
191
|
+
*/
|
|
192
|
+
export declare function resolveGateDir(configured: string): string;
|
|
193
|
+
/**
|
|
194
|
+
* Build the production gate store over one directory. The initial read is
|
|
195
|
+
* synchronous (boot-time, once); writes land atomically (tmp file + rename)
|
|
196
|
+
* so a crash mid-write can never leave a torn document, and the in-memory
|
|
197
|
+
* mirror only advances after the file is durably renamed into place.
|
|
198
|
+
*/
|
|
199
|
+
export declare function createFileGateStore(dir: string, warn: GateWarn): GateStore;
|
|
200
|
+
/**
|
|
201
|
+
* Live config reference. 0.1.7 settings contract: volatile `Config` fields
|
|
202
|
+
* reach `apply` as host-swapped references — `.get()` snapshots the current
|
|
203
|
+
* value, and a settings-page write swaps the value in place WITHOUT remounting
|
|
204
|
+
* the plugin, so every consumer must read through the reference per use.
|
|
205
|
+
*/
|
|
206
|
+
export interface VolatileRef<T> {
|
|
207
|
+
get(): T;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Resolved adapter configuration as `apply` receives it. Every knob is
|
|
211
|
+
* user-tunable from the settings page (entry `dsh-mcp-adapter`) and hot-reloads
|
|
212
|
+
* without a plugin restart.
|
|
213
|
+
*/
|
|
167
214
|
export interface AdapterConfig {
|
|
168
215
|
/** Tool-name prefix to fold out of assembled prompts. */
|
|
169
|
-
prefix: string
|
|
216
|
+
prefix: VolatileRef<string>;
|
|
170
217
|
/** Name patterns ("*" wildcard) kept native in the prompt. */
|
|
171
|
-
keep: string[]
|
|
218
|
+
keep: VolatileRef<string[]>;
|
|
172
219
|
/**
|
|
173
220
|
* Server-name whitelist. Empty (default) folds every prefix-matching tool —
|
|
174
221
|
* the prefix is then a naming convention, not a trust boundary. Non-empty
|
|
175
222
|
* folds/catalogs/dispatches ONLY tools of the listed servers; fold, catalog
|
|
176
223
|
* and dispatch all consult the same list.
|
|
177
224
|
*/
|
|
178
|
-
servers: string[]
|
|
225
|
+
servers: VolatileRef<string[]>;
|
|
179
226
|
/** Max chars per tool description in the mcp_list catalog. */
|
|
180
|
-
descriptionLimit: number
|
|
227
|
+
descriptionLimit: VolatileRef<number>;
|
|
228
|
+
/**
|
|
229
|
+
* Gate storage directory override; empty (default) =
|
|
230
|
+
* `<dsh home>/storages/mcp-adapter`. Read once at apply time (the store is
|
|
231
|
+
* built there); changing it takes effect on the next plugin restart.
|
|
232
|
+
*/
|
|
233
|
+
storageDir: VolatileRef<string>;
|
|
181
234
|
}
|
|
182
235
|
export declare const Config: z<AdapterConfig>;
|
|
183
236
|
/**
|
|
@@ -264,9 +317,9 @@ export interface McpListOptions {
|
|
|
264
317
|
/** Server-name whitelist; empty or omitted admits every server. */
|
|
265
318
|
servers?: readonly string[];
|
|
266
319
|
/**
|
|
267
|
-
* Live gate reader (production:
|
|
268
|
-
* execution). A callback, not a value: the factory is built
|
|
269
|
-
* time and must observe later /mcp disable/enable writes.
|
|
320
|
+
* Live gate reader (production: the file-backed gate store's current
|
|
321
|
+
* mirror per execution). A callback, not a value: the factory is built
|
|
322
|
+
* once at apply time and must observe later /mcp disable/enable writes.
|
|
270
323
|
*/
|
|
271
324
|
getGate?: () => ServerGateState | undefined;
|
|
272
325
|
}
|
|
@@ -403,10 +456,10 @@ export interface McpCommandOptions {
|
|
|
403
456
|
/** Max chars per tool description in rendered listings. */
|
|
404
457
|
descriptionLimit: number;
|
|
405
458
|
/**
|
|
406
|
-
* Live-resolved gate snapshot at invocation time (undefined =
|
|
407
|
-
*
|
|
408
|
-
*
|
|
409
|
-
*
|
|
459
|
+
* Live-resolved gate snapshot at invocation time (undefined = no gate store
|
|
460
|
+
* is available, so ids/toggles are absent from all views and everything
|
|
461
|
+
* renders enabled). A snapshot per invocation keeps these renderers pure
|
|
462
|
+
* and never stale within one command execution.
|
|
410
463
|
*/
|
|
411
464
|
gate?: ServerGateState;
|
|
412
465
|
/**
|
|
@@ -485,7 +538,7 @@ export interface McpHealthStats {
|
|
|
485
538
|
*
|
|
486
539
|
* @param schemas - schemas visible to the receiving agent.
|
|
487
540
|
* @param options - adapter knobs (prefix/keep/servers) plus the live gate
|
|
488
|
-
* snapshot (`gate`) when
|
|
541
|
+
* snapshot (`gate`) when a gate store is available.
|
|
489
542
|
* @param metaToolsLive - whether both meta-tools resolve to this plugin's
|
|
490
543
|
* definitions in the receiving agent's scope.
|
|
491
544
|
* @returns the folding health plus the partition behind it.
|
|
@@ -615,16 +668,15 @@ export interface McpCommandView {
|
|
|
615
668
|
/** Whether both meta-tools resolve to this plugin's definitions there. */
|
|
616
669
|
metaToolsLive: boolean;
|
|
617
670
|
/**
|
|
618
|
-
* Gate snapshot resolved when the invocation started; `undefined` means
|
|
619
|
-
*
|
|
620
|
-
*
|
|
671
|
+
* Gate snapshot resolved when the invocation started; `undefined` means no
|
|
672
|
+
* gate store is available in this process (stable ids and toggles are
|
|
673
|
+
* unavailable; views degrade to enabled-everything).
|
|
621
674
|
*/
|
|
622
675
|
gate?: ServerGateState;
|
|
623
676
|
/**
|
|
624
|
-
* Persist one complete next registry (production:
|
|
625
|
-
*
|
|
626
|
-
*
|
|
627
|
-
* explanatory error instead of silently dropping the intent.
|
|
677
|
+
* Persist one complete next registry (production: an atomic write of the
|
|
678
|
+
* plugin's gate.json document). Absent ⇒ /mcp disable/enable answers with
|
|
679
|
+
* an explanatory error instead of silently dropping the intent.
|
|
628
680
|
*/
|
|
629
681
|
writeGate?: (next: ServerIdRegistry) => Promise<void>;
|
|
630
682
|
/**
|
|
@@ -707,7 +759,11 @@ export declare function renderDispatched(metaArgs: unknown, value: unknown, reso
|
|
|
707
759
|
export declare function delegateFinalizeContent(metaArgs: unknown, result: Readonly<ToolExecutionResult>, exec: Readonly<ToolExecution>, resolveChild: (name: string) => ToolDefinition | undefined): ContentBlock[] | undefined;
|
|
708
760
|
/**
|
|
709
761
|
* Build the `mcp_list` meta-tool definition.
|
|
710
|
-
* @param options - catalog knobs (prefix, description limit).
|
|
762
|
+
* @param options - catalog knobs (prefix, description limit). MAY be a live
|
|
763
|
+
* options object (plain getters): the factory reads `prefix`, `servers`,
|
|
764
|
+
* `descriptionLimit` and `getGate` through the object on EVERY execution,
|
|
765
|
+
* so volatile config can be wired by reference — only the description text
|
|
766
|
+
* freezes at factory time.
|
|
711
767
|
* @param listSchemas - visible-schemas source (production: `ctx.tools.schemas`,
|
|
712
768
|
* called with the calling agent so restrictions are respected).
|
|
713
769
|
* @returns the complete tool definition.
|
|
@@ -715,17 +771,20 @@ export declare function delegateFinalizeContent(metaArgs: unknown, result: Reado
|
|
|
715
771
|
export declare function createMcpListTool(options: McpListOptions, listSchemas: (scope?: ScopeKey) => readonly ToolSchema[]): ToolDefinition;
|
|
716
772
|
/**
|
|
717
773
|
* Build the `mcp_call` meta-tool definition.
|
|
718
|
-
* @param prefix - the configured MCP prefix (dispatch boundary).
|
|
774
|
+
* @param prefix - the configured MCP prefix (dispatch boundary). A thunk is
|
|
775
|
+
* accepted so volatile config is re-read on every dispatch; a plain string
|
|
776
|
+
* freezes the boundary at factory time.
|
|
719
777
|
* @param resolve - scope-aware definition resolver (production:
|
|
720
778
|
* `ctx.tools.get`, called with the calling agent).
|
|
721
|
-
* @param servers - server-name whitelist (default: no filtering).
|
|
722
|
-
*
|
|
723
|
-
*
|
|
724
|
-
*
|
|
725
|
-
*
|
|
779
|
+
* @param servers - server-name whitelist (default: no filtering). A thunk is
|
|
780
|
+
* accepted for live volatile config, same as `prefix`.
|
|
781
|
+
* @param getGate - live disabled-server reader (production: the file-backed
|
|
782
|
+
* gate store's current mirror; default/omitted: nothing is disabled).
|
|
783
|
+
* Deliberately a callback — the definition object outlives any one gate
|
|
784
|
+
* snapshot and must observe later /mcp enable/disable writes.
|
|
726
785
|
* @returns the complete tool definition.
|
|
727
786
|
*/
|
|
728
|
-
export declare function createMcpCallTool(prefix: string, resolve: (name: string, scope?: ScopeKey) => ToolDefinition | undefined, servers?: readonly string[], getGate?: () => ServerGateState | undefined): ToolDefinition;
|
|
787
|
+
export declare function createMcpCallTool(prefix: string | (() => string), resolve: (name: string, scope?: ScopeKey) => ToolDefinition | undefined, servers?: readonly string[] | (() => readonly string[]), getGate?: () => ServerGateState | undefined): ToolDefinition;
|
|
729
788
|
/**
|
|
730
789
|
* Register the two meta-tools and install the assembly folding listener.
|
|
731
790
|
*
|
|
@@ -733,19 +792,25 @@ export declare function createMcpCallTool(prefix: string, resolve: (name: string
|
|
|
733
792
|
* both registrations are rolled back, a warning is logged, and NO listener
|
|
734
793
|
* is installed — the official full-schema passthrough stays intact.
|
|
735
794
|
*
|
|
736
|
-
* Server gating:
|
|
737
|
-
*
|
|
738
|
-
*
|
|
739
|
-
*
|
|
740
|
-
*
|
|
741
|
-
*
|
|
795
|
+
* Server gating: the gate mirror loads synchronously once from the plugin's
|
|
796
|
+
* gate file (`resolveGateDir(config.storageDir.get())`), and every gate
|
|
797
|
+
* consumer reads the CURRENT mirror through {@link getGate} — the plugin
|
|
798
|
+
* keeps no stale copy that could drift from /mcp writes. A corrupt or
|
|
799
|
+
* unreadable document degrades to the empty gate (everything enabled) at
|
|
800
|
+
* load time, keeping the assemble waterfall alive.
|
|
801
|
+
*
|
|
802
|
+
* Config volatility: every knob (prefix/keep/servers/descriptionLimit) is a
|
|
803
|
+
* volatile reference — 0.1.7 settings-page writes swap values in place
|
|
804
|
+
* WITHOUT remounting the plugin, so nothing captured at apply time may go
|
|
805
|
+
* stale: the waterfall, both meta-tools and the /mcp command all re-read
|
|
806
|
+
* through {@link cfgNow} per use.
|
|
742
807
|
*
|
|
743
|
-
* Commands: `/mcp` mounts through a runtime `ctx.inject(['commands'], ...)
|
|
744
|
-
*
|
|
745
|
-
*
|
|
746
|
-
*
|
|
808
|
+
* Commands: `/mcp` mounts through a runtime `ctx.inject(['commands'], ...)`,
|
|
809
|
+
* so hosts without the commands service keep this plugin fully functional —
|
|
810
|
+
* one warning, no command. A registration name conflict degrades to the same
|
|
811
|
+
* warning independently.
|
|
747
812
|
*
|
|
748
813
|
* @param ctx - plugin context carrying the tool registry.
|
|
749
|
-
* @param config - resolved adapter configuration.
|
|
814
|
+
* @param config - resolved adapter configuration (volatile live references).
|
|
750
815
|
*/
|
|
751
816
|
export declare function apply(ctx: Context, config: AdapterConfig): void;
|
package/lib/index.js
CHANGED
|
@@ -33,8 +33,9 @@
|
|
|
33
33
|
* three latches at once — its tools force-fold out of every prompt (keep and
|
|
34
34
|
* `servers` whitelist exemptions included), it disappears from the catalog,
|
|
35
35
|
* and `mcp_call` refuses it with an enable hint. Each server gets a stable
|
|
36
|
-
* numeric id (1..99, smallest free first) persisted in the
|
|
37
|
-
*
|
|
36
|
+
* numeric id (1..99, smallest free first) persisted in the plugin's own gate
|
|
37
|
+
* file under the dsh home (`storages/mcp-adapter/gate.json`), so ids survive
|
|
38
|
+
* restarts and re-syncs.
|
|
38
39
|
*
|
|
39
40
|
* Child-owned projections are preserved: `mcp_call` delegates its
|
|
40
41
|
* `output.render` to the dispatched child and forwards the child's
|
|
@@ -52,6 +53,10 @@
|
|
|
52
53
|
*
|
|
53
54
|
* @module @aiwayds/dsh-mcp-adapter
|
|
54
55
|
*/
|
|
56
|
+
import { mkdir, rename, writeFile } from 'node:fs/promises';
|
|
57
|
+
import { readFileSync } from 'node:fs';
|
|
58
|
+
import { homedir } from 'node:os';
|
|
59
|
+
import { join, resolve as resolvePath } from 'node:path';
|
|
55
60
|
import z from '@deepseek-ai/schemastery';
|
|
56
61
|
/** Cordis plugin name used by loader diagnostics. */
|
|
57
62
|
export const name = 'mcp-adapter';
|
|
@@ -87,19 +92,19 @@ const PREFIX_PATTERN = /^[A-Za-z0-9_-]{1,64}$/;
|
|
|
87
92
|
/** Upper bound of the stable per-server id space. */
|
|
88
93
|
export const MCP_SERVER_ID_LIMIT = 99;
|
|
89
94
|
/**
|
|
90
|
-
* dsh
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
95
|
+
* dsh 0.1.7 note: the runtime settings registry this state used to live in
|
|
96
|
+
* (`settings.register('mcp-adapter', …)` on the 0.1.5 `SettingsScope`) is
|
|
97
|
+
* gone — 0.1.7 settings are the projection of a plugin's `Config` schema and
|
|
98
|
+
* volatile fields are user-editable values, which a machine-maintained id
|
|
99
|
+
* registry must never be. The gate therefore persists through the plugin's
|
|
100
|
+
* OWN file under the dsh home (same seam as dsh-cron/dsh-vault):
|
|
101
|
+
* `<dsh home>/storages/mcp-adapter/gate.json`.
|
|
94
102
|
*/
|
|
95
|
-
export const
|
|
103
|
+
export const MCP_ADAPTER_STORAGE_DIRNAME = 'mcp-adapter';
|
|
104
|
+
/** The gate document file name inside {@link MCP_ADAPTER_STORAGE_DIRNAME}. */
|
|
105
|
+
export const GATE_FILE_NAME = 'gate.json';
|
|
96
106
|
/** Gate snapshot meaning "nothing observed, nothing disabled". */
|
|
97
107
|
export const EMPTY_SERVER_GATE = { serverIds: {}, disabled: [] };
|
|
98
|
-
/** Schema of the persisted `mcp-adapter` settings section. */
|
|
99
|
-
export const SERVER_ID_REGISTRY_SCHEMA = z.object({
|
|
100
|
-
serverIds: z.dict(z.number().step(1).min(1).max(MCP_SERVER_ID_LIMIT)).default({}),
|
|
101
|
-
disabled: z.array(z.number().step(1).min(1).max(MCP_SERVER_ID_LIMIT)).default([]),
|
|
102
|
-
});
|
|
103
108
|
/** Whether one number is an allocatable server id. */
|
|
104
109
|
function isValidServerId(id) {
|
|
105
110
|
return typeof id === 'number' && Number.isInteger(id) && id >= 1 && id <= MCP_SERVER_ID_LIMIT;
|
|
@@ -212,11 +217,70 @@ export function setServerDisabledState(state, server, disable) {
|
|
|
212
217
|
changed: disable ? id !== undefined && !has : has,
|
|
213
218
|
};
|
|
214
219
|
}
|
|
220
|
+
/** Resolve the dsh home (`DSH_HOME`, else `~/.dsh`) — same seam as dsh-cron/dsh-vault. */
|
|
221
|
+
export function resolveDshHome() {
|
|
222
|
+
return process.env.DSH_HOME !== undefined && process.env.DSH_HOME !== ''
|
|
223
|
+
? process.env.DSH_HOME
|
|
224
|
+
: join(homedir(), '.dsh');
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Absolute gate directory for one `storageDir` config value: empty (default)
|
|
228
|
+
* means `<dsh home>/storages/mcp-adapter`, anything else is the override used
|
|
229
|
+
* verbatim (resolved).
|
|
230
|
+
*/
|
|
231
|
+
export function resolveGateDir(configured) {
|
|
232
|
+
return configured.trim() === ''
|
|
233
|
+
? join(resolveDshHome(), 'storages', MCP_ADAPTER_STORAGE_DIRNAME)
|
|
234
|
+
: resolvePath(configured);
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Load the gate mirror from one gate file. A missing file is the fresh-install
|
|
238
|
+
* zero state (silent); an unreadable or unparseable one is warned about once
|
|
239
|
+
* here and degrades to the empty gate — every server counts as enabled, the
|
|
240
|
+
* fail-open hard requirement.
|
|
241
|
+
*/
|
|
242
|
+
function loadInitialGate(file, warn) {
|
|
243
|
+
try {
|
|
244
|
+
return normalizeServerGate(JSON.parse(readFileSync(file, 'utf8')));
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
if (error?.code !== 'ENOENT') {
|
|
248
|
+
warn(`mcp-adapter: the persisted enable/disable state at ${file} is unreadable `
|
|
249
|
+
+ `(${error instanceof Error ? error.message : String(error)}) `
|
|
250
|
+
+ '— starting from an empty gate (every server enabled)');
|
|
251
|
+
}
|
|
252
|
+
return EMPTY_SERVER_GATE;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Build the production gate store over one directory. The initial read is
|
|
257
|
+
* synchronous (boot-time, once); writes land atomically (tmp file + rename)
|
|
258
|
+
* so a crash mid-write can never leave a torn document, and the in-memory
|
|
259
|
+
* mirror only advances after the file is durably renamed into place.
|
|
260
|
+
*/
|
|
261
|
+
export function createFileGateStore(dir, warn) {
|
|
262
|
+
const file = join(dir, GATE_FILE_NAME);
|
|
263
|
+
let mirror = loadInitialGate(file, warn);
|
|
264
|
+
return {
|
|
265
|
+
get: () => mirror,
|
|
266
|
+
async write(next) {
|
|
267
|
+
// Copy-on-write payload: the document is complete and self-contained,
|
|
268
|
+
// exactly what the old wholesale settings `replace` guaranteed.
|
|
269
|
+
const payload = JSON.stringify({ serverIds: { ...next.serverIds }, disabled: [...next.disabled] }, null, 2) + '\n';
|
|
270
|
+
await mkdir(dir, { recursive: true });
|
|
271
|
+
const tmp = `${file}.${process.pid}.${Date.now()}.tmp`;
|
|
272
|
+
await writeFile(tmp, payload, 'utf8');
|
|
273
|
+
await rename(tmp, file);
|
|
274
|
+
mirror = normalizeServerGate(next);
|
|
275
|
+
},
|
|
276
|
+
};
|
|
277
|
+
}
|
|
215
278
|
export const Config = z.object({
|
|
216
|
-
prefix: z.string().pattern(PREFIX_PATTERN).default(DEFAULT_PREFIX),
|
|
217
|
-
keep: z.array(String).default([]),
|
|
218
|
-
servers: z.array(String).default([]),
|
|
219
|
-
descriptionLimit: z.number().step(1).min(1).max(Number.MAX_SAFE_INTEGER).default(DEFAULT_DESCRIPTION_LIMIT),
|
|
279
|
+
prefix: z.string().pattern(PREFIX_PATTERN).default(DEFAULT_PREFIX).volatile(),
|
|
280
|
+
keep: z.array(String).default([]).volatile(),
|
|
281
|
+
servers: z.array(String).default([]).volatile(),
|
|
282
|
+
descriptionLimit: z.number().step(1).min(1).max(Number.MAX_SAFE_INTEGER).default(DEFAULT_DESCRIPTION_LIMIT).volatile(),
|
|
283
|
+
storageDir: z.string().default('').volatile(),
|
|
220
284
|
});
|
|
221
285
|
// ---- Keep-pattern matching (pure) ----
|
|
222
286
|
/** Compiled keep patterns, keyed by source pattern. */
|
|
@@ -648,7 +712,7 @@ export function liveServerNames(schemas, options) {
|
|
|
648
712
|
*
|
|
649
713
|
* @param schemas - schemas visible to the receiving agent.
|
|
650
714
|
* @param options - adapter knobs (prefix/keep/servers) plus the live gate
|
|
651
|
-
* snapshot (`gate`) when
|
|
715
|
+
* snapshot (`gate`) when a gate store is available.
|
|
652
716
|
* @param metaToolsLive - whether both meta-tools resolve to this plugin's
|
|
653
717
|
* definitions in the receiving agent's scope.
|
|
654
718
|
* @returns the folding health plus the partition behind it.
|
|
@@ -902,7 +966,7 @@ export function renderMcpConfig(schemas, options) {
|
|
|
902
966
|
const hits = candidates.filter(schema => serverOfToolName(schema.name, options.prefix) === server);
|
|
903
967
|
lines.push(` - ${server}`, hits.length === 0 ? ' (no matching tools)' : ` tools: ${hits.map(schema => annotateDisabled(schema.name)).join(', ')}`);
|
|
904
968
|
}
|
|
905
|
-
// Persistent gate inventory — only meaningful with a live
|
|
969
|
+
// Persistent gate inventory — only meaningful with a live gate-backed
|
|
906
970
|
// snapshot, so absent snapshots keep the legacy output untouched.
|
|
907
971
|
if (options.gate !== undefined) {
|
|
908
972
|
const mapped = Object.entries(options.gate.serverIds).sort((left, right) => left[1] - right[1]);
|
|
@@ -1022,8 +1086,8 @@ async function runServerToggle(form, id, registry, view) {
|
|
|
1022
1086
|
if (registry === undefined || view.writeGate === undefined) {
|
|
1023
1087
|
return {
|
|
1024
1088
|
kind: 'error',
|
|
1025
|
-
text: `"/mcp ${form}" needs the
|
|
1026
|
-
+ 'and it is not
|
|
1089
|
+
text: `"/mcp ${form}" needs the persistent gate store to record server state, `
|
|
1090
|
+
+ 'and it is not available in this process',
|
|
1027
1091
|
};
|
|
1028
1092
|
}
|
|
1029
1093
|
const liveServers = new Set(liveServerNames(view.schemas, view.config));
|
|
@@ -1191,7 +1255,11 @@ export function delegateFinalizeContent(metaArgs, result, exec, resolveChild) {
|
|
|
1191
1255
|
}
|
|
1192
1256
|
/**
|
|
1193
1257
|
* Build the `mcp_list` meta-tool definition.
|
|
1194
|
-
* @param options - catalog knobs (prefix, description limit).
|
|
1258
|
+
* @param options - catalog knobs (prefix, description limit). MAY be a live
|
|
1259
|
+
* options object (plain getters): the factory reads `prefix`, `servers`,
|
|
1260
|
+
* `descriptionLimit` and `getGate` through the object on EVERY execution,
|
|
1261
|
+
* so volatile config can be wired by reference — only the description text
|
|
1262
|
+
* freezes at factory time.
|
|
1195
1263
|
* @param listSchemas - visible-schemas source (production: `ctx.tools.schemas`,
|
|
1196
1264
|
* called with the calling agent so restrictions are respected).
|
|
1197
1265
|
* @returns the complete tool definition.
|
|
@@ -1240,24 +1308,29 @@ export function createMcpListTool(options, listSchemas) {
|
|
|
1240
1308
|
}
|
|
1241
1309
|
/**
|
|
1242
1310
|
* Build the `mcp_call` meta-tool definition.
|
|
1243
|
-
* @param prefix - the configured MCP prefix (dispatch boundary).
|
|
1311
|
+
* @param prefix - the configured MCP prefix (dispatch boundary). A thunk is
|
|
1312
|
+
* accepted so volatile config is re-read on every dispatch; a plain string
|
|
1313
|
+
* freezes the boundary at factory time.
|
|
1244
1314
|
* @param resolve - scope-aware definition resolver (production:
|
|
1245
1315
|
* `ctx.tools.get`, called with the calling agent).
|
|
1246
|
-
* @param servers - server-name whitelist (default: no filtering).
|
|
1247
|
-
*
|
|
1248
|
-
*
|
|
1249
|
-
*
|
|
1250
|
-
*
|
|
1316
|
+
* @param servers - server-name whitelist (default: no filtering). A thunk is
|
|
1317
|
+
* accepted for live volatile config, same as `prefix`.
|
|
1318
|
+
* @param getGate - live disabled-server reader (production: the file-backed
|
|
1319
|
+
* gate store's current mirror; default/omitted: nothing is disabled).
|
|
1320
|
+
* Deliberately a callback — the definition object outlives any one gate
|
|
1321
|
+
* snapshot and must observe later /mcp enable/disable writes.
|
|
1251
1322
|
* @returns the complete tool definition.
|
|
1252
1323
|
*/
|
|
1253
1324
|
export function createMcpCallTool(prefix, resolve, servers = [], getGate) {
|
|
1325
|
+
const prefixNow = typeof prefix === 'function' ? prefix : () => prefix;
|
|
1326
|
+
const serversNow = typeof servers === 'function' ? servers : () => servers;
|
|
1254
1327
|
return {
|
|
1255
1328
|
name: MCP_CALL_TOOL_NAME,
|
|
1256
1329
|
description: [
|
|
1257
|
-
`Invoke one MCP tool by its full registered name (like "${
|
|
1330
|
+
`Invoke one MCP tool by its full registered name (like "${prefixNow()}<server>__<tool>").`,
|
|
1258
1331
|
`First call ${MCP_LIST_TOOL_NAME} to discover tool names and expand the exact input schema,`,
|
|
1259
1332
|
'then pass { "tool": "<full name>", "arguments": { ... } }.',
|
|
1260
|
-
`Only tools named with the "${
|
|
1333
|
+
`Only tools named with the "${prefixNow()}" prefix are dispatchable — anything else is refused.`,
|
|
1261
1334
|
'The result is the invoked tool\'s own return value, or a structured { "error": ... } you can correct and retry.',
|
|
1262
1335
|
].join(' '),
|
|
1263
1336
|
parameters: {
|
|
@@ -1277,7 +1350,7 @@ export function createMcpCallTool(prefix, resolve, servers = [], getGate) {
|
|
|
1277
1350
|
schema: {},
|
|
1278
1351
|
render: (args, value) => renderDispatched(args, value, name => resolve(name)),
|
|
1279
1352
|
},
|
|
1280
|
-
execute: (args, exec) => dispatchMcpCall(args,
|
|
1353
|
+
execute: (args, exec) => dispatchMcpCall(args, prefixNow(), name => resolve(name, exec.agent), exec, serversNow(), getGate?.()),
|
|
1281
1354
|
// Restore child-owned projections (image attachments): the registry
|
|
1282
1355
|
// invokes THIS definition's finalizer, so it must forward to the child's
|
|
1283
1356
|
// with the same exec object dispatch passed to child.execute.
|
|
@@ -1292,79 +1365,52 @@ export function createMcpCallTool(prefix, resolve, servers = [], getGate) {
|
|
|
1292
1365
|
* both registrations are rolled back, a warning is logged, and NO listener
|
|
1293
1366
|
* is installed — the official full-schema passthrough stays intact.
|
|
1294
1367
|
*
|
|
1295
|
-
* Server gating:
|
|
1296
|
-
*
|
|
1297
|
-
*
|
|
1298
|
-
*
|
|
1299
|
-
*
|
|
1300
|
-
*
|
|
1368
|
+
* Server gating: the gate mirror loads synchronously once from the plugin's
|
|
1369
|
+
* gate file (`resolveGateDir(config.storageDir.get())`), and every gate
|
|
1370
|
+
* consumer reads the CURRENT mirror through {@link getGate} — the plugin
|
|
1371
|
+
* keeps no stale copy that could drift from /mcp writes. A corrupt or
|
|
1372
|
+
* unreadable document degrades to the empty gate (everything enabled) at
|
|
1373
|
+
* load time, keeping the assemble waterfall alive.
|
|
1374
|
+
*
|
|
1375
|
+
* Config volatility: every knob (prefix/keep/servers/descriptionLimit) is a
|
|
1376
|
+
* volatile reference — 0.1.7 settings-page writes swap values in place
|
|
1377
|
+
* WITHOUT remounting the plugin, so nothing captured at apply time may go
|
|
1378
|
+
* stale: the waterfall, both meta-tools and the /mcp command all re-read
|
|
1379
|
+
* through {@link cfgNow} per use.
|
|
1301
1380
|
*
|
|
1302
|
-
* Commands: `/mcp` mounts through a runtime `ctx.inject(['commands'], ...)
|
|
1303
|
-
*
|
|
1304
|
-
*
|
|
1305
|
-
*
|
|
1381
|
+
* Commands: `/mcp` mounts through a runtime `ctx.inject(['commands'], ...)`,
|
|
1382
|
+
* so hosts without the commands service keep this plugin fully functional —
|
|
1383
|
+
* one warning, no command. A registration name conflict degrades to the same
|
|
1384
|
+
* warning independently.
|
|
1306
1385
|
*
|
|
1307
1386
|
* @param ctx - plugin context carrying the tool registry.
|
|
1308
|
-
* @param config - resolved adapter configuration.
|
|
1387
|
+
* @param config - resolved adapter configuration (volatile live references).
|
|
1309
1388
|
*/
|
|
1310
1389
|
export function apply(ctx, config) {
|
|
1311
|
-
const
|
|
1312
|
-
prefix: config.prefix,
|
|
1313
|
-
keep: config.keep,
|
|
1314
|
-
servers: config.servers,
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
//
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
// Fresh snapshot per read; normalize guards hand-edited documents. The
|
|
1336
|
-
// scope being absent is distinguishable from an empty section: undefined
|
|
1337
|
-
// propagates so toggle commands can name their missing dependency.
|
|
1338
|
-
const getGate = () => {
|
|
1339
|
-
const scope = settingsScope;
|
|
1340
|
-
if (scope === undefined)
|
|
1341
|
-
return undefined;
|
|
1342
|
-
try {
|
|
1343
|
-
return normalizeServerGate(scope.get());
|
|
1344
|
-
}
|
|
1345
|
-
catch (error) {
|
|
1346
|
-
// Fail-open, hard requirement: a throwing read must never blow up the
|
|
1347
|
-
// system-prompt/assemble waterfall or a /mcp invocation. Gate-less
|
|
1348
|
-
// means every server counts as enabled — visibility only ever grows.
|
|
1349
|
-
if (!gateReadWarned) {
|
|
1350
|
-
gateReadWarned = true;
|
|
1351
|
-
ctx.logger.warn(`mcp-adapter: reading the persisted enable/disable state failed `
|
|
1352
|
-
+ `(${error instanceof Error ? error.message : String(error)}) `
|
|
1353
|
-
+ '— treating every server as enabled');
|
|
1354
|
-
}
|
|
1355
|
-
return undefined;
|
|
1356
|
-
}
|
|
1357
|
-
};
|
|
1358
|
-
const writeGate = async (next) => {
|
|
1359
|
-
const scope = settingsScope;
|
|
1360
|
-
if (scope === undefined)
|
|
1361
|
-
throw new Error('settings service went away before the write');
|
|
1362
|
-
// Wholesale replace (not update): we always hold the complete next
|
|
1363
|
-
// section, and replace cannot merge stale keys back under us.
|
|
1364
|
-
await scope.replace({ serverIds: { ...next.serverIds }, disabled: [...next.disabled] });
|
|
1365
|
-
};
|
|
1366
|
-
const listDefinition = createMcpListTool({ ...listOptions, getGate }, scope => ctx.tools.schemas(scope));
|
|
1367
|
-
const callDefinition = createMcpCallTool(config.prefix, (name, scope) => ctx.tools.get(name, scope), config.servers, getGate);
|
|
1390
|
+
const cfgNow = () => ({
|
|
1391
|
+
prefix: config.prefix.get(),
|
|
1392
|
+
keep: config.keep.get(),
|
|
1393
|
+
servers: config.servers.get(),
|
|
1394
|
+
descriptionLimit: config.descriptionLimit.get(),
|
|
1395
|
+
});
|
|
1396
|
+
// Persistent enable/disable state: file-backed gate store (the 0.1.5
|
|
1397
|
+
// settings namespace is gone; volatile fields are for user-facing values,
|
|
1398
|
+
// which a machine id registry must never be). Reads come from the mirror,
|
|
1399
|
+
// writes go through atomically; the storage dir is read once — moving it
|
|
1400
|
+
// takes effect on the next plugin restart.
|
|
1401
|
+
const store = createFileGateStore(resolveGateDir(config.storageDir.get()), message => ctx.logger.warn(message));
|
|
1402
|
+
const getGate = () => store.get();
|
|
1403
|
+
const writeGate = (next) => store.write(next);
|
|
1404
|
+
// Live options object: getters re-resolve volatile config per execution, so
|
|
1405
|
+
// catalog/dispatch immediately follow settings-page edits (the list tool's
|
|
1406
|
+
// description text is the only factory-time freeze, and it is cosmetic).
|
|
1407
|
+
const listDefinition = createMcpListTool({
|
|
1408
|
+
get prefix() { return cfgNow().prefix; },
|
|
1409
|
+
get servers() { return cfgNow().servers; },
|
|
1410
|
+
get descriptionLimit() { return cfgNow().descriptionLimit; },
|
|
1411
|
+
getGate,
|
|
1412
|
+
}, scope => ctx.tools.schemas(scope));
|
|
1413
|
+
const callDefinition = createMcpCallTool(() => cfgNow().prefix, (name, scope) => ctx.tools.get(name, scope), () => cfgNow().servers, getGate);
|
|
1368
1414
|
const disposers = [];
|
|
1369
1415
|
try {
|
|
1370
1416
|
disposers.push(ctx.tools.register(listDefinition));
|
|
@@ -1392,7 +1438,10 @@ export function apply(ctx, config) {
|
|
|
1392
1438
|
// missing, shadowed, or foreign `mcp_list`/`mcp_call` means passthrough.
|
|
1393
1439
|
const metaToolsLive = ctx.tools.get(MCP_LIST_TOOL_NAME, context.scope) === listDefinition
|
|
1394
1440
|
&& ctx.tools.get(MCP_CALL_TOOL_NAME, context.scope) === callDefinition;
|
|
1395
|
-
|
|
1441
|
+
// Volatile knobs are re-read per assembly: settings-page edits reach the
|
|
1442
|
+
// next prompt without a plugin remount.
|
|
1443
|
+
const { prefix, keep, servers } = cfgNow();
|
|
1444
|
+
return foldPromptAssembly(assembled, { prefix, keep, servers }, metaToolsLive, getGate());
|
|
1396
1445
|
});
|
|
1397
1446
|
// Status + server toggles on the platform command service (visible in TUI
|
|
1398
1447
|
// completion and web slash panels). The service is mounted SOFTLY: unlike
|
|
@@ -1423,18 +1472,13 @@ export function apply(ctx, config) {
|
|
|
1423
1472
|
const schemas = ctx.tools.schemas(scope);
|
|
1424
1473
|
const metaToolsLive = ctx.tools.get(MCP_LIST_TOOL_NAME, scope) === listDefinition
|
|
1425
1474
|
&& ctx.tools.get(MCP_CALL_TOOL_NAME, scope) === callDefinition;
|
|
1426
|
-
// ONE snapshot per execution keeps config.gate and view.gate identical
|
|
1475
|
+
// ONE snapshot per execution keeps config.gate and view.gate identical;
|
|
1476
|
+
// volatile knobs are re-read per invocation (live settings-page edits).
|
|
1427
1477
|
const gate = getGate();
|
|
1428
1478
|
return executeMcpCommand({
|
|
1429
1479
|
rawInput: invocation.rawInput,
|
|
1430
1480
|
schemas,
|
|
1431
|
-
config: {
|
|
1432
|
-
prefix: config.prefix,
|
|
1433
|
-
keep: config.keep,
|
|
1434
|
-
servers: config.servers,
|
|
1435
|
-
descriptionLimit: config.descriptionLimit,
|
|
1436
|
-
gate,
|
|
1437
|
-
},
|
|
1481
|
+
config: { ...cfgNow(), gate },
|
|
1438
1482
|
metaToolsLive,
|
|
1439
1483
|
gate,
|
|
1440
1484
|
signal: invocation.signal,
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/locale/en.json
ADDED
package/locale/zh.json
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aiwayds/dsh-mcp-adapter",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "dsh plugin: token-efficient prompt-side shim for the official MCP client — folds mcp__* tool schemas out of every assembled prompt and exposes two constant meta-tools (mcp_list / mcp_call) instead",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"dsh",
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"type": "module",
|
|
14
14
|
"main": "lib/index.js",
|
|
15
15
|
"types": "lib/index.d.ts",
|
|
16
|
+
"icon": "./icon.svg",
|
|
16
17
|
"license": "MIT",
|
|
17
18
|
"engines": {
|
|
18
19
|
"node": ">=22.19.0"
|
|
@@ -22,10 +23,13 @@
|
|
|
22
23
|
"scripts",
|
|
23
24
|
"cordis.patch.yml",
|
|
24
25
|
"README.md",
|
|
25
|
-
"README.zh.md"
|
|
26
|
+
"README.zh.md",
|
|
27
|
+
"icon.svg",
|
|
28
|
+
"locale/*.json"
|
|
26
29
|
],
|
|
27
30
|
"scripts": {
|
|
28
31
|
"link-closure": "node scripts/link-dsh-closure.mjs",
|
|
32
|
+
"postinstall": "node scripts/link-dsh-closure.mjs",
|
|
29
33
|
"build": "tsc -p tsconfig.json",
|
|
30
34
|
"check": "tsc --noEmit -p tsconfig.json",
|
|
31
35
|
"precheck": "node scripts/link-dsh-closure.mjs",
|
|
@@ -33,9 +37,38 @@
|
|
|
33
37
|
"test": "node --test test/*.test.mjs",
|
|
34
38
|
"smoke": "node scripts/smoke-boot.mjs"
|
|
35
39
|
},
|
|
40
|
+
"peerDependencies": {
|
|
41
|
+
"@deepseek-ai/cordis": "4.0.4",
|
|
42
|
+
"@deepseek-ai/schemastery": "3.18.4",
|
|
43
|
+
"@deepseek-ai/dsh-commands": ">=0.1.7-rc.1",
|
|
44
|
+
"@deepseek-ai/dsh-llm": ">=0.1.7-rc.1",
|
|
45
|
+
"@deepseek-ai/dsh-scope": ">=0.1.7-rc.1",
|
|
46
|
+
"@deepseek-ai/dsh-system-prompt": ">=0.1.7-rc.1",
|
|
47
|
+
"@deepseek-ai/dsh-tools": ">=0.1.7-rc.1",
|
|
48
|
+
"@deepseek-ai/dsh-util-values": ">=0.1.7-rc.1"
|
|
49
|
+
},
|
|
50
|
+
"peerDependenciesMeta": {
|
|
51
|
+
"@deepseek-ai/cordis": {
|
|
52
|
+
"optional": true
|
|
53
|
+
},
|
|
54
|
+
"@deepseek-ai/schemastery": {
|
|
55
|
+
"optional": true
|
|
56
|
+
},
|
|
57
|
+
"@deepseek-ai/dsh-commands": {
|
|
58
|
+
"optional": true
|
|
59
|
+
}
|
|
60
|
+
},
|
|
36
61
|
"devDependencies": {
|
|
37
62
|
"@types/node": "^24.0.0",
|
|
38
|
-
"typescript": "~5.9.0"
|
|
63
|
+
"typescript": "~5.9.0",
|
|
64
|
+
"@deepseek-ai/cordis": "4.0.4",
|
|
65
|
+
"@deepseek-ai/schemastery": "3.18.4",
|
|
66
|
+
"@deepseek-ai/dsh-commands": "0.1.7-rc.1",
|
|
67
|
+
"@deepseek-ai/dsh-llm": "0.1.7-rc.1",
|
|
68
|
+
"@deepseek-ai/dsh-scope": "0.1.7-rc.1",
|
|
69
|
+
"@deepseek-ai/dsh-system-prompt": "0.1.7-rc.1",
|
|
70
|
+
"@deepseek-ai/dsh-tools": "0.1.7-rc.1",
|
|
71
|
+
"@deepseek-ai/dsh-util-values": "0.1.7-rc.1"
|
|
39
72
|
},
|
|
40
73
|
"dsh": {
|
|
41
74
|
"bundle": {
|
package/scripts/smoke-boot.mjs
CHANGED
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
//
|
|
20
20
|
// dsh-mcp-adapter note: with no MCP servers configured the meta-tools mount
|
|
21
21
|
// but nothing folds (idle); the smoke proves the plugin LOADS and APPLIES —
|
|
22
|
-
// including the
|
|
23
|
-
// real host, which is exactly the
|
|
24
|
-
// with a loader error).
|
|
22
|
+
// including the file-backed gate store construction (a silent no-op boot read
|
|
23
|
+
// when no gate file exists yet) — under the real host, which is exactly the
|
|
24
|
+
// gate (a broken import/inject/compose dies with a loader error).
|
|
25
25
|
|
|
26
26
|
import { spawnSync } from 'node:child_process'
|
|
27
27
|
import { mkdtempSync, mkdirSync, rmSync, writeFileSync } from 'node:fs'
|