@plurnk/plurnk-mcp 1.23.0 → 1.25.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/.env.defaults +16 -36
- package/README.md +115 -131
- package/SPEC.md +189 -166
- package/dist/McpExecutor.d.ts +3 -3
- package/dist/McpExecutor.d.ts.map +1 -1
- package/dist/McpExecutor.js +18 -26
- package/dist/McpExecutor.js.map +1 -1
- package/dist/Module.d.ts +14 -13
- package/dist/Module.d.ts.map +1 -1
- package/dist/Module.js +191 -188
- package/dist/Module.js.map +1 -1
- package/dist/PluginConfiguration.d.ts +23 -0
- package/dist/PluginConfiguration.d.ts.map +1 -0
- package/dist/PluginConfiguration.js +34 -0
- package/dist/PluginConfiguration.js.map +1 -0
- package/dist/ToolPresentation.d.ts +1 -1
- package/dist/ToolPresentation.d.ts.map +1 -1
- package/dist/ToolPresentation.js +3 -7
- package/dist/ToolPresentation.js.map +1 -1
- package/dist/client.d.ts +8 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +96 -87
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +25 -11
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +151 -310
- package/dist/config.js.map +1 -1
- package/dist/definition.d.ts +3 -0
- package/dist/definition.d.ts.map +1 -0
- package/dist/definition.js +16 -0
- package/dist/definition.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/registry.d.ts +60 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +150 -0
- package/dist/registry.js.map +1 -0
- package/docs/mcp.md +53 -34
- package/package.json +6 -4
package/dist/config.js
CHANGED
|
@@ -1,98 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
// {§mcp-configuration} Definitions and independent controls share the resource environment dialect.
|
|
2
|
+
import { ConfigurationError, Knob, ResourceEnvironment } from "@plurnk/plurnk-meta";
|
|
3
|
+
import { readDefinition } from "./definition.js";
|
|
4
|
+
import { readFile } from "node:fs/promises";
|
|
5
|
+
import { dirname, join } from "node:path";
|
|
2
6
|
const PREFIX = "PLURNK_MCP_";
|
|
3
|
-
const
|
|
4
|
-
"_bearer",
|
|
5
|
-
"_args",
|
|
6
|
-
"_cwd",
|
|
7
|
-
"_env",
|
|
8
|
-
"_headers",
|
|
9
|
-
"_summary",
|
|
10
|
-
"_tools",
|
|
11
|
-
"_read",
|
|
12
|
-
];
|
|
13
|
-
const CONTROL_KEYS = new Map([
|
|
14
|
-
["connect_timeout", `${PREFIX}CONNECT_TIMEOUT`],
|
|
15
|
-
["request_timeout", `${PREFIX}REQUEST_TIMEOUT`],
|
|
16
|
-
["retry_floor_ms", `${PREFIX}RETRY_FLOOR_MS`],
|
|
17
|
-
["retry_ceiling_ms", `${PREFIX}RETRY_CEILING_MS`],
|
|
18
|
-
["enabled", `${PREFIX}ENABLED`],
|
|
19
|
-
["expanded", `${PREFIX}EXPANDED`],
|
|
20
|
-
]);
|
|
7
|
+
const CONTROLS = ["CONNECT_TIMEOUT", "REQUEST_TIMEOUT", "RETRY_FLOOR_MS", "RETRY_CEILING_MS", "EXPANDED", "REGISTRY_URL", "REGISTRY_LIMIT"];
|
|
21
8
|
const SERVER_NAME = /^[a-z][a-z0-9-]*$/;
|
|
22
|
-
// {§mcp-summary-derivation} — a _SUMMARY companion may extend a server name
|
|
23
|
-
// with one tool name (PLURNK_MCP_<server>_<tool>_SUMMARY); tool names legally
|
|
24
|
-
// contain underscores, so summary keys admit them and bind to the declared
|
|
25
|
-
// server in summaryOverrides.
|
|
26
|
-
const SUMMARY_KEY_NAME = /^[a-z][a-z0-9_-]*$/;
|
|
27
9
|
const ENV_REFERENCE = /\$\{([A-Za-z_][A-Za-z0-9_]*)\}/gu;
|
|
28
|
-
const assertServerName = (name, variable) => {
|
|
29
|
-
if (!SERVER_NAME.test(name)) {
|
|
30
|
-
throw new Error(`${variable} derives invalid MCP server name '${name}'; names must match [a-z][a-z0-9-]*.`);
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
const parseEnvironment = (environ, allowOrphanCompanions = false) => {
|
|
34
|
-
const targets = new Map();
|
|
35
|
-
const companions = new Map();
|
|
36
|
-
for (const [key, value] of Object.entries(environ)) {
|
|
37
|
-
if (value === undefined || !key.startsWith(PREFIX))
|
|
38
|
-
continue;
|
|
39
|
-
const suffix = key.slice(PREFIX.length);
|
|
40
|
-
if (suffix.length === 0)
|
|
41
|
-
continue;
|
|
42
|
-
const folded = suffix.toLowerCase();
|
|
43
|
-
const controlKey = CONTROL_KEYS.get(folded);
|
|
44
|
-
if (controlKey !== undefined) {
|
|
45
|
-
if (key !== controlKey) {
|
|
46
|
-
throw new Error(`${key} case-folds to ${controlKey}; that name is a reserved global and must use its canonical spelling.`);
|
|
47
|
-
}
|
|
48
|
-
continue;
|
|
49
|
-
}
|
|
50
|
-
const companion = COMPANION_SUFFIXES.find((candidate) => folded.endsWith(candidate));
|
|
51
|
-
if (companion !== undefined) {
|
|
52
|
-
const name = folded.slice(0, -companion.length);
|
|
53
|
-
const reservedGlobal = CONTROL_KEYS.get(name);
|
|
54
|
-
if (reservedGlobal !== undefined) {
|
|
55
|
-
throw new Error(`${key} uses ${reservedGlobal} as a server name; reserved globals cannot have server companions.`);
|
|
56
|
-
}
|
|
57
|
-
if (companion === "_summary") {
|
|
58
|
-
if (!SUMMARY_KEY_NAME.test(name)) {
|
|
59
|
-
throw new Error(`${key} derives invalid MCP summary name '${name}'; names must match [a-z][a-z0-9_-]*.`);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
assertServerName(name, key);
|
|
64
|
-
}
|
|
65
|
-
const bySuffix = companions.get(name) ?? new Map();
|
|
66
|
-
const existing = bySuffix.get(companion);
|
|
67
|
-
if (existing !== undefined) {
|
|
68
|
-
throw new Error(`${existing.key} and ${key} are duplicate MCP server companions after case-folding.`);
|
|
69
|
-
}
|
|
70
|
-
bySuffix.set(companion, { key, value });
|
|
71
|
-
companions.set(name, bySuffix);
|
|
72
|
-
continue;
|
|
73
|
-
}
|
|
74
|
-
assertServerName(folded, key);
|
|
75
|
-
const existing = targets.get(folded);
|
|
76
|
-
if (existing !== undefined) {
|
|
77
|
-
throw new Error(`${existing.key} and ${key} both derive MCP server name '${folded}' after case-folding.`);
|
|
78
|
-
}
|
|
79
|
-
targets.set(folded, { key, value });
|
|
80
|
-
}
|
|
81
|
-
if (!allowOrphanCompanions) {
|
|
82
|
-
for (const [name, fields] of companions) {
|
|
83
|
-
if (targets.has(name))
|
|
84
|
-
continue;
|
|
85
|
-
// A _SUMMARY companion may address one tool of a declared server:
|
|
86
|
-
// PLURNK_MCP_<SERVER>_<TOOL>_SUMMARY ({§mcp-summary-derivation}).
|
|
87
|
-
const toolSummaryOf = [...targets.keys()].find((target) => name.startsWith(`${target}_`));
|
|
88
|
-
if (fields.get("_summary") !== undefined && toolSummaryOf !== undefined)
|
|
89
|
-
continue;
|
|
90
|
-
const variables = [...fields.values()].map(({ key }) => key).join(", ");
|
|
91
|
-
throw new Error(`${variables} has no MCP server target ${PREFIX}${name.toUpperCase()}.`);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return { targets, companions };
|
|
95
|
-
};
|
|
96
10
|
export const expandReferences = (value, environ, field) => value.replaceAll(ENV_REFERENCE, (_match, name) => {
|
|
97
11
|
const resolved = environ[name];
|
|
98
12
|
if (resolved === undefined)
|
|
@@ -100,262 +14,189 @@ export const expandReferences = (value, environ, field) => value.replaceAll(ENV_
|
|
|
100
14
|
return resolved;
|
|
101
15
|
});
|
|
102
16
|
const jsonStrings = (raw, field) => {
|
|
103
|
-
if (raw === undefined || raw.length === 0)
|
|
104
|
-
return [];
|
|
105
17
|
let parsed;
|
|
106
18
|
try {
|
|
107
19
|
parsed = JSON.parse(raw);
|
|
108
20
|
}
|
|
109
21
|
catch (cause) {
|
|
110
|
-
throw new
|
|
22
|
+
throw new ConfigurationError(field, `${field} must be a JSON array of strings.`, { cause });
|
|
111
23
|
}
|
|
112
24
|
if (!Array.isArray(parsed) || !parsed.every((value) => typeof value === "string")) {
|
|
113
|
-
throw new
|
|
25
|
+
throw new ConfigurationError(field, `${field} must be a JSON array of strings.`);
|
|
114
26
|
}
|
|
115
27
|
return parsed;
|
|
116
28
|
};
|
|
117
|
-
const
|
|
29
|
+
const uniqueNames = (values, field, what) => {
|
|
118
30
|
const unique = new Set();
|
|
119
31
|
for (const value of values) {
|
|
120
32
|
if (value.length === 0)
|
|
121
|
-
throw new
|
|
33
|
+
throw new ConfigurationError(field, `${field} contains an empty ${what}.`);
|
|
122
34
|
if (unique.has(value))
|
|
123
|
-
throw new
|
|
35
|
+
throw new ConfigurationError(field, `${field} contains duplicate ${what} '${value}'.`);
|
|
124
36
|
unique.add(value);
|
|
125
37
|
}
|
|
126
38
|
return [...unique];
|
|
127
39
|
};
|
|
128
|
-
const
|
|
129
|
-
const
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
}
|
|
136
|
-
catch (cause) {
|
|
137
|
-
throw new Error(`${field} must be a JSON object with string values.`, { cause });
|
|
138
|
-
}
|
|
139
|
-
if (typeof parsed !== "object"
|
|
140
|
-
|| parsed === null
|
|
141
|
-
|| Array.isArray(parsed)
|
|
142
|
-
|| !Object.values(parsed).every((value) => typeof value === "string")) {
|
|
143
|
-
throw new Error(`${field} must be a JSON object with string values.`);
|
|
144
|
-
}
|
|
145
|
-
return parsed;
|
|
40
|
+
const configuration = (environ) => {
|
|
41
|
+
const resources = new ResourceEnvironment(PREFIX, { controls: CONTROLS, settings: ["TOOLS"] }, environ);
|
|
42
|
+
const tools = new Map([...resources.settings("TOOLS")].map(([alias, { key, value }]) => [
|
|
43
|
+
alias,
|
|
44
|
+
value.length === 0 ? null : uniqueNames(jsonStrings(value, key), key, "tool name"),
|
|
45
|
+
]));
|
|
46
|
+
return { resources, tools };
|
|
146
47
|
};
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
.
|
|
150
|
-
|
|
151
|
-
const
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
return null;
|
|
158
|
-
const variables = [...orphaned.values()].map(({ key }) => key).join(", ");
|
|
159
|
-
throw new Error(`${variables} has no MCP server target ${PREFIX}${folded.toUpperCase()}.`);
|
|
160
|
-
}
|
|
161
|
-
if (base !== undefined && base.name !== folded) {
|
|
162
|
-
throw new Error(`MCP base definition '${base.name}' cannot configure alias '${folded}'.`);
|
|
163
|
-
}
|
|
164
|
-
if (target?.value === "")
|
|
165
|
-
return null;
|
|
166
|
-
const lower = target === undefined ? base : undefined;
|
|
167
|
-
const fields = parsed.companions.get(folded);
|
|
168
|
-
const fieldName = (suffix) => fields?.get(suffix)?.key ?? `${PREFIX}${folded.toUpperCase()}${suffix.toUpperCase()}`;
|
|
169
|
-
const configuredTools = fields?.get("_tools");
|
|
170
|
-
const inheritedTools = lower?.tools;
|
|
171
|
-
const tools = configuredTools === undefined
|
|
172
|
-
? structuredClone(inheritedTools)
|
|
173
|
-
: toolNames(configuredTools.value, configuredTools.key);
|
|
174
|
-
const policy = {
|
|
175
|
-
...(tools === undefined ? {} : { tools }),
|
|
176
|
-
read: fields?.has("_read")
|
|
177
|
-
? toolNames(fields.get("_read")?.value, fieldName("_read"))
|
|
178
|
-
: structuredClone(lower?.read ?? []),
|
|
179
|
-
};
|
|
180
|
-
const transport = target === undefined
|
|
181
|
-
? lower?.transport
|
|
182
|
-
: /^https?:\/\//iu.test(target.value) ? "http" : "stdio";
|
|
183
|
-
if (transport === "http") {
|
|
184
|
-
const invalid = ["_args", "_cwd", "_env"]
|
|
185
|
-
.flatMap((suffix) => fields?.get(suffix)?.key ?? []);
|
|
186
|
-
if (invalid.length > 0) {
|
|
187
|
-
throw new Error(`${invalid.join(", ")} cannot accompany HTTP MCP server target ${target?.key ?? folded}; transport-neutral _TOOLS/_READ and HTTP _HEADERS are valid.`);
|
|
48
|
+
// Settings are validated even before their resource exists ({§resource-environment}).
|
|
49
|
+
export const serverSettings = (alias, environ = process.env) => ({
|
|
50
|
+
tools: configuration(environ).tools.get(alias) ?? null,
|
|
51
|
+
});
|
|
52
|
+
export const serviceDefinitions = (environ = process.env) => {
|
|
53
|
+
const { resources } = configuration(environ);
|
|
54
|
+
return [...resources.definitions].map(([alias, { key, value }]) => {
|
|
55
|
+
let definition;
|
|
56
|
+
try {
|
|
57
|
+
definition = readDefinition(JSON.parse(value));
|
|
188
58
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
: undefined;
|
|
192
|
-
const headers = fields?.has("_headers")
|
|
193
|
-
? jsonRecord(fields.get("_headers")?.value, fieldName("_headers"))
|
|
194
|
-
: inheritedHeaders;
|
|
195
|
-
const bearer = fields?.get("_bearer");
|
|
196
|
-
const inheritedAuthorization = lower?.transport === "http"
|
|
197
|
-
? structuredClone(lower.authorization)
|
|
198
|
-
: undefined;
|
|
199
|
-
const authorization = bearer === undefined
|
|
200
|
-
? inheritedAuthorization
|
|
201
|
-
: { type: "bearer", token: bearer.value };
|
|
202
|
-
const authorizationHeader = Object.keys(headers ?? {}).find((key) => key.toLowerCase() === "authorization");
|
|
203
|
-
if (authorization?.type === "bearer" && authorizationHeader !== undefined) {
|
|
204
|
-
throw new Error(`${bearer?.key ?? "Bearer authorization"} conflicts with Authorization in the server's _HEADERS map.`);
|
|
59
|
+
catch (cause) {
|
|
60
|
+
throw new ConfigurationError(key, `${key} must be an MCP server definition.`, { cause });
|
|
205
61
|
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
return Validator.assertMcpServerDefinition({
|
|
210
|
-
name: folded,
|
|
211
|
-
transport: "http",
|
|
212
|
-
url,
|
|
213
|
-
...(headers === undefined ? {} : { headers }),
|
|
214
|
-
...(authorization === undefined ? {} : { authorization }),
|
|
215
|
-
...policy,
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
const httpOnly = ["_headers", "_bearer"]
|
|
219
|
-
.flatMap((suffix) => fields?.get(suffix)?.key ?? []);
|
|
220
|
-
if (httpOnly.length > 0) {
|
|
221
|
-
throw new Error(`${httpOnly.join(", ")} cannot accompany stdio MCP server target ${target?.key ?? folded}.`);
|
|
222
|
-
}
|
|
223
|
-
const inheritedStdio = lower?.transport === "stdio" ? lower : undefined;
|
|
224
|
-
const cwd = fields?.has("_cwd")
|
|
225
|
-
? fields.get("_cwd")?.value
|
|
226
|
-
: inheritedStdio?.cwd;
|
|
227
|
-
const stdioEnvironment = fields?.has("_env")
|
|
228
|
-
? jsonRecord(fields.get("_env")?.value, fieldName("_env"))
|
|
229
|
-
: structuredClone(inheritedStdio?.env);
|
|
230
|
-
const args = fields?.has("_args")
|
|
231
|
-
? jsonStrings(fields.get("_args")?.value, fieldName("_args"))
|
|
232
|
-
: structuredClone(inheritedStdio?.args ?? []);
|
|
233
|
-
const command = target?.value ?? inheritedStdio?.command;
|
|
234
|
-
if (command === undefined)
|
|
235
|
-
throw new Error(`Stdio MCP server '${folded}' has no target.`);
|
|
236
|
-
return Validator.assertMcpServerDefinition({
|
|
237
|
-
name: folded,
|
|
238
|
-
transport: "stdio",
|
|
239
|
-
command,
|
|
240
|
-
args,
|
|
241
|
-
...(cwd === undefined ? {} : { cwd }),
|
|
242
|
-
...(stdioEnvironment === undefined ? {} : { env: stdioEnvironment }),
|
|
243
|
-
...policy,
|
|
62
|
+
if (definition.name !== alias)
|
|
63
|
+
throw new ConfigurationError(key, `${key} must define name '${alias}'.`);
|
|
64
|
+
return { alias, definition, enabled: resources.enabled(alias), provenance: { kind: "environment", source: key } };
|
|
244
65
|
});
|
|
245
66
|
};
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
const
|
|
250
|
-
const
|
|
251
|
-
const
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
?
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
// families; servers named here also expand their complete tool tree into the
|
|
276
|
-
// turn-0 survey.
|
|
277
|
-
const selectedServerNames = (environ, field) => {
|
|
278
|
-
const configured = jsonStrings(environ[field], field);
|
|
279
|
-
const { targets } = parseEnvironment(environ);
|
|
280
|
-
const selected = new Set();
|
|
281
|
-
for (const name of configured) {
|
|
282
|
-
assertServerName(name, field);
|
|
283
|
-
const target = targets.get(name);
|
|
284
|
-
if (target === undefined) {
|
|
285
|
-
throw new Error(`${field} contains unknown MCP server '${name}'.`);
|
|
67
|
+
const isObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
68
|
+
// {§mcp-file-configuration} Files supply definitions, not installations or another lifecycle.
|
|
69
|
+
export const configuredDefinitions = async (directories, environ = process.env, plugins) => {
|
|
70
|
+
const { resources } = configuration(environ);
|
|
71
|
+
const selected = new Map(serviceDefinitions(environ).map((entry) => [entry.alias, entry]));
|
|
72
|
+
const addPlugins = (scopeDirectory) => {
|
|
73
|
+
for (const plugin of plugins?.plugins ?? []) {
|
|
74
|
+
const root = plugins.roots[plugin.scope];
|
|
75
|
+
if ((root == null ? null : dirname(root)) !== scopeDirectory)
|
|
76
|
+
continue;
|
|
77
|
+
const file = join(plugin.root, "mcp.json");
|
|
78
|
+
for (const [alias, entry] of plugin.mcpServers ?? []) {
|
|
79
|
+
if (selected.has(alias))
|
|
80
|
+
continue;
|
|
81
|
+
const reference = `/mcpServers/${alias.replaceAll("~", "~0").replaceAll("/", "~1")}`;
|
|
82
|
+
if (!isServerName(alias) || entry.type === "sse") {
|
|
83
|
+
plugins.report({
|
|
84
|
+
source: "engine:configuration", kind: "plugin_configuration", level: "warn", family: "mcp",
|
|
85
|
+
message: `${file}#${reference}: ${entry.type === "sse" ? "legacy SSE transport is unsupported" : "server name must match [a-z][a-z0-9-]*"}; this entry was skipped.`,
|
|
86
|
+
});
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
const definition = readDefinition({ ...entry, name: alias });
|
|
90
|
+
selected.set(alias, {
|
|
91
|
+
alias, definition, enabled: resources.enabled(alias),
|
|
92
|
+
context: { root: plugin.root, data: plugin.data },
|
|
93
|
+
provenance: { kind: "plugin", source: file, reference },
|
|
94
|
+
});
|
|
95
|
+
}
|
|
286
96
|
}
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
97
|
+
};
|
|
98
|
+
const addFile = async (directory) => {
|
|
99
|
+
const file = join(directory, "mcp.json");
|
|
100
|
+
let contents;
|
|
101
|
+
try {
|
|
102
|
+
contents = await readFile(file, "utf8");
|
|
291
103
|
}
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
};
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
}
|
|
309
|
-
continue;
|
|
104
|
+
catch (cause) {
|
|
105
|
+
if (cause.code === "ENOENT")
|
|
106
|
+
return;
|
|
107
|
+
throw new ConfigurationError(file, `${file} could not be read.`, { cause });
|
|
108
|
+
}
|
|
109
|
+
let document;
|
|
110
|
+
try {
|
|
111
|
+
document = JSON.parse(contents);
|
|
112
|
+
}
|
|
113
|
+
catch (cause) {
|
|
114
|
+
throw new ConfigurationError(file, `${file} must contain valid JSON.`, { cause });
|
|
115
|
+
}
|
|
116
|
+
if (!isObject(document) || !isObject(document.mcpServers)
|
|
117
|
+
|| Object.keys(document).some((key) => key !== "mcpServers" && key !== "$schema")
|
|
118
|
+
|| (document.$schema !== undefined && typeof document.$schema !== "string")) {
|
|
119
|
+
throw new ConfigurationError(file, `${file} must contain a mcpServers object and, optionally, a string $schema.`);
|
|
310
120
|
}
|
|
311
|
-
const
|
|
312
|
-
|
|
313
|
-
|
|
121
|
+
for (const [alias, entry] of Object.entries(document.mcpServers)) {
|
|
122
|
+
if (selected.has(alias))
|
|
123
|
+
continue;
|
|
124
|
+
const reference = `/mcpServers/${alias.replaceAll("~", "~0").replaceAll("/", "~1")}`;
|
|
125
|
+
const key = `${file}#${reference}`;
|
|
126
|
+
let definition;
|
|
127
|
+
try {
|
|
128
|
+
if (!isObject(entry))
|
|
129
|
+
throw new TypeError("A server entry must be an object.");
|
|
130
|
+
if (Object.hasOwn(entry, "name"))
|
|
131
|
+
throw new TypeError("The map key supplies the server name; omit name from the entry.");
|
|
132
|
+
const type = Object.hasOwn(entry, "type") ? entry.type : (Object.hasOwn(entry, "command") ? "stdio" : "streamable-http");
|
|
133
|
+
definition = readDefinition({ ...entry, name: alias, type });
|
|
134
|
+
}
|
|
135
|
+
catch (cause) {
|
|
136
|
+
throw new ConfigurationError(key, `${key} must be a complete MCP server definition without name.`, { cause });
|
|
137
|
+
}
|
|
138
|
+
selected.set(alias, { alias, definition, enabled: resources.enabled(alias), provenance: { kind: "file", source: file, reference } });
|
|
314
139
|
}
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
140
|
+
};
|
|
141
|
+
for (const directory of directories) {
|
|
142
|
+
await addFile(directory);
|
|
143
|
+
addPlugins(directory);
|
|
319
144
|
}
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
export const serviceEnabledNames = (environ = process.env) => {
|
|
323
|
-
const field = `${PREFIX}ENABLED`;
|
|
324
|
-
if (environ[field] === undefined)
|
|
325
|
-
throw new Error(`${field} is missing from the assembled environment floor.`);
|
|
326
|
-
if (environ[field] === "")
|
|
327
|
-
throw new Error(`${field} must be a JSON array of strings; [] enables none.`);
|
|
328
|
-
return selectedServerNames(environ, field);
|
|
145
|
+
addPlugins(null);
|
|
146
|
+
return [...selected.values()].toSorted((left, right) => left.alias.localeCompare(right.alias));
|
|
329
147
|
};
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
const
|
|
333
|
-
|
|
334
|
-
|
|
148
|
+
// {§mcp-configuration} — the servers whose every tool turn zero surveys.
|
|
149
|
+
export const expandedServerNames = (environ = process.env) => {
|
|
150
|
+
const field = `${PREFIX}EXPANDED`;
|
|
151
|
+
const raw = environ[field];
|
|
152
|
+
if (raw === undefined || raw.length === 0)
|
|
153
|
+
return [];
|
|
154
|
+
const names = uniqueNames(jsonStrings(raw, field), field, "MCP server");
|
|
155
|
+
for (const name of names) {
|
|
156
|
+
if (!SERVER_NAME.test(name))
|
|
157
|
+
throw new ConfigurationError(field, `${field} names '${name}', which is not an MCP server alias ([a-z][a-z0-9-]*).`);
|
|
335
158
|
}
|
|
336
|
-
return
|
|
159
|
+
return names.toSorted();
|
|
337
160
|
};
|
|
161
|
+
export const isServerName = (name) => SERVER_NAME.test(name);
|
|
162
|
+
export const connectTimeoutMs = (environ = process.env) => Knob.integer("PLURNK_MCP_CONNECT_TIMEOUT", 1, environ);
|
|
338
163
|
export const retryPacing = (environ = process.env) => {
|
|
339
|
-
const
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
if (!Number.isInteger(value) || value < 1)
|
|
343
|
-
throw new Error(`${name} must be a positive integer; got ${JSON.stringify(raw)}.`);
|
|
344
|
-
return value;
|
|
164
|
+
const pacing = {
|
|
165
|
+
floorMs: Knob.integer("PLURNK_MCP_RETRY_FLOOR_MS", 1, environ),
|
|
166
|
+
ceilingMs: Knob.integer("PLURNK_MCP_RETRY_CEILING_MS", 1, environ),
|
|
345
167
|
};
|
|
346
|
-
const pacing = { floorMs: read("PLURNK_MCP_RETRY_FLOOR_MS"), ceilingMs: read("PLURNK_MCP_RETRY_CEILING_MS") };
|
|
347
168
|
if (pacing.ceilingMs < pacing.floorMs) {
|
|
348
|
-
throw new
|
|
169
|
+
throw new ConfigurationError("PLURNK_MCP_RETRY_CEILING_MS", `PLURNK_MCP_RETRY_CEILING_MS (${pacing.ceilingMs}) must be at least PLURNK_MCP_RETRY_FLOOR_MS (${pacing.floorMs}).`);
|
|
349
170
|
}
|
|
350
171
|
return pacing;
|
|
351
172
|
};
|
|
352
173
|
export const retryDelayMs = ({ floorMs, ceilingMs }, attempt) => Math.min(floorMs * (2 ** attempt), ceilingMs);
|
|
353
|
-
export const
|
|
354
|
-
const raw = environ.
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
174
|
+
export const registrySettings = (environ = process.env) => {
|
|
175
|
+
const raw = environ.PLURNK_MCP_REGISTRY_URL;
|
|
176
|
+
if (raw === undefined)
|
|
177
|
+
throw new Error("PLURNK_MCP_REGISTRY_URL is missing from the assembled environment floor.");
|
|
178
|
+
if (raw.length > 0) {
|
|
179
|
+
const refusal = "PLURNK_MCP_REGISTRY_URL must be an HTTP or HTTPS URL.";
|
|
180
|
+
let url;
|
|
181
|
+
try {
|
|
182
|
+
url = new URL(raw);
|
|
183
|
+
}
|
|
184
|
+
catch (cause) {
|
|
185
|
+
throw new ConfigurationError("PLURNK_MCP_REGISTRY_URL", refusal, { cause });
|
|
186
|
+
}
|
|
187
|
+
if (url.protocol !== "https:" && url.protocol !== "http:")
|
|
188
|
+
throw new ConfigurationError("PLURNK_MCP_REGISTRY_URL", refusal);
|
|
358
189
|
}
|
|
359
|
-
|
|
190
|
+
const limit = Knob.integer("PLURNK_MCP_REGISTRY_LIMIT", 1, environ);
|
|
191
|
+
return { url: raw.length === 0 ? null : raw, limit };
|
|
192
|
+
};
|
|
193
|
+
export const requestTimeoutMs = (environ = process.env) => Knob.integer("PLURNK_MCP_REQUEST_TIMEOUT", 1, environ);
|
|
194
|
+
export const validateConfiguration = (environ = process.env) => {
|
|
195
|
+
serviceDefinitions(environ);
|
|
196
|
+
expandedServerNames(environ);
|
|
197
|
+
connectTimeoutMs(environ);
|
|
198
|
+
requestTimeoutMs(environ);
|
|
199
|
+
retryPacing(environ);
|
|
200
|
+
registrySettings(environ);
|
|
360
201
|
};
|
|
361
202
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../src/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/E,eAAO,MAAM,cAAc,UAAW,OAAO,KAAG,mBAW/C,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Validator } from "@plurnk/plurnk-contracts";
|
|
2
|
+
// {§mcp-server-definition} One admission path for configuration and live additions.
|
|
3
|
+
export const readDefinition = (input) => {
|
|
4
|
+
const definition = structuredClone(Validator.assertMcpServerDefinition(input));
|
|
5
|
+
if (definition.type === "stdio")
|
|
6
|
+
return definition;
|
|
7
|
+
const url = new URL(definition.url);
|
|
8
|
+
if (url.protocol !== "https:" && url.protocol !== "http:") {
|
|
9
|
+
throw new TypeError("An MCP endpoint must use HTTP or HTTPS.");
|
|
10
|
+
}
|
|
11
|
+
if (definition.authorization !== undefined && Object.keys(definition.headers ?? {}).some((name) => name.toLowerCase() === "authorization")) {
|
|
12
|
+
throw new TypeError("An MCP definition cannot supply both authorization and an Authorization header.");
|
|
13
|
+
}
|
|
14
|
+
return definition;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../src/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA4B,MAAM,0BAA0B,CAAC;AAE/E,oFAAoF;AACpF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAuB,EAAE;IAClE,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,yBAAyB,CAAC,KAA4B,CAAC,CAAC,CAAC;IACtG,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,UAAU,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACxD,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,EAAE,CAAC;QACzI,MAAM,IAAI,SAAS,CAAC,iFAAiF,CAAC,CAAC;IAC3G,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { default as Module } from "./Module.ts";
|
|
2
2
|
export { default } from "./Module.ts";
|
|
3
3
|
export { MCP_CLIENT_VERSION, MCP_CONFORMANCE_VERSION, MCP_PROTOCOL_VERSION, MCP_SPECIFICATION_COMMIT, MCP_TASKS_EXTENSION_ID, MCP_TASKS_SPECIFICATION_COMMIT, } from "./protocol.ts";
|
|
4
|
-
export {
|
|
5
|
-
export type { ToolPolicy } from "./config.ts";
|
|
4
|
+
export { serviceDefinitions, configuredDefinitions, connectTimeoutMs, expandReferences, requestTimeoutMs, serverSettings, validateConfiguration, } from "./config.ts";
|
|
5
|
+
export type { McpAuthorization, ToolPolicy } from "./config.ts";
|
|
6
6
|
//# 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,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EACH,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,8BAA8B,GACjC,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EACH,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,8BAA8B,GACjC,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,qBAAqB,GACxB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|