@aalis/plugin-mcp-client 0.13.0 → 0.15.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 +2 -3
- package/dist/index.d.ts +26 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +95 -69
- package/dist/index.js.map +1 -1
- package/dist/locales/en.d.ts +28 -0
- package/dist/locales/en.d.ts.map +1 -0
- package/dist/locales/en.js +28 -0
- package/dist/locales/en.js.map +1 -0
- package/dist/texts.d.ts +55 -0
- package/dist/texts.d.ts.map +1 -0
- package/dist/texts.js +36 -0
- package/dist/texts.js.map +1 -0
- package/package.json +9 -7
package/README.md
CHANGED
|
@@ -34,13 +34,12 @@ plugins:
|
|
|
34
34
|
## 依赖
|
|
35
35
|
|
|
36
36
|
- `@modelcontextprotocol/sdk`
|
|
37
|
-
- uses:`tools`(api-tools / plugin-tools)、`logger`、`lifecycle`、`config`;可选 `
|
|
37
|
+
- uses:`tools`(api-tools / plugin-tools)、`logger`、`lifecycle`、`config`;可选 `hostConfig`(`mcp_set_server_enabled` 经它的 `applyPluginConfig` 改配置并落盘)
|
|
38
38
|
|
|
39
39
|
## 注意
|
|
40
40
|
|
|
41
|
+
- `env` 声明了 `secret: true`:每个 server 的整份 `env` 算一个密钥,Node 宿主把它移进家目录的 `secrets.yaml`,配置文件里只留引用;WebUI 不回显,要改就整份重填。token 放进 `env`,不要写进 `args`(连接成功时的日志会写出全部 `args`)
|
|
41
42
|
- `args` 必须是字符串数组、`env` 必须是映射;缺省时分别补 `[]` / `{}`。显式形态错误或任一成员不能转为字符串时,该 server 记录警告且不启动,其他 server 不受影响;合法的空字符串参数会原样传递
|
|
42
|
-
- 旧版 WebUI 建的条目常带 `args: ''` / `env: ''`,删除该键或改为 `[]` / `{}`
|
|
43
|
-
- 旧版按以下规则解析字符串,改写时照此拆分:`args` 先按行、再按空白切分,如 `args: "-y @scope/pkg"` 应改为 `["-y", "@scope/pkg"]`;`env` 每行一条 `KEY=VALUE`,忽略 `#` 开头的注释行,值去首尾空白
|
|
44
43
|
- 缺少 `id` 或 `command` 的条目记录警告并跳过,其它 server 不受影响
|
|
45
44
|
- `enabled` 不是布尔值、`visibility` 不在四档选项中时,同样跳过该 server
|
|
46
45
|
- MCP `inputSchema` 顶层非 `type: 'object'` 时会被包装为 `{ input: schema }`
|
package/dist/index.d.ts
CHANGED
|
@@ -10,10 +10,12 @@
|
|
|
10
10
|
* - 每个 server 注册一个工具分组 `mcp:<server-id>`
|
|
11
11
|
* - 激活关闭时断开所有 client 连接(lifecycle.onDispose)
|
|
12
12
|
* - 档位按 server 的 visibility 配置(默认 auto,按工具注解分档)
|
|
13
|
+
* - 连不上的 server 发一条 error 提示(WebUI 的「需要处理」与插件详情),提示归属这次激活:改好配置重载后撤回
|
|
13
14
|
*/
|
|
14
15
|
import { type HostConfig } from '@aalis/api-host-config';
|
|
15
16
|
import type { BoundTools } from '@aalis/api-tools';
|
|
16
|
-
import { type
|
|
17
|
+
import { type BoundWebui } from '@aalis/api-webui';
|
|
18
|
+
import { type LifecycleCap, type Logger } from '@aalis/core';
|
|
17
19
|
import { type ConfigOf } from '@aalis/schema-config';
|
|
18
20
|
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
19
21
|
/** 桥接函数用到的能力:测试只需给这两样,不必伪造整个运行时 */
|
|
@@ -24,59 +26,62 @@ interface BridgeCaps {
|
|
|
24
26
|
declare const configSchema: {
|
|
25
27
|
readonly servers: {
|
|
26
28
|
readonly type: "array";
|
|
27
|
-
readonly label: "
|
|
28
|
-
readonly description: "
|
|
29
|
+
readonly label: import("@aalis/schema-i18n").TextRef;
|
|
30
|
+
readonly description: import("@aalis/schema-i18n").TextRef;
|
|
29
31
|
readonly items: {
|
|
30
32
|
readonly id: {
|
|
31
33
|
readonly type: "string";
|
|
32
|
-
readonly label: "
|
|
33
|
-
readonly description: "
|
|
34
|
+
readonly label: import("@aalis/schema-i18n").TextRef;
|
|
35
|
+
readonly description: import("@aalis/schema-i18n").TextRef;
|
|
34
36
|
readonly required: true;
|
|
35
37
|
};
|
|
36
38
|
readonly command: {
|
|
37
39
|
readonly type: "string";
|
|
38
|
-
readonly label: "
|
|
39
|
-
readonly description: "
|
|
40
|
+
readonly label: import("@aalis/schema-i18n").TextRef;
|
|
41
|
+
readonly description: import("@aalis/schema-i18n").TextRef;
|
|
40
42
|
readonly required: true;
|
|
43
|
+
readonly format: "executable";
|
|
44
|
+
readonly onInvalid: "error";
|
|
41
45
|
};
|
|
42
46
|
readonly args: {
|
|
43
47
|
readonly type: "list";
|
|
44
|
-
readonly label: "
|
|
45
|
-
readonly description: "
|
|
48
|
+
readonly label: import("@aalis/schema-i18n").TextRef;
|
|
49
|
+
readonly description: import("@aalis/schema-i18n").TextRef;
|
|
46
50
|
readonly default: readonly [];
|
|
47
51
|
readonly onInvalid: "error";
|
|
48
52
|
};
|
|
49
53
|
readonly env: {
|
|
50
54
|
readonly type: "map";
|
|
51
|
-
readonly label: "
|
|
52
|
-
readonly description: "
|
|
55
|
+
readonly label: import("@aalis/schema-i18n").TextRef;
|
|
56
|
+
readonly description: import("@aalis/schema-i18n").TextRef;
|
|
53
57
|
readonly default: {};
|
|
54
58
|
readonly onInvalid: "error";
|
|
59
|
+
readonly secret: true;
|
|
55
60
|
};
|
|
56
61
|
readonly enabled: {
|
|
57
62
|
readonly type: "boolean";
|
|
58
|
-
readonly label: "
|
|
59
|
-
readonly description: "
|
|
63
|
+
readonly label: import("@aalis/schema-i18n").TextRef;
|
|
64
|
+
readonly description: import("@aalis/schema-i18n").TextRef;
|
|
60
65
|
readonly default: true;
|
|
61
66
|
readonly onInvalid: "error";
|
|
62
67
|
};
|
|
63
68
|
readonly visibility: {
|
|
64
69
|
readonly type: "select";
|
|
65
|
-
readonly label: "
|
|
66
|
-
readonly description:
|
|
70
|
+
readonly label: import("@aalis/schema-i18n").TextRef;
|
|
71
|
+
readonly description: import("@aalis/schema-i18n").TextRef;
|
|
67
72
|
readonly default: "auto";
|
|
68
73
|
readonly onInvalid: "error";
|
|
69
74
|
readonly options: [{
|
|
70
|
-
readonly label: "
|
|
75
|
+
readonly label: import("@aalis/schema-i18n").TextRef;
|
|
71
76
|
readonly value: "auto";
|
|
72
77
|
}, {
|
|
73
|
-
readonly label: "
|
|
78
|
+
readonly label: import("@aalis/schema-i18n").TextRef;
|
|
74
79
|
readonly value: "public";
|
|
75
80
|
}, {
|
|
76
|
-
readonly label: "
|
|
81
|
+
readonly label: import("@aalis/schema-i18n").TextRef;
|
|
77
82
|
readonly value: "sensitive";
|
|
78
83
|
}, {
|
|
79
|
-
readonly label: "
|
|
84
|
+
readonly label: import("@aalis/schema-i18n").TextRef;
|
|
80
85
|
readonly value: "restricted";
|
|
81
86
|
}];
|
|
82
87
|
};
|
|
@@ -124,8 +129,8 @@ declare const _default: import("@aalis/core").PluginDefinition<{
|
|
|
124
129
|
logger: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Logger, Logger>;
|
|
125
130
|
lifecycle: import("@aalis/core").ServiceDescriptor<(identity: symbol) => LifecycleCap, LifecycleCap>;
|
|
126
131
|
config: import("@aalis/core").ServiceDescriptor<(identity: symbol) => Readonly<Record<string, unknown>>, Readonly<Record<string, unknown>>>;
|
|
127
|
-
|
|
128
|
-
|
|
132
|
+
hostConfig: import("@aalis/core").OptionalUse<HostConfig, HostConfig>;
|
|
133
|
+
webui: import("@aalis/core").OptionalUse<import("@aalis/api-webui").WebUIService, BoundWebui>;
|
|
129
134
|
}>;
|
|
130
135
|
export default _default;
|
|
131
136
|
//# 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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,KAAK,UAAU,EAAmC,MAAM,wBAAwB,CAAC;AAC1F,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAE,KAAK,UAAU,EAAe,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,MAAM,EAKZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,QAAQ,EAA6B,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAQnE,mCAAmC;AACnC,UAAU,UAAU;IAClB,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAWD,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DhB,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;AA8MD;;;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,CA+Cf;;;;;;;;;AAwDD,wBAcG"}
|
package/dist/index.js
CHANGED
|
@@ -10,65 +10,73 @@
|
|
|
10
10
|
* - 每个 server 注册一个工具分组 `mcp:<server-id>`
|
|
11
11
|
* - 激活关闭时断开所有 client 连接(lifecycle.onDispose)
|
|
12
12
|
* - 档位按 server 的 visibility 配置(默认 auto,按工具注解分档)
|
|
13
|
+
* - 连不上的 server 发一条 error 提示(WebUI 的「需要处理」与插件详情),提示归属这次激活:改好配置重载后撤回
|
|
13
14
|
*/
|
|
14
15
|
import { hostConfig as hostConfigService } from '@aalis/api-host-config';
|
|
15
|
-
import { tools as toolsService, wrapUntrustedContent } from '@aalis/api-tools';
|
|
16
|
-
import {
|
|
16
|
+
import { takenBackgroundParams, tools as toolsService, wrapUntrustedContent } from '@aalis/api-tools';
|
|
17
|
+
import { webuiServer } from '@aalis/api-webui';
|
|
18
|
+
import { config as configService, definePlugin, lifecycle as lifecycleService, logger as loggerService, optional, } from '@aalis/core';
|
|
17
19
|
import { defineConfig, parseConfig } from '@aalis/schema-config';
|
|
20
|
+
import { textOf } from '@aalis/schema-i18n';
|
|
18
21
|
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
19
22
|
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
|
|
23
|
+
import { t } from './texts.js';
|
|
20
24
|
const PLUGIN_NAME = '@aalis/plugin-mcp-client';
|
|
25
|
+
/** setTimeout 能表示的最长延时(毫秒),工具调用的请求超时取它 */
|
|
26
|
+
const MAX_TIMEOUT_MS = 2_147_483_647;
|
|
21
27
|
const configSchema = defineConfig({
|
|
22
28
|
servers: {
|
|
23
29
|
type: 'array',
|
|
24
|
-
label: '
|
|
25
|
-
description: '
|
|
30
|
+
label: t('serversLabel'),
|
|
31
|
+
description: t('serversDescription'),
|
|
26
32
|
items: {
|
|
27
33
|
id: {
|
|
28
34
|
type: 'string',
|
|
29
|
-
label: '
|
|
30
|
-
description: '
|
|
35
|
+
label: t('idLabel'),
|
|
36
|
+
description: t('idDescription'),
|
|
31
37
|
required: true,
|
|
32
38
|
},
|
|
33
39
|
command: {
|
|
34
40
|
type: 'string',
|
|
35
|
-
label: '
|
|
36
|
-
description: '
|
|
41
|
+
label: t('commandLabel'),
|
|
42
|
+
description: t('commandDescription'),
|
|
37
43
|
required: true,
|
|
44
|
+
format: 'executable',
|
|
45
|
+
onInvalid: 'error',
|
|
38
46
|
},
|
|
39
47
|
args: {
|
|
40
48
|
type: 'list',
|
|
41
|
-
label: '
|
|
42
|
-
description: '
|
|
49
|
+
label: t('argsLabel'),
|
|
50
|
+
description: t('argsDescription'),
|
|
43
51
|
default: [],
|
|
44
52
|
onInvalid: 'error',
|
|
45
53
|
},
|
|
46
54
|
env: {
|
|
47
55
|
type: 'map',
|
|
48
|
-
label: '
|
|
49
|
-
description: '
|
|
56
|
+
label: t('envLabel'),
|
|
57
|
+
description: t('envDescription'),
|
|
50
58
|
default: {},
|
|
51
59
|
onInvalid: 'error',
|
|
60
|
+
secret: true,
|
|
52
61
|
},
|
|
53
62
|
enabled: {
|
|
54
63
|
type: 'boolean',
|
|
55
|
-
label: '
|
|
56
|
-
description: '
|
|
64
|
+
label: t('enabledLabel'),
|
|
65
|
+
description: t('enabledDescription'),
|
|
57
66
|
default: true,
|
|
58
67
|
onInvalid: 'error',
|
|
59
68
|
},
|
|
60
69
|
visibility: {
|
|
61
70
|
type: 'select',
|
|
62
|
-
label: '
|
|
63
|
-
description: '
|
|
64
|
-
'有破坏提示或未声明→restricted(等级 2)。public 恢复等级 0 全开(0.x 旧默认)。',
|
|
71
|
+
label: t('visibilityLabel'),
|
|
72
|
+
description: t('visibilityDescription'),
|
|
65
73
|
default: 'auto',
|
|
66
74
|
onInvalid: 'error',
|
|
67
75
|
options: [
|
|
68
|
-
{ label: '
|
|
69
|
-
{ label: '
|
|
70
|
-
{ label: '
|
|
71
|
-
{ label: '
|
|
76
|
+
{ label: t('visibilityAuto'), value: 'auto' },
|
|
77
|
+
{ label: t('visibilityPublic'), value: 'public' },
|
|
78
|
+
{ label: t('visibilitySensitive'), value: 'sensitive' },
|
|
79
|
+
{ label: t('visibilityRestricted'), value: 'restricted' },
|
|
72
80
|
],
|
|
73
81
|
},
|
|
74
82
|
},
|
|
@@ -97,12 +105,12 @@ export function deriveMcpToolPolicy(annotations, serverTier) {
|
|
|
97
105
|
return { visibility: 'restricted' };
|
|
98
106
|
}
|
|
99
107
|
async function run(caps) {
|
|
100
|
-
const cfg = parseConfig(configSchema, caps.config, caps.logger);
|
|
108
|
+
const cfg = parseConfig(configSchema, caps.config.use, caps.logger.use);
|
|
101
109
|
const servers = cfg.servers
|
|
102
|
-
.map(s => normalizeServerSpec(s, caps.logger))
|
|
110
|
+
.map(s => normalizeServerSpec(s, caps.logger.use))
|
|
103
111
|
.filter((s) => s !== undefined);
|
|
104
112
|
if (servers.length === 0) {
|
|
105
|
-
caps.logger.info('未配置任何 MCP server,仅注册元数据工具');
|
|
113
|
+
caps.logger.use.info('未配置任何 MCP server,仅注册元数据工具');
|
|
106
114
|
registerSelfServiceTools(caps, servers);
|
|
107
115
|
return;
|
|
108
116
|
}
|
|
@@ -110,9 +118,10 @@ async function run(caps) {
|
|
|
110
118
|
for (const spec of servers) {
|
|
111
119
|
if (spec.enabled === false)
|
|
112
120
|
continue;
|
|
113
|
-
caps.tools.registerGroup({
|
|
121
|
+
caps.tools.use.registerGroup({
|
|
114
122
|
name: `mcp:${spec.id}`,
|
|
115
123
|
label: `MCP / ${spec.id}`,
|
|
124
|
+
summary: t('serverGroupSummary', { id: spec.id }),
|
|
116
125
|
description: `通过 plugin-mcp-client 桥接的远端 MCP server "${spec.id}"`,
|
|
117
126
|
});
|
|
118
127
|
}
|
|
@@ -120,11 +129,19 @@ async function run(caps) {
|
|
|
120
129
|
await Promise.all(servers
|
|
121
130
|
.filter(s => s.enabled !== false)
|
|
122
131
|
.map(spec => connectServer(caps, spec).catch(err => {
|
|
123
|
-
if (caps.lifecycle.signal.aborted)
|
|
132
|
+
if (caps.lifecycle.use.signal.aborted)
|
|
124
133
|
return;
|
|
125
|
-
|
|
134
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
135
|
+
caps.logger.use.error(`连接 MCP server "${spec.id}" 失败: ${reason}`);
|
|
136
|
+
caps.webui.use.notify({
|
|
137
|
+
id: `connect:${spec.id}`,
|
|
138
|
+
level: 'error',
|
|
139
|
+
title: t('connectFailedTitle', { id: spec.id }),
|
|
140
|
+
detail: t('connectFailedDetail', { reason: textOf(err) }),
|
|
141
|
+
open: 'config',
|
|
142
|
+
});
|
|
126
143
|
})));
|
|
127
|
-
caps.lifecycle.signal.throwIfAborted();
|
|
144
|
+
caps.lifecycle.use.signal.throwIfAborted();
|
|
128
145
|
// 注册 agent 自服务工具:只读列表 + toggle 已配置 server 的启用开关。
|
|
129
146
|
// 故意不提供「新增 server」工具——那等价于让 agent 任意 spawn 子进程,授权风险过大。
|
|
130
147
|
// 若要新增 server,应在 WebUI / yaml 手工配置。
|
|
@@ -136,12 +153,13 @@ async function run(caps) {
|
|
|
136
153
|
*/
|
|
137
154
|
function registerSelfServiceTools(caps, configured) {
|
|
138
155
|
const { tools } = caps;
|
|
139
|
-
tools.registerGroup({
|
|
156
|
+
tools.use.registerGroup({
|
|
140
157
|
name: 'mcp:_meta',
|
|
141
|
-
label: '
|
|
158
|
+
label: t('metaGroup'),
|
|
159
|
+
summary: t('metaGroupSummary'),
|
|
142
160
|
description: '让 agent 列出和切换已配置的 MCP server(不能新增/删除条目)。',
|
|
143
161
|
});
|
|
144
|
-
tools.register({
|
|
162
|
+
tools.use.register({
|
|
145
163
|
definition: {
|
|
146
164
|
type: 'function',
|
|
147
165
|
function: {
|
|
@@ -164,7 +182,7 @@ function registerSelfServiceTools(caps, configured) {
|
|
|
164
182
|
return JSON.stringify(list, null, 2);
|
|
165
183
|
},
|
|
166
184
|
});
|
|
167
|
-
tools.register({
|
|
185
|
+
tools.use.register({
|
|
168
186
|
definition: {
|
|
169
187
|
type: 'function',
|
|
170
188
|
function: {
|
|
@@ -193,12 +211,12 @@ function registerSelfServiceTools(caps, configured) {
|
|
|
193
211
|
const enabled = args.enabled;
|
|
194
212
|
if (!configured.some(s => s.id === id))
|
|
195
213
|
return `失败:没有 id="${id}" 的 server,请先用 mcp_list_servers 查看`;
|
|
196
|
-
//
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
//
|
|
214
|
+
// 没有配置文档就不动运行态:改了却存不下,重启后会悄悄回退
|
|
215
|
+
if (!caps.hostConfig.present)
|
|
216
|
+
return '失败:host-config 服务不可用';
|
|
217
|
+
const doc = caps.hostConfig.use;
|
|
218
|
+
// 以配置文档为底改写:解析后的配置补了默认值、丢了坏值,以它为底会把这些永久写进配置文件;
|
|
219
|
+
// 文档里的 env 是密钥引用,原样交回即保持原值
|
|
202
220
|
const current = doc.getPluginConfig(PLUGIN_NAME);
|
|
203
221
|
const servers = Array.isArray(current.servers) ? [...current.servers] : [];
|
|
204
222
|
const idx = servers.findIndex(s => {
|
|
@@ -214,16 +232,13 @@ function registerSelfServiceTools(caps, configured) {
|
|
|
214
232
|
}
|
|
215
233
|
servers[idx] = { ...before, enabled };
|
|
216
234
|
const next = { ...current, servers };
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
doc.setPluginConfig(PLUGIN_NAME, next);
|
|
235
|
+
// 运行态、文档与落盘由宿主一步完成
|
|
236
|
+
const result = await doc.applyPluginConfig(PLUGIN_NAME, next);
|
|
237
|
+
if (result.status === 'refused')
|
|
238
|
+
return '失败:插件当前不接受配置更新(停机中或正在卸载)';
|
|
222
239
|
// 落盘失败时运行态已经切换、插件已在 bounce:如实说明,别报成什么都没发生(save 自己记过日志)
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
}
|
|
226
|
-
catch (err) {
|
|
240
|
+
if (result.saveError !== undefined) {
|
|
241
|
+
const err = result.saveError;
|
|
227
242
|
return (`已将 server "${id}" 设置为 enabled=${enabled}(运行态已生效,插件会 bounce);` +
|
|
228
243
|
`写入配置文件失败:${err instanceof Error ? err.message : String(err)}。配置文件里仍是原值,重启或配置重新载入后可能回退`);
|
|
229
244
|
}
|
|
@@ -232,21 +247,20 @@ function registerSelfServiceTools(caps, configured) {
|
|
|
232
247
|
});
|
|
233
248
|
}
|
|
234
249
|
/**
|
|
235
|
-
* 解析之后的规范化:id
|
|
236
|
-
* args 原样保留(空字符串也是合法的独立参数)。
|
|
250
|
+
* 解析之后的规范化:id 去掉首尾空白,只剩空白的条目跳过并告警(只跳这一条,其它 server 照常)。
|
|
251
|
+
* command 声明了 format,parseConfig 已去掉首尾空白,只有空白的按缺失丢掉该条;args 原样保留(空字符串也是合法的独立参数)。
|
|
237
252
|
*/
|
|
238
253
|
function normalizeServerSpec(spec, logger) {
|
|
239
254
|
const id = spec.id.trim();
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
logger.warn(`servers 中有一条 id 或 command 只有空白(id「${id}」,command「${command}」),跳过`);
|
|
255
|
+
if (!id) {
|
|
256
|
+
// 解析丢掉的条目不占下标,按下标报会对不上配置文件,所以报 command 帮助定位
|
|
257
|
+
logger.warn(`servers 中有一条 id 只有空白(command「${spec.command}」),跳过`);
|
|
244
258
|
return undefined;
|
|
245
259
|
}
|
|
246
|
-
return { ...spec, id
|
|
260
|
+
return { ...spec, id };
|
|
247
261
|
}
|
|
248
262
|
async function connectServer(caps, spec) {
|
|
249
|
-
const { signal } = caps.lifecycle;
|
|
263
|
+
const { signal } = caps.lifecycle.use;
|
|
250
264
|
const transport = new StdioClientTransport({
|
|
251
265
|
command: spec.command,
|
|
252
266
|
args: spec.args,
|
|
@@ -260,18 +274,18 @@ async function connectServer(caps, spec) {
|
|
|
260
274
|
signal.addEventListener('abort', onAbort, { once: true });
|
|
261
275
|
try {
|
|
262
276
|
await client.connect(transport, { signal: bridge.signal });
|
|
263
|
-
caps.logger.info(`MCP server "${spec.id}" 已连接 (${spec.command} ${spec.args.join(' ')})`);
|
|
277
|
+
caps.logger.use.info(`MCP server "${spec.id}" 已连接 (${spec.command} ${spec.args.join(' ')})`);
|
|
264
278
|
// 连接生命周期:激活关闭时关闭。握手跨 await,关闭可能已开始——迟到的清理仍会被执行
|
|
265
|
-
caps.lifecycle.onDispose(async () => {
|
|
279
|
+
caps.lifecycle.use.onDispose(async () => {
|
|
266
280
|
try {
|
|
267
281
|
await client.close();
|
|
268
|
-
caps.logger.info(`MCP server "${spec.id}" 已关闭`);
|
|
282
|
+
caps.logger.use.info(`MCP server "${spec.id}" 已关闭`);
|
|
269
283
|
}
|
|
270
284
|
catch (err) {
|
|
271
|
-
caps.logger.debug(`关闭 MCP server "${spec.id}" 抛错(已忽略):`, err);
|
|
285
|
+
caps.logger.use.debug(`关闭 MCP server "${spec.id}" 抛错(已忽略):`, err);
|
|
272
286
|
}
|
|
273
287
|
});
|
|
274
|
-
await bridgeClientToTools(caps, client, spec, bridge.signal);
|
|
288
|
+
await bridgeClientToTools({ tools: caps.tools.use, logger: caps.logger.use }, client, spec, bridge.signal);
|
|
275
289
|
}
|
|
276
290
|
finally {
|
|
277
291
|
signal.removeEventListener('abort', onAbort);
|
|
@@ -287,6 +301,13 @@ export async function bridgeClientToTools(caps, client, spec, signal) {
|
|
|
287
301
|
for (const t of mcpTools) {
|
|
288
302
|
const toolName = sanitizeToolName(`mcp_${spec.id}_${t.name}`);
|
|
289
303
|
const parameters = normalizeParameters(t.inputSchema);
|
|
304
|
+
// 远端工具多久结束不可知:等多久由执行器的让出时限管,停只认执行器给这次调用的中止信号。参数表里已有执行器
|
|
305
|
+
// 参数名的,执行器不会让出,不声明可转后台,请求超时照 SDK 默认(60 秒)
|
|
306
|
+
const taken = takenBackgroundParams(parameters);
|
|
307
|
+
if (taken.length > 0) {
|
|
308
|
+
caps.logger.warn(`MCP 工具 ${toolName} 的参数表里已有 ${taken.join('、')},不转后台,请求超时照 SDK 默认`);
|
|
309
|
+
}
|
|
310
|
+
const yieldable = taken.length === 0;
|
|
290
311
|
const definition = {
|
|
291
312
|
type: 'function',
|
|
292
313
|
function: {
|
|
@@ -299,17 +320,20 @@ export async function bridgeClientToTools(caps, client, spec, signal) {
|
|
|
299
320
|
definition,
|
|
300
321
|
groups: [`mcp:${spec.id}`],
|
|
301
322
|
...deriveMcpToolPolicy(t.annotations, spec.visibility),
|
|
302
|
-
|
|
323
|
+
...(yieldable ? { background: {} } : {}),
|
|
324
|
+
handler: async (args, ctx) => {
|
|
303
325
|
try {
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
326
|
+
// 中止时 SDK 向服务端发 notifications/cancelled。可转后台的请求超时取 setTimeout 能表示的最大值:
|
|
327
|
+
// SDK 默认的 60 秒会把长任务截断,传 Infinity 又会被 Node 当成 1 毫秒
|
|
328
|
+
const result = await client.callTool({ name: t.name, arguments: args }, undefined, {
|
|
329
|
+
signal: ctx.signal,
|
|
330
|
+
...(yieldable ? { timeout: MAX_TIMEOUT_MS } : {}),
|
|
307
331
|
});
|
|
308
332
|
return formatToolResult(result, `${spec.id}/${t.name}`);
|
|
309
333
|
}
|
|
310
334
|
catch (err) {
|
|
311
335
|
const msg = err instanceof Error ? err.message : String(err);
|
|
312
|
-
return `MCP 调用 ${spec.id}/${t.name} 失败: ${msg}
|
|
336
|
+
return JSON.stringify({ error: `MCP 调用 ${spec.id}/${t.name} 失败: ${msg}` });
|
|
313
337
|
}
|
|
314
338
|
},
|
|
315
339
|
});
|
|
@@ -359,20 +383,22 @@ function formatToolResult(result, source) {
|
|
|
359
383
|
});
|
|
360
384
|
const body = parts.join('\n');
|
|
361
385
|
// MCP server 可信不等于它回传的内容可信——抓取型 server(fetch/search)的返回体
|
|
362
|
-
// 就是外部内容,同 http_request
|
|
363
|
-
return r.isError
|
|
386
|
+
// 就是外部内容,同 http_request 一样套不可信边界。错误信息不是抓取内容,不套,按工具报失败的约定放进 error。
|
|
387
|
+
return r.isError
|
|
388
|
+
? JSON.stringify({ error: `MCP 工具返回错误:\n${body}` })
|
|
389
|
+
: wrapUntrustedContent(body, `MCP ${source}`);
|
|
364
390
|
}
|
|
365
391
|
export default definePlugin({
|
|
366
392
|
name: PLUGIN_NAME,
|
|
367
|
-
displayName: '
|
|
393
|
+
displayName: t('displayName'),
|
|
368
394
|
subsystem: 'tools',
|
|
369
395
|
uses: {
|
|
370
396
|
tools: toolsService,
|
|
371
397
|
logger: loggerService,
|
|
372
398
|
lifecycle: lifecycleService,
|
|
373
399
|
config: configService,
|
|
374
|
-
plugins: optional(pluginsService),
|
|
375
400
|
hostConfig: optional(hostConfigService),
|
|
401
|
+
webui: optional(webuiServer),
|
|
376
402
|
},
|
|
377
403
|
configSchema,
|
|
378
404
|
apply: run,
|
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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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
readonly displayName: "MCP client";
|
|
3
|
+
readonly serversLabel: "MCP servers";
|
|
4
|
+
readonly serversDescription: "MCP servers connected over stdio. Each entry needs at least id and command; adjust the security level as needed.";
|
|
5
|
+
readonly idLabel: "Unique ID";
|
|
6
|
+
readonly idDescription: "Used as the tool namespace; the final tool names look like mcp_<id>_<tool>. Only letters, digits, underscores and hyphens are allowed.";
|
|
7
|
+
readonly commandLabel: "Executable command";
|
|
8
|
+
readonly commandDescription: "A command name (such as npx / node / python, looked up in PATH) or an absolute path.";
|
|
9
|
+
readonly argsLabel: "Command arguments";
|
|
10
|
+
readonly argsDescription: "Arguments passed to the command in order, one per item (may contain spaces). Write file paths in arguments as absolute paths.";
|
|
11
|
+
readonly envLabel: "Environment variables";
|
|
12
|
+
readonly envDescription: "Extra environment variables passed to the child process (KEY → VALUE). The whole map is stored in secrets.yaml as one secret; the WebUI does not show it back, and changing it means re-entering all of it. Put credentials such as tokens here, not in the command arguments (arguments are written to the logs).";
|
|
13
|
+
readonly enabledLabel: "Enabled";
|
|
14
|
+
readonly enabledDescription: "Turn off to skip this server for now without deleting the whole entry.";
|
|
15
|
+
readonly visibilityLabel: "Tool level";
|
|
16
|
+
readonly visibilityDescription: "Level of all tools of this server. auto = by tool annotations: self-declared read-only → sensitive (level 1), destructive hints or nothing declared → restricted (level 2). public restores level 0, open to everyone (the old 0.x default).";
|
|
17
|
+
readonly visibilityAuto: "auto (by annotations)";
|
|
18
|
+
readonly visibilityPublic: "public (level 0, open to everyone)";
|
|
19
|
+
readonly visibilitySensitive: "sensitive (level 1)";
|
|
20
|
+
readonly visibilityRestricted: "restricted (level 2)";
|
|
21
|
+
readonly connectFailedTitle: "Cannot connect to MCP server “{id}”";
|
|
22
|
+
readonly connectFailedDetail: "Check this server's command, args and env (the environment variables it needs); saving the configuration after fixing them reconnects it. Reason: {reason}";
|
|
23
|
+
readonly serverGroupSummary: "Remote MCP server “{id}” bridged by plugin-mcp-client";
|
|
24
|
+
readonly metaGroup: "MCP / metadata";
|
|
25
|
+
readonly metaGroupSummary: "Let the agent list configured MCP servers and turn them on or off (entries cannot be added or removed)";
|
|
26
|
+
};
|
|
27
|
+
export default _default;
|
|
28
|
+
//# sourceMappingURL=en.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wBAgCG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { defineLocale } from '@aalis/schema-i18n';
|
|
2
|
+
export default defineLocale()({
|
|
3
|
+
displayName: 'MCP client',
|
|
4
|
+
serversLabel: 'MCP servers',
|
|
5
|
+
serversDescription: 'MCP servers connected over stdio. Each entry needs at least id and command; adjust the security level as needed.',
|
|
6
|
+
idLabel: 'Unique ID',
|
|
7
|
+
idDescription: 'Used as the tool namespace; the final tool names look like mcp_<id>_<tool>. Only letters, digits, underscores and hyphens are allowed.',
|
|
8
|
+
commandLabel: 'Executable command',
|
|
9
|
+
commandDescription: 'A command name (such as npx / node / python, looked up in PATH) or an absolute path.',
|
|
10
|
+
argsLabel: 'Command arguments',
|
|
11
|
+
argsDescription: 'Arguments passed to the command in order, one per item (may contain spaces). Write file paths in arguments as absolute paths.',
|
|
12
|
+
envLabel: 'Environment variables',
|
|
13
|
+
envDescription: 'Extra environment variables passed to the child process (KEY → VALUE). The whole map is stored in secrets.yaml as one secret; the WebUI does not show it back, and changing it means re-entering all of it. Put credentials such as tokens here, not in the command arguments (arguments are written to the logs).',
|
|
14
|
+
enabledLabel: 'Enabled',
|
|
15
|
+
enabledDescription: 'Turn off to skip this server for now without deleting the whole entry.',
|
|
16
|
+
visibilityLabel: 'Tool level',
|
|
17
|
+
visibilityDescription: 'Level of all tools of this server. auto = by tool annotations: self-declared read-only → sensitive (level 1), destructive hints or nothing declared → restricted (level 2). public restores level 0, open to everyone (the old 0.x default).',
|
|
18
|
+
visibilityAuto: 'auto (by annotations)',
|
|
19
|
+
visibilityPublic: 'public (level 0, open to everyone)',
|
|
20
|
+
visibilitySensitive: 'sensitive (level 1)',
|
|
21
|
+
visibilityRestricted: 'restricted (level 2)',
|
|
22
|
+
connectFailedTitle: 'Cannot connect to MCP server “{id}”',
|
|
23
|
+
connectFailedDetail: "Check this server's command, args and env (the environment variables it needs); saving the configuration after fixing them reconnects it. Reason: {reason}",
|
|
24
|
+
serverGroupSummary: 'Remote MCP server “{id}” bridged by plugin-mcp-client',
|
|
25
|
+
metaGroup: 'MCP / metadata',
|
|
26
|
+
metaGroupSummary: 'Let the agent list configured MCP servers and turn them on or off (entries cannot be added or removed)',
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=en.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,eAAe,YAAY,EAAU,CAAC;IACpC,WAAW,EAAE,YAAY;IACzB,YAAY,EAAE,aAAa;IAC3B,kBAAkB,EAChB,kHAAkH;IACpH,OAAO,EAAE,WAAW;IACpB,aAAa,EACX,wIAAwI;IAC1I,YAAY,EAAE,oBAAoB;IAClC,kBAAkB,EAAE,sFAAsF;IAC1G,SAAS,EAAE,mBAAmB;IAC9B,eAAe,EACb,+HAA+H;IACjI,QAAQ,EAAE,uBAAuB;IACjC,cAAc,EACZ,oTAAoT;IACtT,YAAY,EAAE,SAAS;IACvB,kBAAkB,EAAE,wEAAwE;IAC5F,eAAe,EAAE,YAAY;IAC7B,qBAAqB,EACnB,8OAA8O;IAChP,cAAc,EAAE,uBAAuB;IACvC,gBAAgB,EAAE,oCAAoC;IACtD,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,kBAAkB,EAAE,qCAAqC;IACzD,mBAAmB,EACjB,4JAA4J;IAC9J,kBAAkB,EAAE,uDAAuD;IAC3E,SAAS,EAAE,gBAAgB;IAC3B,gBAAgB,EACd,wGAAwG;CAC3G,CAAC,CAAC"}
|
package/dist/texts.d.ts
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
declare const SOURCE: {
|
|
2
|
+
readonly displayName: "MCP 客户端";
|
|
3
|
+
readonly serversLabel: "MCP 服务器列表";
|
|
4
|
+
readonly serversDescription: "通过 stdio 连接的 MCP 服务器。每条目至少需要 id 与 command;安全级别按需调整。";
|
|
5
|
+
readonly idLabel: "唯一 ID";
|
|
6
|
+
readonly idDescription: "用于工具命名空间,最终工具名形如 mcp_<id>_<tool>。仅允许字母数字与下划线/中划线。";
|
|
7
|
+
readonly commandLabel: "可执行命令";
|
|
8
|
+
readonly commandDescription: "命令名(如 npx / node / python,按 PATH 查找)或绝对路径。";
|
|
9
|
+
readonly argsLabel: "命令参数";
|
|
10
|
+
readonly argsDescription: "按顺序传给命令的参数列表,每项一个参数(可含空格)。参数里的文件路径请写绝对路径。";
|
|
11
|
+
readonly envLabel: "环境变量";
|
|
12
|
+
readonly envDescription: "额外传给子进程的环境变量(KEY → VALUE)。整份作为一个密钥存进 secrets.yaml,WebUI 不回显,改时整份重填。token 等凭据放这里,不要放进命令参数(参数会写进日志)。";
|
|
13
|
+
readonly enabledLabel: "启用";
|
|
14
|
+
readonly enabledDescription: "关闭可临时跳过该 server 而不删除整条配置。";
|
|
15
|
+
readonly visibilityLabel: "工具档位";
|
|
16
|
+
readonly visibilityDescription: "该 server 全部工具的档位。auto=按工具注解分档:自称只读→sensitive(等级 1),有破坏提示或未声明→restricted(等级 2)。public 恢复等级 0 全开(0.x 旧默认)。";
|
|
17
|
+
readonly visibilityAuto: "auto(按注解分档)";
|
|
18
|
+
readonly visibilityPublic: "public(等级 0 全开)";
|
|
19
|
+
readonly visibilitySensitive: "sensitive(等级 1)";
|
|
20
|
+
readonly visibilityRestricted: "restricted(等级 2)";
|
|
21
|
+
readonly connectFailedTitle: "MCP 服务器「{id}」连不上";
|
|
22
|
+
readonly connectFailedDetail: "检查这台服务器的 command、args 与 env(它要的环境变量),改好后保存配置即重连。原因:{reason}";
|
|
23
|
+
readonly serverGroupSummary: "通过 plugin-mcp-client 桥接的远端 MCP 服务器 \"{id}\"";
|
|
24
|
+
readonly metaGroup: "MCP / 元数据";
|
|
25
|
+
readonly metaGroupSummary: "让 agent 列出和切换已配置的 MCP 服务器(不能新增/删除条目)";
|
|
26
|
+
};
|
|
27
|
+
export type Source = typeof SOURCE;
|
|
28
|
+
export declare const t: import("@aalis/schema-i18n").TextFactory<{
|
|
29
|
+
readonly displayName: "MCP 客户端";
|
|
30
|
+
readonly serversLabel: "MCP 服务器列表";
|
|
31
|
+
readonly serversDescription: "通过 stdio 连接的 MCP 服务器。每条目至少需要 id 与 command;安全级别按需调整。";
|
|
32
|
+
readonly idLabel: "唯一 ID";
|
|
33
|
+
readonly idDescription: "用于工具命名空间,最终工具名形如 mcp_<id>_<tool>。仅允许字母数字与下划线/中划线。";
|
|
34
|
+
readonly commandLabel: "可执行命令";
|
|
35
|
+
readonly commandDescription: "命令名(如 npx / node / python,按 PATH 查找)或绝对路径。";
|
|
36
|
+
readonly argsLabel: "命令参数";
|
|
37
|
+
readonly argsDescription: "按顺序传给命令的参数列表,每项一个参数(可含空格)。参数里的文件路径请写绝对路径。";
|
|
38
|
+
readonly envLabel: "环境变量";
|
|
39
|
+
readonly envDescription: "额外传给子进程的环境变量(KEY → VALUE)。整份作为一个密钥存进 secrets.yaml,WebUI 不回显,改时整份重填。token 等凭据放这里,不要放进命令参数(参数会写进日志)。";
|
|
40
|
+
readonly enabledLabel: "启用";
|
|
41
|
+
readonly enabledDescription: "关闭可临时跳过该 server 而不删除整条配置。";
|
|
42
|
+
readonly visibilityLabel: "工具档位";
|
|
43
|
+
readonly visibilityDescription: "该 server 全部工具的档位。auto=按工具注解分档:自称只读→sensitive(等级 1),有破坏提示或未声明→restricted(等级 2)。public 恢复等级 0 全开(0.x 旧默认)。";
|
|
44
|
+
readonly visibilityAuto: "auto(按注解分档)";
|
|
45
|
+
readonly visibilityPublic: "public(等级 0 全开)";
|
|
46
|
+
readonly visibilitySensitive: "sensitive(等级 1)";
|
|
47
|
+
readonly visibilityRestricted: "restricted(等级 2)";
|
|
48
|
+
readonly connectFailedTitle: "MCP 服务器「{id}」连不上";
|
|
49
|
+
readonly connectFailedDetail: "检查这台服务器的 command、args 与 env(它要的环境变量),改好后保存配置即重连。原因:{reason}";
|
|
50
|
+
readonly serverGroupSummary: "通过 plugin-mcp-client 桥接的远端 MCP 服务器 \"{id}\"";
|
|
51
|
+
readonly metaGroup: "MCP / 元数据";
|
|
52
|
+
readonly metaGroupSummary: "让 agent 列出和切换已配置的 MCP 服务器(不能新增/删除条目)";
|
|
53
|
+
}>;
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=texts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texts.d.ts","sourceRoot":"","sources":["../src/texts.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;CA2BF,CAAC;AACX,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC,eAAO,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;EAKZ,CAAC"}
|
package/dist/texts.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// 本插件自己的原文字典:显示名、配置项,连不上服务器时的提示,元数据分组名与两种分组的概述
|
|
2
|
+
import { defineTexts } from '@aalis/schema-i18n';
|
|
3
|
+
import en from './locales/en.js';
|
|
4
|
+
const SOURCE = {
|
|
5
|
+
displayName: 'MCP 客户端',
|
|
6
|
+
serversLabel: 'MCP 服务器列表',
|
|
7
|
+
serversDescription: '通过 stdio 连接的 MCP 服务器。每条目至少需要 id 与 command;安全级别按需调整。',
|
|
8
|
+
idLabel: '唯一 ID',
|
|
9
|
+
idDescription: '用于工具命名空间,最终工具名形如 mcp_<id>_<tool>。仅允许字母数字与下划线/中划线。',
|
|
10
|
+
commandLabel: '可执行命令',
|
|
11
|
+
commandDescription: '命令名(如 npx / node / python,按 PATH 查找)或绝对路径。',
|
|
12
|
+
argsLabel: '命令参数',
|
|
13
|
+
argsDescription: '按顺序传给命令的参数列表,每项一个参数(可含空格)。参数里的文件路径请写绝对路径。',
|
|
14
|
+
envLabel: '环境变量',
|
|
15
|
+
envDescription: '额外传给子进程的环境变量(KEY → VALUE)。整份作为一个密钥存进 secrets.yaml,WebUI 不回显,改时整份重填。token 等凭据放这里,不要放进命令参数(参数会写进日志)。',
|
|
16
|
+
enabledLabel: '启用',
|
|
17
|
+
enabledDescription: '关闭可临时跳过该 server 而不删除整条配置。',
|
|
18
|
+
visibilityLabel: '工具档位',
|
|
19
|
+
visibilityDescription: '该 server 全部工具的档位。auto=按工具注解分档:自称只读→sensitive(等级 1),有破坏提示或未声明→restricted(等级 2)。public 恢复等级 0 全开(0.x 旧默认)。',
|
|
20
|
+
visibilityAuto: 'auto(按注解分档)',
|
|
21
|
+
visibilityPublic: 'public(等级 0 全开)',
|
|
22
|
+
visibilitySensitive: 'sensitive(等级 1)',
|
|
23
|
+
visibilityRestricted: 'restricted(等级 2)',
|
|
24
|
+
connectFailedTitle: 'MCP 服务器「{id}」连不上',
|
|
25
|
+
connectFailedDetail: '检查这台服务器的 command、args 与 env(它要的环境变量),改好后保存配置即重连。原因:{reason}',
|
|
26
|
+
serverGroupSummary: '通过 plugin-mcp-client 桥接的远端 MCP 服务器 "{id}"',
|
|
27
|
+
metaGroup: 'MCP / 元数据',
|
|
28
|
+
metaGroupSummary: '让 agent 列出和切换已配置的 MCP 服务器(不能新增/删除条目)',
|
|
29
|
+
};
|
|
30
|
+
export const t = defineTexts({
|
|
31
|
+
ns: '@aalis/plugin-mcp-client',
|
|
32
|
+
language: 'zh-CN',
|
|
33
|
+
source: SOURCE,
|
|
34
|
+
locales: { en },
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=texts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"texts.js","sourceRoot":"","sources":["../src/texts.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEjC,MAAM,MAAM,GAAG;IACb,WAAW,EAAE,SAAS;IACtB,YAAY,EAAE,WAAW;IACzB,kBAAkB,EAAE,qDAAqD;IACzE,OAAO,EAAE,OAAO;IAChB,aAAa,EAAE,mDAAmD;IAClE,YAAY,EAAE,OAAO;IACrB,kBAAkB,EAAE,4CAA4C;IAChE,SAAS,EAAE,MAAM;IACjB,eAAe,EAAE,2CAA2C;IAC5D,QAAQ,EAAE,MAAM;IAChB,cAAc,EACZ,oGAAoG;IACtG,YAAY,EAAE,IAAI;IAClB,kBAAkB,EAAE,2BAA2B;IAC/C,eAAe,EAAE,MAAM;IACvB,qBAAqB,EACnB,0GAA0G;IAC5G,cAAc,EAAE,aAAa;IAC7B,gBAAgB,EAAE,iBAAiB;IACnC,mBAAmB,EAAE,iBAAiB;IACtC,oBAAoB,EAAE,kBAAkB;IACxC,kBAAkB,EAAE,kBAAkB;IACtC,mBAAmB,EAAE,6DAA6D;IAClF,kBAAkB,EAAE,2CAA2C;IAC/D,SAAS,EAAE,WAAW;IACtB,gBAAgB,EAAE,sCAAsC;CAChD,CAAC;AAGX,MAAM,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;IAC3B,EAAE,EAAE,0BAA0B;IAC9B,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,EAAE,EAAE,EAAE;CAChB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aalis/plugin-mcp-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,18 +24,20 @@
|
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@aalis/schema-config": ">=0.
|
|
28
|
-
"@aalis/
|
|
27
|
+
"@aalis/schema-config": ">=0.16.0 <1.0.0",
|
|
28
|
+
"@aalis/schema-i18n": ">=0.1.0 <1.0.0",
|
|
29
|
+
"@aalis/api-tools": ">=0.12.0 <1.0.0",
|
|
29
30
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
30
|
-
"@aalis/api-host-config": ">=0.
|
|
31
|
+
"@aalis/api-host-config": ">=0.3.0 <1.0.0",
|
|
32
|
+
"@aalis/api-webui": ">=0.13.0 <1.0.0"
|
|
31
33
|
},
|
|
32
34
|
"devDependencies": {
|
|
33
35
|
"@types/node": "^22.0.0",
|
|
34
36
|
"typescript": "^5.7.0",
|
|
35
|
-
"@aalis/core": "0.
|
|
37
|
+
"@aalis/core": "0.21.0"
|
|
36
38
|
},
|
|
37
39
|
"peerDependencies": {
|
|
38
|
-
"@aalis/core": ">=0.
|
|
40
|
+
"@aalis/core": ">=0.21.0 <1.0.0"
|
|
39
41
|
},
|
|
40
42
|
"aalis": {
|
|
41
43
|
"service": {
|
|
@@ -47,7 +49,7 @@
|
|
|
47
49
|
],
|
|
48
50
|
"optional": [
|
|
49
51
|
"host-config",
|
|
50
|
-
"
|
|
52
|
+
"webui-server"
|
|
51
53
|
]
|
|
52
54
|
}
|
|
53
55
|
},
|