@getmarrow/mcp 3.9.57 → 3.9.59
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 +32 -10
- package/dist/cli.js +72 -32
- package/dist/cli.js.map +1 -1
- package/dist/control-path-state.d.ts +14 -0
- package/dist/control-path-state.d.ts.map +1 -0
- package/dist/control-path-state.js +46 -0
- package/dist/control-path-state.js.map +1 -0
- package/dist/env.js +1 -1
- package/dist/env.js.map +1 -1
- package/dist/hook-context.d.ts +1 -1
- package/dist/hook-context.d.ts.map +1 -1
- package/dist/hook-context.js +3 -3
- package/dist/hook-context.js.map +1 -1
- package/dist/hook-contract.d.ts +6 -6
- package/dist/hook-contract.d.ts.map +1 -1
- package/dist/hook-contract.js +6 -6
- package/dist/hook-contract.js.map +1 -1
- package/dist/hook-session.d.ts +1 -1
- package/dist/hook-session.d.ts.map +1 -1
- package/dist/hook.d.ts +1 -1
- package/dist/hook.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lifecycle-spool.d.ts.map +1 -1
- package/dist/lifecycle-spool.js +8 -7
- package/dist/lifecycle-spool.js.map +1 -1
- package/dist/ping-state.d.ts +1 -0
- package/dist/ping-state.d.ts.map +1 -1
- package/dist/ping-state.js +7 -0
- package/dist/ping-state.js.map +1 -1
- package/dist/request-reliability.d.ts +1 -1
- package/dist/request-reliability.d.ts.map +1 -1
- package/dist/request-reliability.js +29 -19
- package/dist/request-reliability.js.map +1 -1
- package/package.json +1 -1
- package/scripts/control-path-canary.cjs +221 -81
- package/server.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-reliability.js","sourceRoot":"","sources":["../src/request-reliability.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"request-reliability.js","sourceRoot":"","sources":["../src/request-reliability.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const {
|
|
2
|
+
const { spawn } = require('node:child_process');
|
|
3
|
+
const { performance } = require('node:perf_hooks');
|
|
3
4
|
const { resolve } = require('node:path');
|
|
4
5
|
const { version: packageVersion } = require('../package.json');
|
|
5
6
|
|
|
6
|
-
const key = process.env.MARROW_API_KEY || '';
|
|
7
|
-
if (!key) {
|
|
8
|
-
process.stderr.write('MARROW_API_KEY is required for the authenticated MCP control-path canary.\n');
|
|
9
|
-
process.exit(2);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
7
|
const cases = [
|
|
13
8
|
['marrow_status', {}],
|
|
14
9
|
['marrow_runtime_status', { fast: true }],
|
|
@@ -22,19 +17,36 @@ const cases = [
|
|
|
22
17
|
['marrow_fleet_lessons', { query: 'safe release verification', limit: 3 }],
|
|
23
18
|
];
|
|
24
19
|
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
const HOT_PATH_TOOLS = new Set([
|
|
21
|
+
'marrow_status',
|
|
22
|
+
'marrow_runtime_status',
|
|
23
|
+
'marrow_orient',
|
|
24
|
+
'marrow_ask',
|
|
25
|
+
'marrow_agent_runtime',
|
|
26
|
+
]);
|
|
27
|
+
const OUTPUT_LIMIT_BYTES = 256 * 1024;
|
|
28
|
+
|
|
29
|
+
function boundedMs(name, fallback, minimum = 100, maximum = 10_000, env = process.env) {
|
|
30
|
+
const parsed = Number(env[name] || fallback);
|
|
27
31
|
return Number.isFinite(parsed) ? Math.max(minimum, Math.min(maximum, Math.floor(parsed))) : fallback;
|
|
28
32
|
}
|
|
29
33
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
function percentile(values, quantile) {
|
|
35
|
+
if (!values.length) return null;
|
|
36
|
+
const ordered = [...values].sort((a, b) => a - b);
|
|
37
|
+
return ordered[Math.max(0, Math.ceil(quantile * ordered.length) - 1)];
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function latencyGroup(rows) {
|
|
41
|
+
const values = rows.map((row) => row.latency_ms);
|
|
42
|
+
return {
|
|
43
|
+
count: values.length,
|
|
44
|
+
p50_ms: percentile(values, 0.5),
|
|
45
|
+
p95_ms: percentile(values, 0.95),
|
|
46
|
+
p99_ms: percentile(values, 0.99),
|
|
47
|
+
max_ms: values.length ? Math.max(...values) : null,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
38
50
|
|
|
39
51
|
function toolPayload(message, name) {
|
|
40
52
|
if (!message) throw new Error(`${name} returned no MCP tool response`);
|
|
@@ -95,72 +107,200 @@ function validatePayload(name, payload) {
|
|
|
95
107
|
}
|
|
96
108
|
}
|
|
97
109
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
110
|
+
class PersistentMcpClient {
|
|
111
|
+
constructor(input) {
|
|
112
|
+
this.command = input.command;
|
|
113
|
+
this.args = input.args;
|
|
114
|
+
this.env = input.env;
|
|
115
|
+
this.timeoutMs = input.timeoutMs;
|
|
116
|
+
this.spawnProcess = input.spawnProcess || spawn;
|
|
117
|
+
this.maxOutputBytes = input.maxOutputBytes || OUTPUT_LIMIT_BYTES;
|
|
118
|
+
this.nextId = 1;
|
|
119
|
+
this.pending = new Map();
|
|
120
|
+
this.stdoutBuffer = '';
|
|
121
|
+
this.stderrBytes = 0;
|
|
122
|
+
this.closed = false;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
start() {
|
|
126
|
+
if (this.child) return;
|
|
127
|
+
this.child = this.spawnProcess(this.command, this.args, {
|
|
128
|
+
env: this.env,
|
|
129
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
130
|
+
});
|
|
131
|
+
this.child.stdout.setEncoding('utf8');
|
|
132
|
+
this.child.stdout.on('data', (chunk) => this.onStdout(chunk));
|
|
133
|
+
this.child.stderr.on('data', (chunk) => {
|
|
134
|
+
this.stderrBytes += Buffer.byteLength(chunk);
|
|
135
|
+
if (this.stderrBytes > this.maxOutputBytes) this.abort(new Error('MCP child exceeded stderr limit'));
|
|
136
|
+
});
|
|
137
|
+
this.child.once('error', (error) => this.abort(new Error(`MCP child failed: ${error.code || 'process_error'}`)));
|
|
138
|
+
this.child.once('exit', (code, signal) => {
|
|
139
|
+
this.closed = true;
|
|
140
|
+
if (this.pending.size > 0) this.rejectAll(new Error(`MCP child exited ${code ?? signal ?? 'unknown'}`));
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
onStdout(chunk) {
|
|
145
|
+
this.stdoutBuffer += chunk;
|
|
146
|
+
if (Buffer.byteLength(this.stdoutBuffer) > this.maxOutputBytes) {
|
|
147
|
+
this.abort(new Error('MCP child exceeded stdout limit'));
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
for (;;) {
|
|
151
|
+
const newline = this.stdoutBuffer.indexOf('\n');
|
|
152
|
+
if (newline < 0) break;
|
|
153
|
+
const line = this.stdoutBuffer.slice(0, newline).trim();
|
|
154
|
+
this.stdoutBuffer = this.stdoutBuffer.slice(newline + 1);
|
|
155
|
+
if (!line) continue;
|
|
156
|
+
let message;
|
|
157
|
+
try { message = JSON.parse(line); } catch {
|
|
158
|
+
this.abort(new Error('MCP child emitted malformed JSON'));
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
if (!Number.isSafeInteger(message.id)) continue;
|
|
162
|
+
const pending = this.pending.get(message.id);
|
|
163
|
+
if (!pending) {
|
|
164
|
+
this.abort(new Error(`MCP child returned unexpected response id ${message.id}`));
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
clearTimeout(pending.timer);
|
|
168
|
+
this.pending.delete(message.id);
|
|
169
|
+
pending.resolve(message);
|
|
170
|
+
}
|
|
124
171
|
}
|
|
125
|
-
if (child.status !== 0) throw new Error(`${name} MCP child exited ${child.status ?? 'unknown'}`);
|
|
126
|
-
const messages = String(child.stdout || '').trim().split('\n').filter(Boolean).map((line) => {
|
|
127
|
-
try { return JSON.parse(line); } catch { throw new Error(`${name} emitted non-JSON stdout`); }
|
|
128
|
-
});
|
|
129
|
-
const initialized = messages.find((message) => message.id === 1);
|
|
130
|
-
const listed = messages.find((message) => message.id === 2);
|
|
131
|
-
const called = messages.find((message) => message.id === 3);
|
|
132
|
-
const version = initialized?.result?.serverInfo?.version;
|
|
133
|
-
if (!version) throw new Error(`${name} MCP initialize produced no version`);
|
|
134
|
-
const names = new Set((listed?.result?.tools || []).map((tool) => tool.name));
|
|
135
|
-
if (!names.has(name)) throw new Error(`${name} is missing from the full MCP contract`);
|
|
136
|
-
const payload = toolPayload(called, name);
|
|
137
|
-
validatePayload(name, payload);
|
|
138
|
-
const live = payload.stale !== true && payload.source !== 'last_known' && payload.available !== false;
|
|
139
|
-
if (!live) throw new Error(`${name} returned cached or unavailable guidance`);
|
|
140
|
-
return { tool: name, ok: true, live: true, latency_ms: latencyMs, package_version: version };
|
|
141
|
-
}
|
|
142
172
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
173
|
+
request(method, params = {}, timeoutMs = this.timeoutMs) {
|
|
174
|
+
if (!this.child || this.closed || !this.child.stdin.writable) {
|
|
175
|
+
return Promise.reject(new Error('MCP child is not writable'));
|
|
176
|
+
}
|
|
177
|
+
const id = this.nextId++;
|
|
178
|
+
return new Promise((resolveRequest, rejectRequest) => {
|
|
179
|
+
const timer = setTimeout(() => {
|
|
180
|
+
this.pending.delete(id);
|
|
181
|
+
const error = new Error(`${method} timed out`);
|
|
182
|
+
rejectRequest(error);
|
|
183
|
+
this.abort(error);
|
|
184
|
+
}, timeoutMs);
|
|
185
|
+
this.pending.set(id, { resolve: resolveRequest, reject: rejectRequest, timer });
|
|
186
|
+
this.child.stdin.write(`${JSON.stringify({ jsonrpc: '2.0', id, method, params })}\n`, (error) => {
|
|
187
|
+
if (!error) return;
|
|
188
|
+
clearTimeout(timer);
|
|
189
|
+
this.pending.delete(id);
|
|
190
|
+
rejectRequest(new Error(`${method} write failed`));
|
|
191
|
+
this.abort(error);
|
|
192
|
+
});
|
|
193
|
+
});
|
|
149
194
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
195
|
+
|
|
196
|
+
rejectAll(error) {
|
|
197
|
+
for (const pending of this.pending.values()) {
|
|
198
|
+
clearTimeout(pending.timer);
|
|
199
|
+
pending.reject(error);
|
|
200
|
+
}
|
|
201
|
+
this.pending.clear();
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
abort(error) {
|
|
205
|
+
this.rejectAll(error instanceof Error ? error : new Error('MCP child aborted'));
|
|
206
|
+
if (this.child && !this.closed) this.child.kill('SIGKILL');
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
async stop() {
|
|
210
|
+
if (!this.child || this.closed) return;
|
|
211
|
+
this.child.stdin.end();
|
|
212
|
+
await new Promise((resolveExit) => {
|
|
213
|
+
const timer = setTimeout(() => {
|
|
214
|
+
if (!this.closed) this.child.kill('SIGKILL');
|
|
215
|
+
resolveExit();
|
|
216
|
+
}, 500);
|
|
217
|
+
this.child.once('exit', () => {
|
|
218
|
+
clearTimeout(timer);
|
|
219
|
+
resolveExit();
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
async function runCanary(env = process.env, options = {}) {
|
|
226
|
+
const key = env.MARROW_API_KEY || '';
|
|
227
|
+
if (!key) throw new Error('MARROW_API_KEY is required for the authenticated MCP control-path canary');
|
|
228
|
+
const transportTimeoutMs = boundedMs('MARROW_REQUEST_TIMEOUT_MS', 2_500, 250, 10_000, env);
|
|
229
|
+
const totalTimeoutMs = boundedMs('MARROW_MCP_CANARY_TOTAL_TIMEOUT_MS', 30_000, 2_000, 60_000, env);
|
|
230
|
+
const expectedVersion = env.MARROW_EXPECTED_MCP_VERSION || packageVersion;
|
|
231
|
+
const childPath = env.MARROW_MCP_CANARY_CHILD || resolve(__dirname, '../dist/cli.js');
|
|
232
|
+
const childEnv = {
|
|
233
|
+
...env,
|
|
234
|
+
MARROW_API_KEY: key,
|
|
235
|
+
MARROW_BASE_URL: env.MARROW_BASE_URL || 'https://api.getmarrow.ai',
|
|
236
|
+
MARROW_AUTO_ENROLL: 'false',
|
|
237
|
+
MARROW_TOOL_PROFILE: 'full',
|
|
238
|
+
MARROW_CONTROL_PATH_CANARY: '1',
|
|
239
|
+
MARROW_REQUEST_TIMEOUT_MS: String(transportTimeoutMs),
|
|
240
|
+
};
|
|
241
|
+
delete childEnv.NODE_TEST_CONTEXT;
|
|
242
|
+
const client = new PersistentMcpClient({
|
|
243
|
+
command: process.execPath,
|
|
244
|
+
args: [childPath],
|
|
245
|
+
timeoutMs: transportTimeoutMs,
|
|
246
|
+
env: childEnv,
|
|
247
|
+
spawnProcess: options.spawnProcess,
|
|
248
|
+
});
|
|
249
|
+
const totalTimer = setTimeout(() => client.abort(new Error('MCP canary total timeout')), totalTimeoutMs);
|
|
250
|
+
const processStarted = performance.now();
|
|
251
|
+
client.start();
|
|
252
|
+
try {
|
|
253
|
+
const initialized = await client.request('initialize', {}, transportTimeoutMs + 3_000);
|
|
254
|
+
if (initialized.error) throw new Error(`MCP initialize failed ${initialized.error.code}`);
|
|
255
|
+
const version = initialized.result?.serverInfo?.version;
|
|
256
|
+
if (!version) throw new Error('MCP initialize produced no version');
|
|
257
|
+
if (version !== expectedVersion) throw new Error(`MCP canary loaded ${version} instead of expected ${expectedVersion}`);
|
|
258
|
+
const listed = await client.request('tools/list', {});
|
|
259
|
+
if (listed.error) throw new Error(`MCP tools/list failed ${listed.error.code}`);
|
|
260
|
+
const names = new Set((listed.result?.tools || []).map((tool) => tool.name));
|
|
261
|
+
for (const [name] of cases) {
|
|
262
|
+
if (!names.has(name)) throw new Error(`${name} is missing from the full MCP contract`);
|
|
263
|
+
}
|
|
264
|
+
const initializationMs = Math.round(performance.now() - processStarted);
|
|
265
|
+
const results = [];
|
|
266
|
+
for (const [name, args] of cases) {
|
|
267
|
+
const callStarted = performance.now();
|
|
268
|
+
const called = await client.request('tools/call', { name, arguments: args });
|
|
269
|
+
const latencyMs = Math.round(performance.now() - callStarted);
|
|
270
|
+
const payload = toolPayload(called, name);
|
|
271
|
+
validatePayload(name, payload);
|
|
272
|
+
const live = payload.stale !== true && payload.source !== 'last_known' && payload.available !== false;
|
|
273
|
+
if (!live) throw new Error(`${name} returned cached or unavailable guidance`);
|
|
274
|
+
results.push({ tool: name, ok: true, live: true, latency_ms: latencyMs });
|
|
275
|
+
}
|
|
276
|
+
const hotPath = results.filter((row) => HOT_PATH_TOOLS.has(row.tool));
|
|
277
|
+
const reports = results.filter((row) => !HOT_PATH_TOOLS.has(row.tool));
|
|
278
|
+
return {
|
|
279
|
+
ok: true,
|
|
280
|
+
package_version: version,
|
|
281
|
+
process_count: 1,
|
|
282
|
+
initialization_ms: initializationMs,
|
|
283
|
+
per_tool_latency_excludes_initialization: true,
|
|
284
|
+
tools_checked: results.length,
|
|
285
|
+
latency_groups: {
|
|
286
|
+
hot_path: latencyGroup(hotPath),
|
|
287
|
+
reports: latencyGroup(reports),
|
|
288
|
+
},
|
|
289
|
+
results,
|
|
290
|
+
};
|
|
291
|
+
} finally {
|
|
292
|
+
clearTimeout(totalTimer);
|
|
293
|
+
await client.stop();
|
|
154
294
|
}
|
|
155
|
-
process.stdout.write(`${JSON.stringify({
|
|
156
|
-
ok: true,
|
|
157
|
-
package_version: versions[0],
|
|
158
|
-
tools_checked: results.length,
|
|
159
|
-
core_max_ms: Math.max(...core.map((row) => row.latency_ms)),
|
|
160
|
-
latency_within_release_ceiling: !slow,
|
|
161
|
-
results: results.map(({ package_version, ...row }) => row),
|
|
162
|
-
})}\n`);
|
|
163
|
-
} catch (error) {
|
|
164
|
-
process.stderr.write(`MCP_CONTROL_PATH_CANARY=FAIL ${error instanceof Error ? error.message : 'unknown_error'}\n`);
|
|
165
|
-
process.exitCode = 1;
|
|
166
295
|
}
|
|
296
|
+
|
|
297
|
+
if (require.main === module) {
|
|
298
|
+
runCanary().then((result) => {
|
|
299
|
+
process.stdout.write(`${JSON.stringify(result)}\n`);
|
|
300
|
+
}).catch((error) => {
|
|
301
|
+
process.stderr.write(`MCP_CONTROL_PATH_CANARY=FAIL ${error instanceof Error ? error.message : 'unknown_error'}\n`);
|
|
302
|
+
process.exitCode = 1;
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
module.exports = { PersistentMcpClient, latencyGroup, percentile, runCanary };
|
package/server.json
CHANGED
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
"url": "https://github.com/getmarrow/marrow-mcp",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "3.9.
|
|
9
|
+
"version": "3.9.59",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@getmarrow/mcp",
|
|
14
|
-
"version": "3.9.
|
|
14
|
+
"version": "3.9.59",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|