@stratusagent/plugin-mcp 0.11.3 → 0.11.5
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 +28 -8
- package/dist/index.d.ts +10 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +115 -18
- package/dist/index.js.map +1 -1
- package/dist/normalize.d.ts +157 -6
- package/dist/normalize.d.ts.map +1 -1
- package/dist/normalize.js +809 -18
- package/dist/normalize.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -110,12 +110,23 @@ this package's code:
|
|
|
110
110
|
| `headers` | HTTP | Headers sent with every request — where a bearer token goes. |
|
|
111
111
|
| `connectTimeoutMs` | both | One budget for the connect handshake *and* the whole tool-discovery walk (default 15000), so a server can stall startup neither by being unreachable nor by paginating slowly. |
|
|
112
112
|
| `callTimeoutMs` | both | Per-call budget (default 60000). |
|
|
113
|
+
| `maxResultChars` | both | One allowance for a whole result, in characters (default 100000, minimum 512 — a smaller one is raised, since a cap that cannot hold an account of what it cut can only be approximated), spent in order across the joined text blocks, the JSON of `structuredContent`, and the `resource_link` list — not a separate cap per field, since the transcript pays their sum. Cuts are announced with the original size named. A `structuredContent` that does not fit arrives as `structuredText`, because a truncated object is not an object; resource links that do not fit are dropped whole and counted in `resourcesTruncated`, because half a URI is no use. A failing call's message is bounded by the same number, including a JSON-RPC or transport error that never produces a result. Binary blocks' bytes go to the workspace, but the path each returns is counted like any other string, and blocks past the allowance are not written — `filesTruncated` says how many. Everything is charged as the transcript carries it: lists pay for their separators and envelope, text pays for the JSON escaping it will get (a NUL costs six characters, a quote two), an attachment's path is measured rather than reserved for, and stratus's own truncation markers and notes come out of the allowance before a server spends any of it — so the number bounds the whole result, not just the parts a server wrote. |
|
|
113
114
|
|
|
114
115
|
A setting on the wrong transport kind — `headers` on a stdio server, `env`
|
|
115
116
|
on an HTTP one — is refused at load rather than silently ignored, and so is
|
|
116
117
|
a `passEnv` that is not an array of names: a grant an operator believes is
|
|
117
118
|
in effect must never quietly be nothing.
|
|
118
119
|
|
|
120
|
+
**Results are capped because they are durable.** A tool result is written
|
|
121
|
+
into the session and replayed to the provider on every later turn of that
|
|
122
|
+
conversation, so an unbounded one does not cost a turn — it costs every
|
|
123
|
+
turn until the conversation ends, and it survives restarts along with the
|
|
124
|
+
transcript. The stdio transport bounds a single message at its reader's
|
|
125
|
+
buffer (10 MB) and the HTTP transports bound nothing, so the transport was
|
|
126
|
+
never the cap. `maxResultChars` is the operator's; a server cannot raise
|
|
127
|
+
it, and `0` or a negative reads as "use the default" rather than "no cap",
|
|
128
|
+
since a server that wanted the cap gone is the server it exists for.
|
|
129
|
+
|
|
119
130
|
**The stdio environment is replaced, not extended.** A subprocess MCP
|
|
120
131
|
server is a subprocess, and gets the same treatment `tool-shell`'s commands
|
|
121
132
|
do: exactly what this config granted — the harmless default inheritance,
|
|
@@ -234,14 +245,23 @@ Tool results normalize into plain values:
|
|
|
234
245
|
- Text content comes back as a string (or under `text` when there is more).
|
|
235
246
|
- `structuredContent` passes through as `structured`.
|
|
236
247
|
- **Images, audio, and binary resources are written into the agent's
|
|
237
|
-
workspace** (`~/.stratus/
|
|
238
|
-
under `files` — the key channels deliver as attachments, so an
|
|
239
|
-
a bridged tool reaches Slack like a screenshot does. Each such
|
|
240
|
-
server's bytes on disk, so it is recorded in the agent's
|
|
241
|
-
provenance ledger at `external` before it is written — the
|
|
242
|
-
`@stratusagent/tool-fs` reads
|
|
243
|
-
|
|
244
|
-
|
|
248
|
+
workspace** (`~/.stratus/agents/<agent>/workspace/mcp/<server>/`) and
|
|
249
|
+
returned under `files` — the key channels deliver as attachments, so an
|
|
250
|
+
image from a bridged tool reaches Slack like a screenshot does. Each such
|
|
251
|
+
file is a server's bytes on disk, so it is recorded in the agent's
|
|
252
|
+
filesystem provenance ledger at `external` before it is written — the
|
|
253
|
+
same ledger `@stratusagent/tool-fs` reads — and a later `fs.read` of it
|
|
254
|
+
carries the label the tool result did.
|
|
255
|
+
|
|
256
|
+
Where the bytes land and where the record lands are answered separately,
|
|
257
|
+
on purpose. A `workspaceRoot` in this plugin's config block moves the
|
|
258
|
+
output (one directory per agent under the root you name); the ledger
|
|
259
|
+
follows the host's per-agent workspace regardless, because `tool-fs`
|
|
260
|
+
writes that same ledger and `fs.read` consults exactly one — a file
|
|
261
|
+
recorded in a second one reads back as the agent's own words. With
|
|
262
|
+
neither the host's answer nor a `workspaceRoot`, a binary block is
|
|
263
|
+
dropped with a line saying so rather than written somewhere this plugin
|
|
264
|
+
picked.
|
|
245
265
|
- Resource links pass through under `resources`.
|
|
246
266
|
- A result the server marks `isError` fails the call, like any failing tool.
|
|
247
267
|
|
package/dist/index.d.ts
CHANGED
|
@@ -10,8 +10,8 @@ import { type JsonObject, type Plugin } from '@stratusagent/core';
|
|
|
10
10
|
* package.json, because nothing else fails when a release bumps the
|
|
11
11
|
* manifest and leaves the literal behind.
|
|
12
12
|
*/
|
|
13
|
-
export declare const PLUGIN_MCP_VERSION = "0.11.
|
|
14
|
-
export { bridgedToolName, normalizeCallResult, sanitizeToolSegment, SERVER_NAME_PATTERN } from './normalize.ts';
|
|
13
|
+
export declare const PLUGIN_MCP_VERSION = "0.11.5";
|
|
14
|
+
export { BRIDGED_DESCRIPTION_MAX_LENGTH, BRIDGED_RESULT_MAX_LENGTH, BRIDGED_RESULT_MIN_LENGTH, BRIDGED_SCHEMA_MAX_LENGTH, BRIDGED_SCHEMA_MAX_DEPTH, BRIDGED_SEGMENT_MAX_LENGTH, boundedResultLimit, boundServerText, bridgedDescription, bridgedSchema, bridgedToolName, normalizeCallResult, sanitizeToolSegment, SERVER_NAME_PATTERN, } from './normalize.ts';
|
|
15
15
|
export { sealedStdioEnv, pathGrant, resolveCommandPath };
|
|
16
16
|
/** What one configured server looks like once its block has been read. */
|
|
17
17
|
export interface McpServerSpec {
|
|
@@ -34,6 +34,14 @@ export interface McpServerSpec {
|
|
|
34
34
|
headers: Record<string, string>;
|
|
35
35
|
connectTimeoutMs: number;
|
|
36
36
|
callTimeoutMs: number;
|
|
37
|
+
/**
|
|
38
|
+
* The cap on one result's text, in characters — see
|
|
39
|
+
* `BRIDGED_RESULT_MAX_LENGTH` in `./normalize.ts` for the number and the
|
|
40
|
+
* reason. Per server because that is where the operator already tunes a
|
|
41
|
+
* server's behavior, and because one verbose server should not force the
|
|
42
|
+
* cap up for the rest.
|
|
43
|
+
*/
|
|
44
|
+
maxResultChars: number;
|
|
37
45
|
}
|
|
38
46
|
export interface McpPluginOptions {
|
|
39
47
|
/** The environment `passEnv` grants *from*. Defaults to the daemon's. */
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAK/E,OAAO,EAGL,KAAK,UAAU,EAEf,KAAK,MAAM,EAIZ,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAC;AAK/E,OAAO,EAGL,KAAK,UAAU,EAEf,KAAK,MAAM,EAIZ,MAAM,oBAAoB,CAAC;AAmB5B;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;AAiCzD,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC/B;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACvE;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AA0FD;;;;;;;GAOG;AACH,QAAA,MAAM,SAAS,GACb,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,WAAU,MAAM,CAAC,QAA2B,KAC3C,MAAM,GAAG,SAGX,CAAC;AA4MF;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,cAAc,GAClB,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,WAAU,MAAM,CAAC,QAA2B,KAC3C,MAAM,CAAC,MAAM,EAAE,MAAM,CAgDvB,CAAC;AAwFF;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,kBAAkB,GACtB,SAAS,MAAM,EACf,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,WAAU,MAAM,CAAC,QAA2B,EAC5C,OAAM,MAAsB,KAC3B,MAAM,GAAG,SAqBX,CAAC;AAgGF,eAAO,MAAM,eAAe,GAAI,SAAQ,UAAe,EAAE,UAAS,gBAAqB,KAAG,MAqezF,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,YAAY,GAAI,QAAQ,UAAU,KAAG,MAAiC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,8 +5,8 @@ import { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';
|
|
|
5
5
|
import { accessSync, constants, statSync } from 'node:fs';
|
|
6
6
|
import { join, resolve } from 'node:path';
|
|
7
7
|
import { DEFAULT_SUBPROCESS_PASS_ENV, } from '@stratusagent/core';
|
|
8
|
-
import { createFileLedger } from '@stratusagent/plugins';
|
|
9
|
-
import { bridgedToolName, normalizeCallResult, sanitizeToolSegment, SERVER_NAME_PATTERN, } from "./normalize.js";
|
|
8
|
+
import { createFileLedger, workspacePreparer, workspaceResolver } from '@stratusagent/plugins';
|
|
9
|
+
import { boundServerText, bridgedToolName, normalizeCallResult, sanitizeToolSegment, SERVER_NAME_PATTERN, bridgedDescription, bridgedSchema, BRIDGED_RESULT_MAX_LENGTH, BRIDGED_SCHEMA_MAX_LENGTH, BRIDGED_SCHEMA_MAX_DEPTH, BRIDGED_SEGMENT_MAX_LENGTH, boundedResultLimit, } from "./normalize.js";
|
|
10
10
|
/**
|
|
11
11
|
* What this client tells an MCP server it is. Moves with the package
|
|
12
12
|
* manifests on a release, like CLI_VERSION and CONTROL_API_VERSION — a
|
|
@@ -17,8 +17,8 @@ import { bridgedToolName, normalizeCallResult, sanitizeToolSegment, SERVER_NAME_
|
|
|
17
17
|
* package.json, because nothing else fails when a release bumps the
|
|
18
18
|
* manifest and leaves the literal behind.
|
|
19
19
|
*/
|
|
20
|
-
export const PLUGIN_MCP_VERSION = '0.11.
|
|
21
|
-
export { bridgedToolName, normalizeCallResult, sanitizeToolSegment, SERVER_NAME_PATTERN } from "./normalize.js";
|
|
20
|
+
export const PLUGIN_MCP_VERSION = '0.11.5';
|
|
21
|
+
export { BRIDGED_DESCRIPTION_MAX_LENGTH, BRIDGED_RESULT_MAX_LENGTH, BRIDGED_RESULT_MIN_LENGTH, BRIDGED_SCHEMA_MAX_LENGTH, BRIDGED_SCHEMA_MAX_DEPTH, BRIDGED_SEGMENT_MAX_LENGTH, boundedResultLimit, boundServerText, bridgedDescription, bridgedSchema, bridgedToolName, normalizeCallResult, sanitizeToolSegment, SERVER_NAME_PATTERN, } from "./normalize.js";
|
|
22
22
|
export { sealedStdioEnv, pathGrant, resolveCommandPath };
|
|
23
23
|
/**
|
|
24
24
|
* The MCP bridge: mounts Model Context Protocol servers as Stratus tools.
|
|
@@ -72,7 +72,22 @@ const asStringRecord = (value, where) => {
|
|
|
72
72
|
}
|
|
73
73
|
return record;
|
|
74
74
|
};
|
|
75
|
-
|
|
75
|
+
/**
|
|
76
|
+
* A positive number from a config block, or the default. Shared by the two
|
|
77
|
+
* timeouts and by `maxResultChars`: all three mean "a bound the operator
|
|
78
|
+
* may move", and for all three a `0`, a negative, or a non-number is a
|
|
79
|
+
* value that would remove the bound rather than set it — which is never
|
|
80
|
+
* what a config key on somebody else's server should be able to say.
|
|
81
|
+
*/
|
|
82
|
+
const asPositiveNumber = (value, fallback) => typeof value === 'number' && Number.isFinite(value) && value > 0 ? value : fallback;
|
|
83
|
+
/**
|
|
84
|
+
* The same, for a bound that is counted rather than measured. A fractional
|
|
85
|
+
* millisecond is a harmless way to say a timeout, but a fractional
|
|
86
|
+
* character is not a number of characters — and it reaches code that
|
|
87
|
+
* counts up to it one character at a time, where "400.5" is a target no
|
|
88
|
+
* integer ever hits.
|
|
89
|
+
*/
|
|
90
|
+
const asPositiveInteger = (value, fallback) => typeof value === 'number' && Number.isInteger(value) && value > 0 ? value : fallback;
|
|
76
91
|
const asStringArray = (value, where) => {
|
|
77
92
|
if (value === undefined) {
|
|
78
93
|
return undefined;
|
|
@@ -192,8 +207,16 @@ const resolveServerSpec = (name, block, processEnv) => {
|
|
|
192
207
|
env,
|
|
193
208
|
...(url !== undefined ? { url } : {}),
|
|
194
209
|
headers: asStringRecord(block.headers, `${where}.headers`),
|
|
195
|
-
connectTimeoutMs:
|
|
196
|
-
callTimeoutMs:
|
|
210
|
+
connectTimeoutMs: asPositiveNumber(block.connectTimeoutMs, DEFAULT_CONNECT_TIMEOUT_MS),
|
|
211
|
+
callTimeoutMs: asPositiveNumber(block.callTimeoutMs, DEFAULT_CALL_TIMEOUT_MS),
|
|
212
|
+
// A `0`, a negative, or a fraction is not "no cap" — see
|
|
213
|
+
// `asPositiveInteger`. The one thing this must not be is switchable off
|
|
214
|
+
// from a config key, since a server that wanted the cap gone is the
|
|
215
|
+
// server it exists for.
|
|
216
|
+
// Through `boundedResultLimit` so the floor reaches everything this
|
|
217
|
+
// spec feeds, the protocol-error path included — that one bounds its
|
|
218
|
+
// message directly and never passes through `normalizeCallResult`.
|
|
219
|
+
maxResultChars: boundedResultLimit(asPositiveInteger(block.maxResultChars, BRIDGED_RESULT_MAX_LENGTH)),
|
|
197
220
|
};
|
|
198
221
|
};
|
|
199
222
|
/**
|
|
@@ -530,11 +553,20 @@ export const createMcpPlugin = (config = {}, options = {}) => {
|
|
|
530
553
|
?? ((attempt) => Math.min(RECONNECT_INITIAL_DELAY_MS * 2 ** attempt, RECONNECT_MAX_DELAY_MS));
|
|
531
554
|
const workspaceRoot = typeof config.workspaceRoot === 'string' ? config.workspaceRoot : undefined;
|
|
532
555
|
// The same ledger `tool-fs` reads, so a server's image or audio block
|
|
533
|
-
// written here reads back labelled there
|
|
534
|
-
//
|
|
535
|
-
//
|
|
536
|
-
|
|
537
|
-
|
|
556
|
+
// written here reads back labelled there — and a *different* location
|
|
557
|
+
// from the artifacts it records. An operator may point this plugin's
|
|
558
|
+
// output at a volume of their own (`workspaceRoot`); the ledger follows
|
|
559
|
+
// the host's `workspaces` seam regardless, because `tool-fs` writes the
|
|
560
|
+
// same one and `fs.read` consults exactly one — a file recorded in a
|
|
561
|
+
// second ledger reads back unlabelled. `ledgerRoot` and `workspaceRoot`
|
|
562
|
+
// are the fallback for a host that wires this plugin by hand and has no
|
|
563
|
+
// layout to offer.
|
|
564
|
+
//
|
|
565
|
+
// Both resolvers are built in `setup`, because the seam arrives with the
|
|
566
|
+
// context; this holds only what config said.
|
|
567
|
+
const handWiredLedgerRoot = typeof config.ledgerRoot === 'string' ? config.ledgerRoot : workspaceRoot;
|
|
568
|
+
let workspaceFor;
|
|
569
|
+
let ledger;
|
|
538
570
|
if (!isObject(config.servers)) {
|
|
539
571
|
throw new McpConfigError('plugins["@stratusagent/plugin-mcp"] needs a "servers" object — one entry per MCP server, keyed by the name its tools mount under.');
|
|
540
572
|
}
|
|
@@ -553,7 +585,10 @@ export const createMcpPlugin = (config = {}, options = {}) => {
|
|
|
553
585
|
let disposed = false;
|
|
554
586
|
const proxyTool = (state, registeredName, info) => ({
|
|
555
587
|
name: registeredName,
|
|
556
|
-
|
|
588
|
+
// The fallback is built from the server's tool name, which the SDK
|
|
589
|
+
// accepts as any string — bounded the same way, or a nameless tool's
|
|
590
|
+
// name is the description a server writes.
|
|
591
|
+
description: info.description ?? bridgedDescription(`Tool ${info.mcpName} on the MCP server ${state.spec.name}.`),
|
|
557
592
|
...(info.parameters ? { parameters: info.parameters } : {}),
|
|
558
593
|
// No risk claim, deliberately: what a bridged tool registers at is the
|
|
559
594
|
// namespace's declared risk (and any operator override), applied by
|
|
@@ -596,16 +631,34 @@ export const createMcpPlugin = (config = {}, options = {}) => {
|
|
|
596
631
|
// "Connection closed" is all the SDK says about a request the
|
|
597
632
|
// transport died under. When the transport said why, say so here,
|
|
598
633
|
// where the agent reads it.
|
|
634
|
+
//
|
|
635
|
+
// Bounded on the way out, both of them. A `tools/call` that fails
|
|
636
|
+
// at the protocol level never produces a result for
|
|
637
|
+
// `normalizeCallResult` to cap: a JSON-RPC error arrives as an
|
|
638
|
+
// `McpError` whose message the server wrote, and a transport
|
|
639
|
+
// failure can carry an HTTP body. Both reach the agent as a thrown
|
|
640
|
+
// message, which `DefaultExecutor` copies into `ToolResult.error`
|
|
641
|
+
// — persisted on the session and replayed to the provider on every
|
|
642
|
+
// later turn, exactly like output. Failing must not be a wider
|
|
643
|
+
// channel into the transcript than answering.
|
|
644
|
+
const described = error instanceof Error ? error.message : String(error);
|
|
645
|
+
const limit = state.spec.maxResultChars;
|
|
599
646
|
if (isConnectionFailure(error) && state.closeCause !== undefined) {
|
|
600
|
-
throw new Error(`${
|
|
647
|
+
throw new Error(boundServerText(`${described} — ${state.closeCause}`, limit, 'error message'));
|
|
601
648
|
}
|
|
602
|
-
throw error;
|
|
649
|
+
throw new Error(boundServerText(described, limit, 'error message'));
|
|
603
650
|
}
|
|
651
|
+
// The resolver, not its answer: resolving creates the workspace and
|
|
652
|
+
// settles its permissions, and a text-only result must not be
|
|
653
|
+
// reported as a failure over a directory it never needed — the remote
|
|
654
|
+
// call has already happened, and a retry does the side effect twice.
|
|
655
|
+
const resolve = workspaceFor;
|
|
604
656
|
return normalizeCallResult(result, {
|
|
605
657
|
server: state.spec.name,
|
|
606
658
|
tool: info.mcpName,
|
|
607
659
|
agentId: session.agent.id,
|
|
608
|
-
|
|
660
|
+
maxResultChars: state.spec.maxResultChars,
|
|
661
|
+
...(resolve !== undefined ? { workspace: () => resolve(session.agent.id) } : {}),
|
|
609
662
|
...(ledger !== undefined ? { ledger } : {}),
|
|
610
663
|
});
|
|
611
664
|
},
|
|
@@ -650,11 +703,40 @@ export const createMcpPlugin = (config = {}, options = {}) => {
|
|
|
650
703
|
}
|
|
651
704
|
const next = new Map();
|
|
652
705
|
for (const tool of advertised) {
|
|
706
|
+
// A name too long to bridge leaves that one tool unbridged, named by
|
|
707
|
+
// its length rather than in full — quoting three thousand characters
|
|
708
|
+
// back into the log would be the attack succeeding one line lower.
|
|
709
|
+
// Judged on the name as the server wrote it, ahead of the segment
|
|
710
|
+
// refusal below: that refusal quotes the name and takes the whole
|
|
711
|
+
// plugin down, so a long name of nothing but characters the segment
|
|
712
|
+
// drops (sixty-five emoji) would otherwise reach it and do both.
|
|
713
|
+
if (Array.from(tool.name).length > BRIDGED_SEGMENT_MAX_LENGTH) {
|
|
714
|
+
warn(`mcp server ${state.spec.name}: a tool whose name is ${Array.from(tool.name).length} characters long was not bridged: `
|
|
715
|
+
+ `a name may be at most ${BRIDGED_SEGMENT_MAX_LENGTH} characters, because it is sent as the tool's name in every `
|
|
716
|
+
+ 'model request. Shorten it on the server.');
|
|
717
|
+
continue;
|
|
718
|
+
}
|
|
653
719
|
const segment = sanitizeToolSegment(tool.name);
|
|
654
720
|
if (segment === undefined) {
|
|
655
721
|
throw new McpConfigError(`MCP server ${state.spec.name} advertises a tool named ${JSON.stringify(tool.name)}, which leaves nothing usable as a name segment.`);
|
|
656
722
|
}
|
|
657
723
|
const registered = bridgedToolName(state.spec.name, segment);
|
|
724
|
+
// The schema's own prose is bounded the way the description is. A
|
|
725
|
+
// schema too long even then leaves that one tool unbridged, named in
|
|
726
|
+
// the log — not the server refused, and not the plugin: registrations
|
|
727
|
+
// are staged until setup succeeds, so a load-time throw here would
|
|
728
|
+
// take every tool of every configured server down over one page of
|
|
729
|
+
// parameters. The server's to shorten; everything else keeps working.
|
|
730
|
+
// Judged before the collision check below, so a tool that will not
|
|
731
|
+
// be bridged cannot collide with one that will: the order the server
|
|
732
|
+
// lists them in must not decide whether the whole plugin loads.
|
|
733
|
+
const parameters = isObject(tool.inputSchema) ? bridgedSchema(tool.inputSchema) : undefined;
|
|
734
|
+
if (isObject(tool.inputSchema) && parameters === undefined) {
|
|
735
|
+
warn(`mcp server ${state.spec.name}: ${registered} was not bridged: its input schema is longer than `
|
|
736
|
+
+ `${BRIDGED_SCHEMA_MAX_LENGTH} characters once its descriptions are bounded, or nests deeper than `
|
|
737
|
+
+ `${BRIDGED_SCHEMA_MAX_DEPTH} levels, and a schema like that is a page, not a parameter list. Shorten it on the server.`);
|
|
738
|
+
continue;
|
|
739
|
+
}
|
|
658
740
|
if (next.has(registered)) {
|
|
659
741
|
// Folding two of the server's names into one registered name would
|
|
660
742
|
// make the second silently answer calls meant for the first —
|
|
@@ -663,8 +745,8 @@ export const createMcpPlugin = (config = {}, options = {}) => {
|
|
|
663
745
|
}
|
|
664
746
|
next.set(registered, {
|
|
665
747
|
mcpName: tool.name,
|
|
666
|
-
...(typeof tool.description === 'string' ? { description: tool.description } : {}),
|
|
667
|
-
...(
|
|
748
|
+
...(typeof tool.description === 'string' ? { description: bridgedDescription(tool.description) } : {}),
|
|
749
|
+
...(parameters !== undefined ? { parameters: parameters } : {}),
|
|
668
750
|
});
|
|
669
751
|
}
|
|
670
752
|
for (const registered of state.tools.keys()) {
|
|
@@ -845,6 +927,21 @@ export const createMcpPlugin = (config = {}, options = {}) => {
|
|
|
845
927
|
name: '@stratusagent/plugin-mcp',
|
|
846
928
|
async setup(context) {
|
|
847
929
|
view = context.tools;
|
|
930
|
+
// Where the bytes land: the operator's `workspaceRoot` if they wrote
|
|
931
|
+
// one, else the host's layout — see `workspaceResolver`. Without
|
|
932
|
+
// either, a binary block is dropped with a line saying so rather
|
|
933
|
+
// than written somewhere this plugin chose.
|
|
934
|
+
// Prepared rather than resolved: this one is only ever asked when a
|
|
935
|
+
// binary block is about to be written.
|
|
936
|
+
workspaceFor = workspacePreparer(context.workspaces, workspaceRoot);
|
|
937
|
+
// Where the record of them lands: the host's seam wins here, so
|
|
938
|
+
// relocating the output cannot fork the ledger.
|
|
939
|
+
const ledgerRoot = context.workspaces === undefined ? handWiredLedgerRoot : undefined;
|
|
940
|
+
const ledgerWorkspaceFor = workspaceResolver(context.workspaces, ledgerRoot);
|
|
941
|
+
const ledgerPrepareFor = workspacePreparer(context.workspaces, ledgerRoot);
|
|
942
|
+
ledger = ledgerWorkspaceFor !== undefined && ledgerPrepareFor !== undefined
|
|
943
|
+
? createFileLedger(ledgerWorkspaceFor, ledgerPrepareFor)
|
|
944
|
+
: undefined;
|
|
848
945
|
if (options.log === undefined && context.log !== undefined) {
|
|
849
946
|
log = boundedSink(context.log);
|
|
850
947
|
}
|
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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"}
|