@nexus-cortex/core 4.34.8 → 4.35.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/dist/mcp/McpClient.d.ts +18 -0
- package/dist/mcp/McpClient.d.ts.map +1 -1
- package/dist/mcp/McpClient.js +41 -0
- package/dist/mcp/McpClient.js.map +1 -1
- package/dist/mcp/McpTokenStore.d.ts +31 -0
- package/dist/mcp/McpTokenStore.d.ts.map +1 -0
- package/dist/mcp/McpTokenStore.js +74 -0
- package/dist/mcp/McpTokenStore.js.map +1 -0
- package/package.json +1 -1
package/dist/mcp/McpClient.d.ts
CHANGED
|
@@ -133,6 +133,24 @@ export declare class McpClient {
|
|
|
133
133
|
* attempts exceeded" is NOT recoverable and must surface as ERROR.
|
|
134
134
|
*/
|
|
135
135
|
private isRecoverableStreamError;
|
|
136
|
+
/**
|
|
137
|
+
* Wrap `fetch` so the client REUSES an auto-provisioned key instead of
|
|
138
|
+
* re-provisioning a new one on every connection.
|
|
139
|
+
*
|
|
140
|
+
* Outbound: if we have a persisted token for this server URL and the request
|
|
141
|
+
* carries no explicit `Authorization` (a static subscriber key from
|
|
142
|
+
* `config.headers` always wins), inject it as `Bearer <token>`. This makes the
|
|
143
|
+
* parent, every sub-agent child process, and every reconnect land on the SAME
|
|
144
|
+
* key → same Durable Object → consistent quota.
|
|
145
|
+
*
|
|
146
|
+
* Inbound: capture the server's `X-Mcp-Token` (the auto-provisioned key, or a
|
|
147
|
+
* server-side rotation of an expired/invalid one) and persist it. The client
|
|
148
|
+
* itself NEVER decides to provision — it only sends the persisted token and
|
|
149
|
+
* records whatever the server returns. A depleted free key is therefore
|
|
150
|
+
* rejected with the server's signup message (surfaced via describeError)
|
|
151
|
+
* rather than silently replaced with a fresh free key.
|
|
152
|
+
*/
|
|
153
|
+
private buildTokenAwareFetch;
|
|
136
154
|
/**
|
|
137
155
|
* Build an undici dispatcher with the response body-inactivity timeout
|
|
138
156
|
* disabled (bodyTimeout: 0), so a long-lived idle SSE stream is not
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpClient.d.ts","sourceRoot":"","sources":["../../src/mcp/McpClient.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"McpClient.d.ts","sourceRoot":"","sources":["../../src/mcp/McpClient.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/McpClient.js
CHANGED
|
@@ -9,6 +9,7 @@ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
|
9
9
|
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
|
|
10
10
|
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
|
|
11
11
|
import { logger } from '../utils/logger.js';
|
|
12
|
+
import { getPersistedMcpToken, persistMcpToken } from './McpTokenStore.js';
|
|
12
13
|
/**
|
|
13
14
|
* Format an error with its underlying cause. Node's fetch throws a bare
|
|
14
15
|
* "fetch failed" whose real reason (ECONNRESET, a TLS/cert error, ENOTFOUND,
|
|
@@ -123,6 +124,9 @@ export class McpClient {
|
|
|
123
124
|
...(Object.keys(requestInit).length > 0
|
|
124
125
|
? { requestInit: requestInit }
|
|
125
126
|
: {}),
|
|
127
|
+
// Reuse the auto-provisioned key across every connection (parent,
|
|
128
|
+
// sub-agents, reconnects) instead of re-provisioning a fresh one.
|
|
129
|
+
fetch: this.buildTokenAwareFetch(this.config.url),
|
|
126
130
|
reconnectionOptions: this.getResolvedReconnectionOptions(),
|
|
127
131
|
});
|
|
128
132
|
}
|
|
@@ -371,6 +375,43 @@ export class McpClient {
|
|
|
371
375
|
return false;
|
|
372
376
|
return /sse stream disconnected|failed to reconnect sse|terminated|socket hang ?up|econnreset|etimedout|epipe|other side closed|fetch failed|network|operation was aborted|aborted/i.test(msg);
|
|
373
377
|
}
|
|
378
|
+
/**
|
|
379
|
+
* Wrap `fetch` so the client REUSES an auto-provisioned key instead of
|
|
380
|
+
* re-provisioning a new one on every connection.
|
|
381
|
+
*
|
|
382
|
+
* Outbound: if we have a persisted token for this server URL and the request
|
|
383
|
+
* carries no explicit `Authorization` (a static subscriber key from
|
|
384
|
+
* `config.headers` always wins), inject it as `Bearer <token>`. This makes the
|
|
385
|
+
* parent, every sub-agent child process, and every reconnect land on the SAME
|
|
386
|
+
* key → same Durable Object → consistent quota.
|
|
387
|
+
*
|
|
388
|
+
* Inbound: capture the server's `X-Mcp-Token` (the auto-provisioned key, or a
|
|
389
|
+
* server-side rotation of an expired/invalid one) and persist it. The client
|
|
390
|
+
* itself NEVER decides to provision — it only sends the persisted token and
|
|
391
|
+
* records whatever the server returns. A depleted free key is therefore
|
|
392
|
+
* rejected with the server's signup message (surfaced via describeError)
|
|
393
|
+
* rather than silently replaced with a fresh free key.
|
|
394
|
+
*/
|
|
395
|
+
buildTokenAwareFetch(serverUrl) {
|
|
396
|
+
return (async (input, init = {}) => {
|
|
397
|
+
const headers = new Headers((init && init.headers) || {});
|
|
398
|
+
if (!headers.has('authorization')) {
|
|
399
|
+
const saved = getPersistedMcpToken(serverUrl);
|
|
400
|
+
if (saved)
|
|
401
|
+
headers.set('authorization', `Bearer ${saved}`);
|
|
402
|
+
}
|
|
403
|
+
const response = await fetch(input, { ...init, headers });
|
|
404
|
+
try {
|
|
405
|
+
const minted = response.headers?.get?.('x-mcp-token');
|
|
406
|
+
if (minted)
|
|
407
|
+
persistMcpToken(serverUrl, minted);
|
|
408
|
+
}
|
|
409
|
+
catch {
|
|
410
|
+
/* best-effort token capture */
|
|
411
|
+
}
|
|
412
|
+
return response;
|
|
413
|
+
});
|
|
414
|
+
}
|
|
374
415
|
/**
|
|
375
416
|
* Build an undici dispatcher with the response body-inactivity timeout
|
|
376
417
|
* disabled (bodyTimeout: 0), so a long-lived idle SSE stream is not
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpClient.js","sourceRoot":"","sources":["../../src/mcp/McpClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"McpClient.js","sourceRoot":"","sources":["../../src/mcp/McpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistent MCP token store.
|
|
3
|
+
*
|
|
4
|
+
* Some HTTP MCP servers (notably nexus-browser) auto-provision a free-tier API
|
|
5
|
+
* key on the first anonymous connection and hand it back via the `X-Mcp-Token`
|
|
6
|
+
* response header. If the client discards that token, EVERY subsequent
|
|
7
|
+
* connection — the parent process, every sub-agent child process, every server
|
|
8
|
+
* auto-start, and every reconnect — re-provisions a brand-new key. That:
|
|
9
|
+
* 1. lands on a DIFFERENT Durable Object each time, so quota/session state is
|
|
10
|
+
* fragmented and a long session with many browse calls gets confused;
|
|
11
|
+
* 2. trips the server's per-IP "too many fresh registrations" throttle, which
|
|
12
|
+
* surfaces as an intermittent bare `fetch failed`;
|
|
13
|
+
* 3. defeats the free→paid funnel — a depleted free key should drive the user
|
|
14
|
+
* to sign up for a long-running key, not silently mint another free one.
|
|
15
|
+
*
|
|
16
|
+
* This store persists the provisioned token GLOBALLY (`~/.cortex/.mcp-tokens.json`,
|
|
17
|
+
* keyed by server URL) so the parent and all sub-agent processes reuse the SAME
|
|
18
|
+
* key → same DO → consistent quota. The token is provisioned exactly once; on
|
|
19
|
+
* depletion the server's signup message surfaces instead of a re-provision.
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Return a previously-provisioned token for this server URL, if any.
|
|
23
|
+
*/
|
|
24
|
+
export declare function getPersistedMcpToken(serverUrl: string): string | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Persist a token for this server URL. Best-effort: a write failure (read-only
|
|
27
|
+
* home, permissions) must never break an otherwise-working MCP connection.
|
|
28
|
+
* No-ops when the token is unchanged to avoid pointless disk churn.
|
|
29
|
+
*/
|
|
30
|
+
export declare function persistMcpToken(serverUrl: string, token: string): void;
|
|
31
|
+
//# sourceMappingURL=McpTokenStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"McpTokenStore.d.ts","sourceRoot":"","sources":["../../src/mcp/McpTokenStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA8BH;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI1E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAYtE"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistent MCP token store.
|
|
3
|
+
*
|
|
4
|
+
* Some HTTP MCP servers (notably nexus-browser) auto-provision a free-tier API
|
|
5
|
+
* key on the first anonymous connection and hand it back via the `X-Mcp-Token`
|
|
6
|
+
* response header. If the client discards that token, EVERY subsequent
|
|
7
|
+
* connection — the parent process, every sub-agent child process, every server
|
|
8
|
+
* auto-start, and every reconnect — re-provisions a brand-new key. That:
|
|
9
|
+
* 1. lands on a DIFFERENT Durable Object each time, so quota/session state is
|
|
10
|
+
* fragmented and a long session with many browse calls gets confused;
|
|
11
|
+
* 2. trips the server's per-IP "too many fresh registrations" throttle, which
|
|
12
|
+
* surfaces as an intermittent bare `fetch failed`;
|
|
13
|
+
* 3. defeats the free→paid funnel — a depleted free key should drive the user
|
|
14
|
+
* to sign up for a long-running key, not silently mint another free one.
|
|
15
|
+
*
|
|
16
|
+
* This store persists the provisioned token GLOBALLY (`~/.cortex/.mcp-tokens.json`,
|
|
17
|
+
* keyed by server URL) so the parent and all sub-agent processes reuse the SAME
|
|
18
|
+
* key → same DO → consistent quota. The token is provisioned exactly once; on
|
|
19
|
+
* depletion the server's signup message surfaces instead of a re-provision.
|
|
20
|
+
*/
|
|
21
|
+
import { readFileSync, writeFileSync, mkdirSync } from 'fs';
|
|
22
|
+
import { join, dirname } from 'path';
|
|
23
|
+
import * as os from 'os';
|
|
24
|
+
/**
|
|
25
|
+
* Global token file location. Lives under `~/.cortex/` (NOT the project dir) so
|
|
26
|
+
* that the parent process and every sub-agent child process — which may run with
|
|
27
|
+
* a different cwd — share one token per server.
|
|
28
|
+
*/
|
|
29
|
+
function getTokenStorePath() {
|
|
30
|
+
const home = os.homedir() || process.cwd();
|
|
31
|
+
return join(home, '.cortex', '.mcp-tokens.json');
|
|
32
|
+
}
|
|
33
|
+
function readAll() {
|
|
34
|
+
try {
|
|
35
|
+
const raw = readFileSync(getTokenStorePath(), 'utf8');
|
|
36
|
+
const parsed = JSON.parse(raw);
|
|
37
|
+
return parsed && typeof parsed === 'object' ? parsed : {};
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
// Missing/corrupt file → no persisted tokens yet.
|
|
41
|
+
return {};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Return a previously-provisioned token for this server URL, if any.
|
|
46
|
+
*/
|
|
47
|
+
export function getPersistedMcpToken(serverUrl) {
|
|
48
|
+
if (!serverUrl)
|
|
49
|
+
return undefined;
|
|
50
|
+
const token = readAll()[serverUrl];
|
|
51
|
+
return typeof token === 'string' && token.length > 0 ? token : undefined;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Persist a token for this server URL. Best-effort: a write failure (read-only
|
|
55
|
+
* home, permissions) must never break an otherwise-working MCP connection.
|
|
56
|
+
* No-ops when the token is unchanged to avoid pointless disk churn.
|
|
57
|
+
*/
|
|
58
|
+
export function persistMcpToken(serverUrl, token) {
|
|
59
|
+
if (!serverUrl || !token)
|
|
60
|
+
return;
|
|
61
|
+
try {
|
|
62
|
+
const all = readAll();
|
|
63
|
+
if (all[serverUrl] === token)
|
|
64
|
+
return;
|
|
65
|
+
all[serverUrl] = token;
|
|
66
|
+
const path = getTokenStorePath();
|
|
67
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
68
|
+
writeFileSync(path, JSON.stringify(all, null, 2), 'utf8');
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
/* best-effort */
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=McpTokenStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"McpTokenStore.js","sourceRoot":"","sources":["../../src/mcp/McpTokenStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAKzB;;;;GAIG;AACH,SAAS,iBAAiB;IACxB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3C,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,OAAO;IACd,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,iBAAiB,EAAE,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;QAClD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,KAAa;IAC9D,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK;QAAE,OAAO;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK;YAAE,OAAO;QACrC,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;QACvB,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;QACjC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;AACH,CAAC"}
|