@aalis/plugin-mcp-client 0.11.0 → 0.13.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 +7 -2
- package/dist/index.d.ts +75 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +98 -103
- package/dist/index.js.map +1 -1
- package/package.json +8 -7
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- 每个 server 在 config 中独立一项(`id` / `command` / `args` / `env`)
|
|
8
8
|
- 工具名会加前缀 `mcp_<server-id>_<tool-name>` 避免与本地工具命名冲突
|
|
9
9
|
- 每个 server 注册一个工具分组 `mcp:<server-id>`,可在 platform 配置中按需启用
|
|
10
|
-
- `
|
|
10
|
+
- `lifecycle.onDispose` 注册了 client 关闭回调,插件卸载时自动断开
|
|
11
11
|
- 工具档位默认 `auto`——按 MCP 工具注解分档:自称只读(`readOnlyHint`)→ `sensitive`
|
|
12
12
|
(等级 1),有破坏提示或未声明 → `restricted`(等级 2,未知按可破坏算)。
|
|
13
13
|
server 级 `visibility` 可显式覆盖为 `public` / `sensitive` / `restricted`
|
|
@@ -34,10 +34,15 @@ plugins:
|
|
|
34
34
|
## 依赖
|
|
35
35
|
|
|
36
36
|
- `@modelcontextprotocol/sdk`
|
|
37
|
-
-
|
|
37
|
+
- uses:`tools`(api-tools / plugin-tools)、`logger`、`lifecycle`、`config`;可选 `plugins`、`hostConfig`
|
|
38
38
|
|
|
39
39
|
## 注意
|
|
40
40
|
|
|
41
|
+
- `args` 必须是字符串数组、`env` 必须是映射;缺省时分别补 `[]` / `{}`。显式形态错误或任一成员不能转为字符串时,该 server 记录警告且不启动,其他 server 不受影响;合法的空字符串参数会原样传递
|
|
42
|
+
- 旧版 WebUI 建的条目常带 `args: ''` / `env: ''`,删除该键或改为 `[]` / `{}`
|
|
43
|
+
- 旧版按以下规则解析字符串,改写时照此拆分:`args` 先按行、再按空白切分,如 `args: "-y @scope/pkg"` 应改为 `["-y", "@scope/pkg"]`;`env` 每行一条 `KEY=VALUE`,忽略 `#` 开头的注释行,值去首尾空白
|
|
44
|
+
- 缺少 `id` 或 `command` 的条目记录警告并跳过,其它 server 不受影响
|
|
45
|
+
- `enabled` 不是布尔值、`visibility` 不在四档选项中时,同样跳过该 server
|
|
41
46
|
- MCP `inputSchema` 顶层非 `type: 'object'` 时会被包装为 `{ input: schema }`
|
|
42
47
|
- 工具名超过 64 字符(OpenAI 限制)会被截断
|
|
43
48
|
- 非法字符(`/` `.` 等)会被替换为下划线
|
package/dist/index.d.ts
CHANGED
|
@@ -9,34 +9,85 @@
|
|
|
9
9
|
* - 工具名加前缀 `mcp_<server-id>_<tool-name>` 避免与本地工具冲突
|
|
10
10
|
* - 每个 server 注册一个工具分组 `mcp:<server-id>`
|
|
11
11
|
* - 激活关闭时断开所有 client 连接(lifecycle.onDispose)
|
|
12
|
-
* -
|
|
12
|
+
* - 档位按 server 的 visibility 配置(默认 auto,按工具注解分档)
|
|
13
13
|
*/
|
|
14
|
+
import { type HostConfig } from '@aalis/api-host-config';
|
|
14
15
|
import type { BoundTools } from '@aalis/api-tools';
|
|
15
|
-
import { type
|
|
16
|
-
import type
|
|
16
|
+
import { type LifecycleCap, type Logger, type PluginManagerService, type ServiceRef } from '@aalis/core';
|
|
17
|
+
import { type ConfigOf } from '@aalis/schema-config';
|
|
17
18
|
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
18
|
-
/** server 级档位:auto 按工具注解分档;其余三档显式覆盖全部工具。 */
|
|
19
|
-
type McpServerTier = 'auto' | 'public' | 'sensitive' | 'restricted';
|
|
20
|
-
interface ServerSpec {
|
|
21
|
-
/** 唯一 id,用于工具命名空间 */
|
|
22
|
-
id: string;
|
|
23
|
-
/** 可执行命令(如 npx / node / python) */
|
|
24
|
-
command: string;
|
|
25
|
-
/** 命令行参数 */
|
|
26
|
-
args?: string[];
|
|
27
|
-
/** 环境变量 */
|
|
28
|
-
env?: Record<string, string>;
|
|
29
|
-
/** 是否启用,默认 true */
|
|
30
|
-
enabled?: boolean;
|
|
31
|
-
/** 该 server 工具的档位,默认 'auto'(按注解分档,见 deriveMcpToolPolicy)。 */
|
|
32
|
-
visibility?: McpServerTier;
|
|
33
|
-
}
|
|
34
19
|
/** 桥接函数用到的能力:测试只需给这两样,不必伪造整个运行时 */
|
|
35
20
|
interface BridgeCaps {
|
|
36
21
|
tools: BoundTools;
|
|
37
22
|
logger: Logger;
|
|
38
23
|
}
|
|
39
|
-
|
|
24
|
+
declare const configSchema: {
|
|
25
|
+
readonly servers: {
|
|
26
|
+
readonly type: "array";
|
|
27
|
+
readonly label: "MCP 服务器列表";
|
|
28
|
+
readonly description: "通过 stdio 连接的 MCP 服务器。每条目至少需要 id 与 command;安全级别按需调整。";
|
|
29
|
+
readonly items: {
|
|
30
|
+
readonly id: {
|
|
31
|
+
readonly type: "string";
|
|
32
|
+
readonly label: "唯一 ID";
|
|
33
|
+
readonly description: "用于工具命名空间,最终工具名形如 mcp_<id>_<tool>。仅允许字母数字与下划线/中划线。";
|
|
34
|
+
readonly required: true;
|
|
35
|
+
};
|
|
36
|
+
readonly command: {
|
|
37
|
+
readonly type: "string";
|
|
38
|
+
readonly label: "可执行命令";
|
|
39
|
+
readonly description: "例如 npx / node / python / 绝对路径。";
|
|
40
|
+
readonly required: true;
|
|
41
|
+
};
|
|
42
|
+
readonly args: {
|
|
43
|
+
readonly type: "list";
|
|
44
|
+
readonly label: "命令参数";
|
|
45
|
+
readonly description: "按顺序传给命令的参数列表,每项一个参数(可含空格)。";
|
|
46
|
+
readonly default: readonly [];
|
|
47
|
+
readonly onInvalid: "error";
|
|
48
|
+
};
|
|
49
|
+
readonly env: {
|
|
50
|
+
readonly type: "map";
|
|
51
|
+
readonly label: "环境变量";
|
|
52
|
+
readonly description: "额外传给子进程的环境变量(KEY → VALUE)。";
|
|
53
|
+
readonly default: {};
|
|
54
|
+
readonly onInvalid: "error";
|
|
55
|
+
};
|
|
56
|
+
readonly enabled: {
|
|
57
|
+
readonly type: "boolean";
|
|
58
|
+
readonly label: "启用";
|
|
59
|
+
readonly description: "关闭可临时跳过该 server 而不删除整条配置。";
|
|
60
|
+
readonly default: true;
|
|
61
|
+
readonly onInvalid: "error";
|
|
62
|
+
};
|
|
63
|
+
readonly visibility: {
|
|
64
|
+
readonly type: "select";
|
|
65
|
+
readonly label: "工具档位";
|
|
66
|
+
readonly description: string;
|
|
67
|
+
readonly default: "auto";
|
|
68
|
+
readonly onInvalid: "error";
|
|
69
|
+
readonly options: [{
|
|
70
|
+
readonly label: "auto(按注解分档)";
|
|
71
|
+
readonly value: "auto";
|
|
72
|
+
}, {
|
|
73
|
+
readonly label: "public(等级 0 全开)";
|
|
74
|
+
readonly value: "public";
|
|
75
|
+
}, {
|
|
76
|
+
readonly label: "sensitive(等级 1)";
|
|
77
|
+
readonly value: "sensitive";
|
|
78
|
+
}, {
|
|
79
|
+
readonly label: "restricted(等级 2)";
|
|
80
|
+
readonly value: "restricted";
|
|
81
|
+
}];
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
readonly default: [];
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
/** 一条 server 配置(parseConfig 解析后的形状) */
|
|
88
|
+
type ServerSpec = ConfigOf<typeof configSchema>['servers'][number];
|
|
89
|
+
/** server 级档位:auto 按工具注解分档;其余三档显式覆盖全部工具。 */
|
|
90
|
+
type McpServerTier = ServerSpec['visibility'];
|
|
40
91
|
interface ToolMeta {
|
|
41
92
|
name: string;
|
|
42
93
|
description?: string;
|
|
@@ -65,16 +116,16 @@ export declare function deriveMcpToolPolicy(annotations: ToolMeta['annotations']
|
|
|
65
116
|
};
|
|
66
117
|
/**
|
|
67
118
|
* 把一个已连接的 MCP Client 上暴露的所有工具桥接进 Aalis ToolService。
|
|
68
|
-
* 导出以便集成测试直接传入 InMemoryTransport 配对的 client
|
|
119
|
+
* 导出以便集成测试直接传入 InMemoryTransport 配对的 client;spec 只用到 id 与 visibility(缺省按 auto)。
|
|
69
120
|
*/
|
|
70
|
-
export declare function bridgeClientToTools(caps: BridgeCaps, client: Client, spec: ServerSpec): Promise<void>;
|
|
121
|
+
export declare function bridgeClientToTools(caps: BridgeCaps, client: Client, spec: Pick<ServerSpec, 'id'> & Partial<ServerSpec>, signal?: AbortSignal): Promise<void>;
|
|
71
122
|
declare const _default: import("@aalis/core").PluginDefinition<{
|
|
72
123
|
tools: import("@aalis/core").ServiceDescriptor<import("@aalis/api-tools").ToolService, BoundTools>;
|
|
73
124
|
logger: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Logger, Logger>;
|
|
74
125
|
lifecycle: import("@aalis/core").ServiceDescriptor<(identity: symbol) => LifecycleCap, LifecycleCap>;
|
|
75
126
|
config: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Readonly<Record<string, unknown>>, Readonly<Record<string, unknown>>>;
|
|
76
|
-
plugins: import("@aalis/core
|
|
77
|
-
|
|
127
|
+
plugins: import("@aalis/core").OptionalUse<PluginManagerService, ServiceRef<PluginManagerService>>;
|
|
128
|
+
hostConfig: import("@aalis/core").OptionalUse<HostConfig, ServiceRef<HostConfig>>;
|
|
78
129
|
}>;
|
|
79
130
|
export default _default;
|
|
80
131
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAEnE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,UAAU,EAAmC,MAAM,wBAAwB,CAAC;AAC1F,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,MAAM,EAIX,KAAK,oBAAoB,EAEzB,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,QAAQ,EAA6B,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAKnE,mCAAmC;AACnC,UAAU,UAAU;IAClB,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AASD,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDhB,CAAC;AAEH,uCAAuC;AACvC,KAAK,UAAU,GAAG,QAAQ,CAAC,OAAO,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,4CAA4C;AAC5C,KAAK,aAAa,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;AAE9C,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,iDAAiD;IACjD,WAAW,CAAC,EAAE;QACZ,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;CACH;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,EACpC,UAAU,CAAC,EAAE,aAAa,GACzB;IAAE,UAAU,CAAC,EAAE,YAAY,CAAC;IAAC,IAAI,CAAC,EAAE,WAAW,CAAA;CAAE,CAMnD;AAuMD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,EAClD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAqCf;;;;;;;;;AAsDD,wBAcG"}
|
package/dist/index.js
CHANGED
|
@@ -9,14 +9,16 @@
|
|
|
9
9
|
* - 工具名加前缀 `mcp_<server-id>_<tool-name>` 避免与本地工具冲突
|
|
10
10
|
* - 每个 server 注册一个工具分组 `mcp:<server-id>`
|
|
11
11
|
* - 激活关闭时断开所有 client 连接(lifecycle.onDispose)
|
|
12
|
-
* -
|
|
12
|
+
* - 档位按 server 的 visibility 配置(默认 auto,按工具注解分档)
|
|
13
13
|
*/
|
|
14
|
+
import { hostConfig as hostConfigService } from '@aalis/api-host-config';
|
|
14
15
|
import { tools as toolsService, wrapUntrustedContent } from '@aalis/api-tools';
|
|
15
|
-
import {
|
|
16
|
+
import { config as configService, definePlugin, lifecycle as lifecycleService, logger as loggerService, optional, pluginsService, } from '@aalis/core';
|
|
17
|
+
import { defineConfig, parseConfig } from '@aalis/schema-config';
|
|
16
18
|
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
17
19
|
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
|
|
18
20
|
const PLUGIN_NAME = '@aalis/plugin-mcp-client';
|
|
19
|
-
|
|
21
|
+
const configSchema = defineConfig({
|
|
20
22
|
servers: {
|
|
21
23
|
type: 'array',
|
|
22
24
|
label: 'MCP 服务器列表',
|
|
@@ -35,22 +37,25 @@ export const configSchema = {
|
|
|
35
37
|
required: true,
|
|
36
38
|
},
|
|
37
39
|
args: {
|
|
38
|
-
type: '
|
|
40
|
+
type: 'list',
|
|
39
41
|
label: '命令参数',
|
|
40
|
-
description: '
|
|
41
|
-
default:
|
|
42
|
+
description: '按顺序传给命令的参数列表,每项一个参数(可含空格)。',
|
|
43
|
+
default: [],
|
|
44
|
+
onInvalid: 'error',
|
|
42
45
|
},
|
|
43
46
|
env: {
|
|
44
|
-
type: '
|
|
47
|
+
type: 'map',
|
|
45
48
|
label: '环境变量',
|
|
46
|
-
description: '
|
|
47
|
-
default:
|
|
49
|
+
description: '额外传给子进程的环境变量(KEY → VALUE)。',
|
|
50
|
+
default: {},
|
|
51
|
+
onInvalid: 'error',
|
|
48
52
|
},
|
|
49
53
|
enabled: {
|
|
50
54
|
type: 'boolean',
|
|
51
55
|
label: '启用',
|
|
52
56
|
description: '关闭可临时跳过该 server 而不删除整条配置。',
|
|
53
57
|
default: true,
|
|
58
|
+
onInvalid: 'error',
|
|
54
59
|
},
|
|
55
60
|
visibility: {
|
|
56
61
|
type: 'select',
|
|
@@ -58,6 +63,7 @@ export const configSchema = {
|
|
|
58
63
|
description: '该 server 全部工具的档位。auto=按工具注解分档:自称只读→sensitive(等级 1),' +
|
|
59
64
|
'有破坏提示或未声明→restricted(等级 2)。public 恢复等级 0 全开(0.x 旧默认)。',
|
|
60
65
|
default: 'auto',
|
|
66
|
+
onInvalid: 'error',
|
|
61
67
|
options: [
|
|
62
68
|
{ label: 'auto(按注解分档)', value: 'auto' },
|
|
63
69
|
{ label: 'public(等级 0 全开)', value: 'public' },
|
|
@@ -68,7 +74,7 @@ export const configSchema = {
|
|
|
68
74
|
},
|
|
69
75
|
default: [],
|
|
70
76
|
},
|
|
71
|
-
};
|
|
77
|
+
});
|
|
72
78
|
/**
|
|
73
79
|
* 从 MCP 工具注解推导默认档位(用户裁定 2026-08-23:按"是否可能破坏"分档):
|
|
74
80
|
* - 自称只读且无破坏提示 → `risk:'sensitive'`(等级 1,挡 level-0);
|
|
@@ -91,13 +97,13 @@ export function deriveMcpToolPolicy(annotations, serverTier) {
|
|
|
91
97
|
return { visibility: 'restricted' };
|
|
92
98
|
}
|
|
93
99
|
async function run(caps) {
|
|
94
|
-
const
|
|
95
|
-
const servers =
|
|
96
|
-
.map(
|
|
100
|
+
const cfg = parseConfig(configSchema, caps.config, caps.logger);
|
|
101
|
+
const servers = cfg.servers
|
|
102
|
+
.map(s => normalizeServerSpec(s, caps.logger))
|
|
97
103
|
.filter((s) => s !== undefined);
|
|
98
104
|
if (servers.length === 0) {
|
|
99
105
|
caps.logger.info('未配置任何 MCP server,仅注册元数据工具');
|
|
100
|
-
registerSelfServiceTools(caps);
|
|
106
|
+
registerSelfServiceTools(caps, servers);
|
|
101
107
|
return;
|
|
102
108
|
}
|
|
103
109
|
// 注册分组:每个 enabled server 一个分组,让平台可按需启用
|
|
@@ -110,22 +116,25 @@ async function run(caps) {
|
|
|
110
116
|
description: `通过 plugin-mcp-client 桥接的远端 MCP server "${spec.id}"`,
|
|
111
117
|
});
|
|
112
118
|
}
|
|
113
|
-
// 并发连接所有 enabled servers
|
|
119
|
+
// 并发连接所有 enabled servers;失败的不影响其他。停用或停机时中止,中止不记失败
|
|
114
120
|
await Promise.all(servers
|
|
115
121
|
.filter(s => s.enabled !== false)
|
|
116
122
|
.map(spec => connectServer(caps, spec).catch(err => {
|
|
123
|
+
if (caps.lifecycle.signal.aborted)
|
|
124
|
+
return;
|
|
117
125
|
caps.logger.error(`连接 MCP server "${spec.id}" 失败: ${err instanceof Error ? err.message : String(err)}`);
|
|
118
126
|
})));
|
|
127
|
+
caps.lifecycle.signal.throwIfAborted();
|
|
119
128
|
// 注册 agent 自服务工具:只读列表 + toggle 已配置 server 的启用开关。
|
|
120
129
|
// 故意不提供「新增 server」工具——那等价于让 agent 任意 spawn 子进程,授权风险过大。
|
|
121
130
|
// 若要新增 server,应在 WebUI / yaml 手工配置。
|
|
122
|
-
registerSelfServiceTools(caps);
|
|
131
|
+
registerSelfServiceTools(caps, servers);
|
|
123
132
|
}
|
|
124
133
|
/**
|
|
125
134
|
* 在 ToolService 中注册 mcp_list_servers / mcp_set_server_enabled 两个 agent 自服务工具。
|
|
126
135
|
* 二者都属于 `mcp:_meta` 分组,便于平台按需开放。
|
|
127
136
|
*/
|
|
128
|
-
function registerSelfServiceTools(caps) {
|
|
137
|
+
function registerSelfServiceTools(caps, configured) {
|
|
129
138
|
const { tools } = caps;
|
|
130
139
|
tools.registerGroup({
|
|
131
140
|
name: 'mcp:_meta',
|
|
@@ -144,18 +153,14 @@ function registerSelfServiceTools(caps) {
|
|
|
144
153
|
groups: ['mcp:_meta'],
|
|
145
154
|
visibility: 'public',
|
|
146
155
|
handler: async () => {
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
// \u6863\u4f4d\u662f\u6838\u5fc3\u5b89\u5168\u65cb\u94ae\uff0c\u5217\u8868\u987b\u53ef\u89c1\uff08\u53ea\u8bfb\u56de\u663e\uff0c\u4e0d\u542b env/args \u7b49\u654f\u611f\u9879\uff09
|
|
156
|
-
visibility: typeof r.visibility === 'string' ? r.visibility : 'auto',
|
|
157
|
-
};
|
|
158
|
-
});
|
|
156
|
+
const list = configured.map((s, i) => ({
|
|
157
|
+
index: i,
|
|
158
|
+
id: s.id,
|
|
159
|
+
command: s.command,
|
|
160
|
+
enabled: s.enabled,
|
|
161
|
+
// 档位是核心安全旋钮,列表须可见(只读回显,不含 env/args 等敏感项)
|
|
162
|
+
visibility: s.visibility,
|
|
163
|
+
}));
|
|
159
164
|
return JSON.stringify(list, null, 2);
|
|
160
165
|
},
|
|
161
166
|
});
|
|
@@ -181,18 +186,25 @@ function registerSelfServiceTools(caps) {
|
|
|
181
186
|
visibility: 'restricted',
|
|
182
187
|
handler: async (args) => {
|
|
183
188
|
const id = typeof args.id === 'string' ? args.id : '';
|
|
184
|
-
const enabled = args.enabled === true;
|
|
185
189
|
if (!id)
|
|
186
190
|
return '失败:参数 id 必填';
|
|
191
|
+
if (typeof args.enabled !== 'boolean')
|
|
192
|
+
return '失败:参数 enabled 必须是布尔值';
|
|
193
|
+
const enabled = args.enabled;
|
|
194
|
+
if (!configured.some(s => s.id === id))
|
|
195
|
+
return `失败:没有 id="${id}" 的 server,请先用 mcp_list_servers 查看`;
|
|
196
|
+
// 缺任一服务就不动运行态:改了却存不下,重启后会悄悄回退
|
|
187
197
|
const pm = caps.plugins.current;
|
|
188
|
-
const
|
|
189
|
-
if (!pm || !
|
|
190
|
-
return '失败:
|
|
191
|
-
|
|
198
|
+
const doc = caps.hostConfig.current;
|
|
199
|
+
if (!pm || !doc)
|
|
200
|
+
return '失败:plugins/host-config 服务不可用';
|
|
201
|
+
// 以配置文档为底改写:解析后的配置补了默认值、丢了坏值,以它为底会把这些永久写进配置文件
|
|
202
|
+
const current = doc.getPluginConfig(PLUGIN_NAME);
|
|
192
203
|
const servers = Array.isArray(current.servers) ? [...current.servers] : [];
|
|
193
204
|
const idx = servers.findIndex(s => {
|
|
194
|
-
const
|
|
195
|
-
|
|
205
|
+
const raw = s?.id;
|
|
206
|
+
// 与解析同一口径:不加引号的数字 id 按字符串认,mcp_list_servers 列出的也是字符串
|
|
207
|
+
return ((typeof raw === 'string' || (typeof raw === 'number' && Number.isFinite(raw))) && String(raw).trim() === id);
|
|
196
208
|
});
|
|
197
209
|
if (idx < 0)
|
|
198
210
|
return `失败:没有 id="${id}" 的 server,请先用 mcp_list_servers 查看`;
|
|
@@ -201,94 +213,76 @@ function registerSelfServiceTools(caps) {
|
|
|
201
213
|
return `无变化:server "${id}" 当前 enabled=${enabled}`;
|
|
202
214
|
}
|
|
203
215
|
servers[idx] = { ...before, enabled };
|
|
204
|
-
const
|
|
216
|
+
const next = { ...current, servers };
|
|
217
|
+
const ok = await pm.updateConfig(PLUGIN_NAME, next);
|
|
205
218
|
if (!ok)
|
|
206
219
|
return `失败:updateConfig 返回 false`;
|
|
207
|
-
|
|
220
|
+
// 管理动作只改运行态;跨重启保留要自己写文档并落盘
|
|
221
|
+
doc.setPluginConfig(PLUGIN_NAME, next);
|
|
222
|
+
// 落盘失败时运行态已经切换、插件已在 bounce:如实说明,别报成什么都没发生(save 自己记过日志)
|
|
223
|
+
try {
|
|
224
|
+
await doc.save();
|
|
225
|
+
}
|
|
226
|
+
catch (err) {
|
|
227
|
+
return (`已将 server "${id}" 设置为 enabled=${enabled}(运行态已生效,插件会 bounce);` +
|
|
228
|
+
`写入配置文件失败:${err instanceof Error ? err.message : String(err)}。配置文件里仍是原值,重启或配置重新载入后可能回退`);
|
|
229
|
+
}
|
|
208
230
|
return `已将 server "${id}" 设置为 enabled=${enabled},插件会 bounce 后生效`;
|
|
209
231
|
},
|
|
210
232
|
});
|
|
211
233
|
}
|
|
212
234
|
/**
|
|
213
|
-
*
|
|
214
|
-
*
|
|
235
|
+
* 解析之后的规范化:id / command 去掉首尾空白,只剩空白的条目跳过并告警(只跳这一条,其它 server 照常);
|
|
236
|
+
* args 原样保留(空字符串也是合法的独立参数)。
|
|
215
237
|
*/
|
|
216
|
-
function normalizeServerSpec(
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
return undefined;
|
|
220
|
-
}
|
|
221
|
-
const r = raw;
|
|
222
|
-
const id = typeof r.id === 'string' ? r.id.trim() : '';
|
|
223
|
-
const command = typeof r.command === 'string' ? r.command.trim() : '';
|
|
238
|
+
function normalizeServerSpec(spec, logger) {
|
|
239
|
+
const id = spec.id.trim();
|
|
240
|
+
const command = spec.command.trim();
|
|
224
241
|
if (!id || !command) {
|
|
225
|
-
|
|
242
|
+
// 解析丢掉的条目不占下标,按下标报会对不上配置文件,所以报两个字段本身
|
|
243
|
+
logger.warn(`servers 中有一条 id 或 command 只有空白(id「${id}」,command「${command}」),跳过`);
|
|
226
244
|
return undefined;
|
|
227
245
|
}
|
|
228
|
-
|
|
229
|
-
let args;
|
|
230
|
-
if (Array.isArray(r.args)) {
|
|
231
|
-
args = r.args.map(x => String(x)).filter(Boolean);
|
|
232
|
-
}
|
|
233
|
-
else if (typeof r.args === 'string' && r.args.trim()) {
|
|
234
|
-
args = r.args
|
|
235
|
-
.split('\n')
|
|
236
|
-
.flatMap(line => line.trim().split(/\s+/))
|
|
237
|
-
.filter(Boolean);
|
|
238
|
-
}
|
|
239
|
-
// env: 支持 Record<string,string> | string(KEY=VALUE 每行一条)
|
|
240
|
-
let env;
|
|
241
|
-
if (r.env && typeof r.env === 'object' && !Array.isArray(r.env)) {
|
|
242
|
-
env = Object.fromEntries(Object.entries(r.env).map(([k, v]) => [k, String(v)]));
|
|
243
|
-
}
|
|
244
|
-
else if (typeof r.env === 'string' && r.env.trim()) {
|
|
245
|
-
env = {};
|
|
246
|
-
for (const line of r.env.split('\n')) {
|
|
247
|
-
const trimmed = line.trim();
|
|
248
|
-
if (!trimmed || trimmed.startsWith('#'))
|
|
249
|
-
continue;
|
|
250
|
-
const eq = trimmed.indexOf('=');
|
|
251
|
-
if (eq <= 0)
|
|
252
|
-
continue;
|
|
253
|
-
env[trimmed.slice(0, eq).trim()] = trimmed.slice(eq + 1).trim();
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
const visibility = r.visibility === 'restricted' ||
|
|
257
|
-
r.visibility === 'public' ||
|
|
258
|
-
r.visibility === 'sensitive' ||
|
|
259
|
-
r.visibility === 'auto'
|
|
260
|
-
? r.visibility
|
|
261
|
-
: undefined;
|
|
262
|
-
const enabled = r.enabled !== false;
|
|
263
|
-
return { id, command, args, env, enabled, visibility };
|
|
246
|
+
return { ...spec, id, command };
|
|
264
247
|
}
|
|
265
248
|
async function connectServer(caps, spec) {
|
|
249
|
+
const { signal } = caps.lifecycle;
|
|
266
250
|
const transport = new StdioClientTransport({
|
|
267
251
|
command: spec.command,
|
|
268
|
-
args: spec.args
|
|
252
|
+
args: spec.args,
|
|
269
253
|
env: spec.env,
|
|
270
254
|
});
|
|
271
255
|
const client = new Client({ name: 'aalis-mcp-client', version: '0.1.0' }, { capabilities: {} });
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
256
|
+
// 握手与列工具随停用或停机中止(握手中止时 SDK 自己关掉子进程)。SDK 给传入的 signal 挂 abort 监听且从不摘除,
|
|
257
|
+
// 直接传长寿的 lifecycle.signal 会逐次累积监听器:这里经本段专用的 controller 桥接,结束时摘掉桥
|
|
258
|
+
const bridge = new AbortController();
|
|
259
|
+
const onAbort = () => bridge.abort(signal.reason);
|
|
260
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
261
|
+
try {
|
|
262
|
+
await client.connect(transport, { signal: bridge.signal });
|
|
263
|
+
caps.logger.info(`MCP server "${spec.id}" 已连接 (${spec.command} ${spec.args.join(' ')})`);
|
|
264
|
+
// 连接生命周期:激活关闭时关闭。握手跨 await,关闭可能已开始——迟到的清理仍会被执行
|
|
265
|
+
caps.lifecycle.onDispose(async () => {
|
|
266
|
+
try {
|
|
267
|
+
await client.close();
|
|
268
|
+
caps.logger.info(`MCP server "${spec.id}" 已关闭`);
|
|
269
|
+
}
|
|
270
|
+
catch (err) {
|
|
271
|
+
caps.logger.debug(`关闭 MCP server "${spec.id}" 抛错(已忽略):`, err);
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
await bridgeClientToTools(caps, client, spec, bridge.signal);
|
|
275
|
+
}
|
|
276
|
+
finally {
|
|
277
|
+
signal.removeEventListener('abort', onAbort);
|
|
278
|
+
}
|
|
285
279
|
}
|
|
286
280
|
/**
|
|
287
281
|
* 把一个已连接的 MCP Client 上暴露的所有工具桥接进 Aalis ToolService。
|
|
288
|
-
* 导出以便集成测试直接传入 InMemoryTransport 配对的 client
|
|
282
|
+
* 导出以便集成测试直接传入 InMemoryTransport 配对的 client;spec 只用到 id 与 visibility(缺省按 auto)。
|
|
289
283
|
*/
|
|
290
|
-
export async function bridgeClientToTools(caps, client, spec) {
|
|
291
|
-
const { tools: mcpTools } = (await client.listTools());
|
|
284
|
+
export async function bridgeClientToTools(caps, client, spec, signal) {
|
|
285
|
+
const { tools: mcpTools } = (await client.listTools(undefined, { signal }));
|
|
292
286
|
caps.logger.info(` 发现 ${mcpTools.length} 个工具`);
|
|
293
287
|
for (const t of mcpTools) {
|
|
294
288
|
const toolName = sanitizeToolName(`mcp_${spec.id}_${t.name}`);
|
|
@@ -378,8 +372,9 @@ export default definePlugin({
|
|
|
378
372
|
lifecycle: lifecycleService,
|
|
379
373
|
config: configService,
|
|
380
374
|
plugins: optional(pluginsService),
|
|
381
|
-
|
|
375
|
+
hostConfig: optional(hostConfigService),
|
|
382
376
|
},
|
|
377
|
+
configSchema,
|
|
383
378
|
apply: run,
|
|
384
379
|
});
|
|
385
380
|
//# sourceMappingURL=index.js.map
|
package/dist/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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aalis/plugin-mcp-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,17 +24,18 @@
|
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@aalis/schema-config": ">=0.
|
|
28
|
-
"@aalis/api-tools": ">=0.
|
|
29
|
-
"@modelcontextprotocol/sdk": "^1.0
|
|
27
|
+
"@aalis/schema-config": ">=0.14.0 <1.0.0",
|
|
28
|
+
"@aalis/api-tools": ">=0.10.0 <1.0.0",
|
|
29
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
30
|
+
"@aalis/api-host-config": ">=0.1.0 <1.0.0"
|
|
30
31
|
},
|
|
31
32
|
"devDependencies": {
|
|
32
33
|
"@types/node": "^22.0.0",
|
|
33
34
|
"typescript": "^5.7.0",
|
|
34
|
-
"@aalis/core": "0.
|
|
35
|
+
"@aalis/core": "0.19.1"
|
|
35
36
|
},
|
|
36
37
|
"peerDependencies": {
|
|
37
|
-
"@aalis/core": ">=0.
|
|
38
|
+
"@aalis/core": ">=0.18.0 <1.0.0"
|
|
38
39
|
},
|
|
39
40
|
"aalis": {
|
|
40
41
|
"service": {
|
|
@@ -45,7 +46,7 @@
|
|
|
45
46
|
"tools"
|
|
46
47
|
],
|
|
47
48
|
"optional": [
|
|
48
|
-
"
|
|
49
|
+
"host-config",
|
|
49
50
|
"plugins"
|
|
50
51
|
]
|
|
51
52
|
}
|