fa-mcp-sdk 0.11.4 → 0.11.10
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/cli-template/.env.example +11 -6
- package/cli-template/FA-MCP-SDK-DOC/00-FA-MCP-SDK-index.md +1 -1
- package/cli-template/FA-MCP-SDK-DOC/06-utilities.md +42 -0
- package/cli-template/package.json +1 -1
- package/dist/core/web/server-http.d.ts.map +1 -1
- package/dist/core/web/server-http.js +171 -1
- package/dist/core/web/server-http.js.map +1 -1
- package/dist/core/web/static/agent-tester/script.js +13 -0
- package/package.json +1 -1
|
@@ -22,12 +22,17 @@ DEBUG=config-info
|
|
|
22
22
|
# AP-UPDATER - consul/access-points-updater
|
|
23
23
|
# fa-consul:reg | fa-consul:* - consul/cyclic-register
|
|
24
24
|
# fa-consul:curl - consul/prepare-consul-api
|
|
25
|
-
# token:auth
|
|
26
|
-
# mcp:tool
|
|
27
|
-
# mcp:resource
|
|
28
|
-
# mcp:notification
|
|
29
|
-
# mcp:prompt
|
|
30
|
-
# mcp:*
|
|
25
|
+
# token:auth - authentication: which auth method matched, token parsing/validation outcome
|
|
26
|
+
# mcp:tool - tools/call: tool name + arguments in, response (text or JSON) out
|
|
27
|
+
# mcp:resource - resources/list and resources/read: URI in, body out
|
|
28
|
+
# mcp:notification - all incoming notifications/* (method + params)
|
|
29
|
+
# mcp:prompt - prompts/list and prompts/get: name/args in, messages out
|
|
30
|
+
# mcp:* - all four MCP channels above at once
|
|
31
|
+
# mcp-handshake - HTTP transport: per-request dump (method, id, session routing, protocol, auth, IP)
|
|
32
|
+
# mcp-rpc - HTTP transport: one-line summary of every successful JSON-RPC response
|
|
33
|
+
#
|
|
34
|
+
#(session-lifecycle events, the -32600 "no valid session" rejection and JSON-RPC errors log always)
|
|
35
|
+
#
|
|
31
36
|
# ========================================================================
|
|
32
37
|
# AGENT TESTER - Built-in AI agent for testing MCP tools
|
|
33
38
|
# ========================================================================
|
|
@@ -18,7 +18,7 @@ npm install fa-mcp-sdk
|
|
|
18
18
|
| [03-configuration](03-configuration.md) | `appConfig`, YAML config, access points, cache, **`mcp.limits` (payload/result/timeout)**, **`mcp.pagination`**, **`mcp.resources` (MAY)**, **`mcp.rateLimit.scope` + `maxConcurrentPerSubject` (§14)**, **`webServer.trustProxy`**, **`webServer.tokenCheck.allowQueryToken` (§7.1)**, **/health & /ready**, **CORS hardening**, **MCP error codes** (`-32002…-32005`) | Server configuration, external services, transport-level hardening |
|
|
19
19
|
| [04-authentication](04-authentication.md) | JWT (**4 modes: legacyAesCtr / embedded / localKey / remoteJwks**), Basic auth, server tokens, **OAuth discovery + `/oauth/token` + JWKS**, **`requiredScopes` enforcement (§7.5)**, **`WWW-Authenticate` realm + invalid_token (§7.4)**, **HTTP 403 `forbidden` flag**, `createAuthMW()`, Token Generator, CLI Token Generator (mode-aware), JWT Generation API | Authentication setup |
|
|
20
20
|
| [05-ad-authorization](05-ad-authorization.md) | AD group authorization at HTTP/tool levels | AD group restrictions |
|
|
21
|
-
| [06-utilities](06-utilities.md) | `ServerError`, `normalizeHeaders`, logging, MCP debug switches (`DEBUG=mcp:*`), JSON-lines sink (`mcp.debug.logFile` → `emitTrace`), built-in debug tools (`mcp.debug.builtinTools`), Consul, graceful shutdown | Error handling, utilities, request tracing, post-mortem analysis |
|
|
21
|
+
| [06-utilities](06-utilities.md) | `ServerError`, `normalizeHeaders`, logging, MCP debug switches (`DEBUG=mcp:*`), **HTTP connection & RPC tracing (`DEBUG=mcp-handshake` / `mcp-rpc`, always-on session-lifecycle + `-32600` + error logging)**, JSON-lines sink (`mcp.debug.logFile` → `emitTrace`), built-in debug tools (`mcp.debug.builtinTools`), Consul, graceful shutdown | Error handling, utilities, request tracing, post-mortem analysis |
|
|
22
22
|
| [07-testing-and-operations](07-testing-and-operations.md) | Test clients (STDIO, HTTP, SSE, Streamable HTTP); universal `debug-tool` fixture covering every `CallToolResult` shape | Testing, deployment, exercising client code against image/audio/resource/error/delay variants |
|
|
23
23
|
| [08-agent-tester-and-headless-api](08-agent-tester-and-headless-api.md) | Agent Tester, Headless API, structured logging, automated testing, UI `data-testid` reference. **MCP Apps mode**: capability negotiation, `appCalls[]` / `app_calls[]`, widget iframe bridge, App Inspector tab | Agent-driven tool development, CLI automation, UI E2E tests, MCP Apps host for development |
|
|
24
24
|
| [09-database](09-database.md) | PostgreSQL sugar layer (`queryMAIN`, `execMAIN`, `getInsertSqlMAIN`, `getMergeSqlMAIN`, `mergeByBatch`), `pgvector`, secondary DBs | Database access, upserts, batching |
|
|
@@ -336,6 +336,48 @@ echo "DEBUG=mcp:tool,mcp:resource" >> .env
|
|
|
336
336
|
> `stdout` via `console.log`, so enabling `DEBUG=mcp:*` in STDIO mode **will corrupt the framing**
|
|
337
337
|
> the client sees. Use these switches with HTTP/SSE transport, or redirect stdout.
|
|
338
338
|
|
|
339
|
+
## HTTP Connection & RPC Tracing (`DEBUG=mcp-handshake`, `DEBUG=mcp-rpc`)
|
|
340
|
+
|
|
341
|
+
Separate from the `mcp:*` channel switches above, the **Streamable HTTP transport** carries its own
|
|
342
|
+
connection- and response-level tracing in `web/server-http.ts`. These switches use hyphenated names
|
|
343
|
+
(`mcp-handshake`, `mcp-rpc`) and are read straight from the comma-split `DEBUG` env var — they do
|
|
344
|
+
**not** go through the `af-tools-ts` `Debug()` machinery, so they are not covered by `mcp:*` or `*`.
|
|
345
|
+
List them explicitly, e.g. `DEBUG=mcp-handshake,mcp-rpc`. They exist to answer the two questions the
|
|
346
|
+
`mcp:*` taps cannot: *why did the client get a session/protocol error?* and *what did the server
|
|
347
|
+
actually send back?*
|
|
348
|
+
|
|
349
|
+
| Env value | What it logs |
|
|
350
|
+
|-----------------------|---------------------------------------------------------------------------------------|
|
|
351
|
+
| *(always on)* | Session created / closed / transport-closed (with active-session count); the `-32600` "no valid session" rejection with the reason. |
|
|
352
|
+
| `DEBUG=mcp-handshake` | Per-request dump for every `/mcp` call: JSON-RPC method + id, short session id, routing hit/miss, protocol version, `Accept` / `Content-Type`, whether an auth header is present, and client IP. |
|
|
353
|
+
| `DEBUG=mcp-rpc` | One-line summary of every **successful** JSON-RPC response (status, ids, `result=ok` / notifications). |
|
|
354
|
+
|
|
355
|
+
Two things always log regardless of the switches, because they are otherwise silent failure modes:
|
|
356
|
+
|
|
357
|
+
- **The `-32600` rejection.** When a request reaches `/mcp` without a valid session and is not an
|
|
358
|
+
`initialize`, the server now logs *why* — the client must send `initialize` first or echo a valid
|
|
359
|
+
`mcp-session-id` header — and notes when the supplied session id is unknown or expired (with the
|
|
360
|
+
count of known sessions). This is the trace to look for when the client reports `-32600` but the
|
|
361
|
+
server log was previously empty.
|
|
362
|
+
- **Every JSON-RPC error response.** A response tee on `POST /mcp` and the `GET`/`DELETE` session
|
|
363
|
+
routes captures the outgoing body, parses it (auto-detecting a plain `application/json` answer vs.
|
|
364
|
+
the `data:` frames of an SSE stream), and logs each error's HTTP status, request id, `code`,
|
|
365
|
+
`message`, and truncated `data`, together with the originating request summary. The capture is
|
|
366
|
+
capped at 256 KB per response so a long SSE stream cannot exhaust memory (`[capture truncated]`
|
|
367
|
+
marks a hit), and the trace is wrapped so it can never break the real response.
|
|
368
|
+
|
|
369
|
+
```bash
|
|
370
|
+
# Why is the client getting "no valid session" / -32600? (handshake dump on every request)
|
|
371
|
+
DEBUG=mcp-handshake yarn start
|
|
372
|
+
|
|
373
|
+
# Also summarise successful responses (otherwise only errors are logged)
|
|
374
|
+
DEBUG=mcp-handshake,mcp-rpc yarn start
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
> These switches are HTTP-transport only — STDIO never opens sessions, so they have no effect there.
|
|
378
|
+
> They are safe to leave off in production; the always-on session-lifecycle and error lines are the
|
|
379
|
+
> ones worth keeping in normal operation.
|
|
380
|
+
|
|
339
381
|
### Extending with Custom Debug Categories
|
|
340
382
|
|
|
341
383
|
Add your own switches with the same `Debug()` helper from `af-tools-ts`:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-http.d.ts","sourceRoot":"","sources":["../../../src/core/web/server-http.ts"],"names":[],"mappings":"AA+DA,eAAO,MAAM,cAAc,SAAyC,CAAC;AA6DrE;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"server-http.d.ts","sourceRoot":"","sources":["../../../src/core/web/server-http.ts"],"names":[],"mappings":"AA+DA,eAAO,MAAM,cAAc,SAAyC,CAAC;AA6DrE;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CA47BrD"}
|
|
@@ -542,6 +542,152 @@ export async function startHttpServer() {
|
|
|
542
542
|
// SDK transport handles protocol-version negotiation, error codes, notifications (202) and the
|
|
543
543
|
// GET-SSE / DELETE-teardown semantics for us.
|
|
544
544
|
const HTTP_SESSION_HEADER = 'mcp-session-id';
|
|
545
|
+
// Verbose connection/handshake tracing. Per-request dumps (method, headers, session routing)
|
|
546
|
+
// are gated behind `DEBUG=mcp-handshake` so they don't flood logs on every tool call; the
|
|
547
|
+
// key lifecycle events (initialize, session created/closed, no-session rejection) always log.
|
|
548
|
+
const debugNamespaces = (process.env.DEBUG || '').split(',').map((d) => d.trim());
|
|
549
|
+
const HANDSHAKE_DEBUG = debugNamespaces.includes('mcp-handshake');
|
|
550
|
+
// Separate namespace for successful RPC response summaries (`result=ok`), kept apart from the
|
|
551
|
+
// connection/handshake trace so each can be enabled independently. Errors always log regardless.
|
|
552
|
+
const RPC_DEBUG = debugNamespaces.includes('mcp-rpc');
|
|
553
|
+
// Short session id for log lines (full UUID is noisy). Empty header → 'none'.
|
|
554
|
+
const shortSid = (sid) => (sid ? sid.slice(0, 8) : 'none');
|
|
555
|
+
// Summarize the request line for handshake tracing: JSON-RPC method, id, session header,
|
|
556
|
+
// and presence of the headers that matter for the MCP transport contract.
|
|
557
|
+
const describeMcpRequest = (req) => {
|
|
558
|
+
const body = req.body;
|
|
559
|
+
const h = req.headers;
|
|
560
|
+
const hasAuth = !!(h.authorization || h['x-on-behalf-of-user']);
|
|
561
|
+
return [
|
|
562
|
+
`method=${body?.method ?? '(none)'}`,
|
|
563
|
+
`id=${body?.id ?? '(none)'}`,
|
|
564
|
+
`session=${shortSid(h[HTTP_SESSION_HEADER])}`,
|
|
565
|
+
`protocolVersion=${h['mcp-protocol-version'] || body?.params?.protocolVersion || '(none)'}`,
|
|
566
|
+
`accept=${h.accept || '(none)'}`,
|
|
567
|
+
`contentType=${h['content-type'] || '(none)'}`,
|
|
568
|
+
`auth=${hasAuth ? 'yes' : 'no'}`,
|
|
569
|
+
`ip=${req.ip || 'unknown'}`,
|
|
570
|
+
].join(' | ');
|
|
571
|
+
};
|
|
572
|
+
// Parse outgoing MCP payloads into JSON-RPC message objects. The SDK transport answers either
|
|
573
|
+
// as plain JSON (`application/json`) or as an SSE stream (`text/event-stream`), where each frame
|
|
574
|
+
// carries the JSON in a `data:` line. We auto-detect the shape FROM THE BODY rather than the
|
|
575
|
+
// Content-Type header: by the time the response `finish`es, Node has already cleared the outgoing
|
|
576
|
+
// headers, so `res.getHeader('content-type')` returns undefined at that point.
|
|
577
|
+
const parseRpcMessages = (raw) => {
|
|
578
|
+
const out = [];
|
|
579
|
+
const tryPush = (s) => {
|
|
580
|
+
const t = s.trim();
|
|
581
|
+
if (!t) {
|
|
582
|
+
return;
|
|
583
|
+
}
|
|
584
|
+
try {
|
|
585
|
+
const parsed = JSON.parse(t);
|
|
586
|
+
if (Array.isArray(parsed)) {
|
|
587
|
+
out.push(...parsed);
|
|
588
|
+
}
|
|
589
|
+
else {
|
|
590
|
+
out.push(parsed);
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
catch {
|
|
594
|
+
/* not JSON — ignore */
|
|
595
|
+
}
|
|
596
|
+
};
|
|
597
|
+
// Plain-JSON answer: the whole body parses as one object/array.
|
|
598
|
+
const trimmed = raw.trimStart();
|
|
599
|
+
if (trimmed.startsWith('{') || trimmed.startsWith('[')) {
|
|
600
|
+
tryPush(raw);
|
|
601
|
+
if (out.length > 0) {
|
|
602
|
+
return out;
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
// SSE answer: collect every `data:` frame line.
|
|
606
|
+
for (const line of raw.split('\n')) {
|
|
607
|
+
if (line.startsWith('data:')) {
|
|
608
|
+
tryPush(line.slice(5));
|
|
609
|
+
}
|
|
610
|
+
}
|
|
611
|
+
return out;
|
|
612
|
+
};
|
|
613
|
+
// Tee the response stream so we can log what is actually sent back — in particular every
|
|
614
|
+
// JSON-RPC error (code + message + data), to verify the error message is meaningful. Errors
|
|
615
|
+
// are logged ALWAYS; successful results are summarized only under `DEBUG=mcp-rpc` to avoid
|
|
616
|
+
// dumping large tool payloads. Capture is capped to bound memory on long SSE streams.
|
|
617
|
+
const installRpcResponseTrace = (req, res) => {
|
|
618
|
+
const MAX_CAPTURE = 256 * 1024;
|
|
619
|
+
const chunks = [];
|
|
620
|
+
let captured = 0;
|
|
621
|
+
let truncated = false;
|
|
622
|
+
const collect = (chunk) => {
|
|
623
|
+
if (!chunk || captured >= MAX_CAPTURE) {
|
|
624
|
+
if (chunk && captured >= MAX_CAPTURE) {
|
|
625
|
+
truncated = true;
|
|
626
|
+
}
|
|
627
|
+
return;
|
|
628
|
+
}
|
|
629
|
+
// The SDK transport writes `Uint8Array` (SSE) or strings; `Buffer.isBuffer` is false for a
|
|
630
|
+
// Uint8Array, so we must NOT fall back to `String(chunk)` (that yields a comma-joined list of
|
|
631
|
+
// byte codes). `Buffer.from` accepts Buffer, string, and Uint8Array/ArrayBuffer views directly.
|
|
632
|
+
let buf;
|
|
633
|
+
if (Buffer.isBuffer(chunk)) {
|
|
634
|
+
buf = chunk;
|
|
635
|
+
}
|
|
636
|
+
else if (typeof chunk === 'string') {
|
|
637
|
+
buf = Buffer.from(chunk);
|
|
638
|
+
}
|
|
639
|
+
else {
|
|
640
|
+
buf = Buffer.from(chunk);
|
|
641
|
+
}
|
|
642
|
+
chunks.push(buf);
|
|
643
|
+
captured += buf.length;
|
|
644
|
+
};
|
|
645
|
+
const origWrite = res.write.bind(res);
|
|
646
|
+
const origEnd = res.end.bind(res);
|
|
647
|
+
// Cast to any: the write/end overloads are complex; we only tee the first (chunk) argument.
|
|
648
|
+
res.write = (chunk, ...args) => {
|
|
649
|
+
collect(chunk);
|
|
650
|
+
return origWrite(chunk, ...args);
|
|
651
|
+
};
|
|
652
|
+
res.end = (chunk, ...args) => {
|
|
653
|
+
collect(chunk);
|
|
654
|
+
return origEnd(chunk, ...args);
|
|
655
|
+
};
|
|
656
|
+
res.on('finish', () => {
|
|
657
|
+
try {
|
|
658
|
+
const raw = Buffer.concat(chunks).toString('utf8');
|
|
659
|
+
if (!raw) {
|
|
660
|
+
return;
|
|
661
|
+
}
|
|
662
|
+
const messages = parseRpcMessages(raw);
|
|
663
|
+
const errors = messages.filter((m) => m && m.error);
|
|
664
|
+
if (errors.length > 0) {
|
|
665
|
+
for (const m of errors) {
|
|
666
|
+
const data = m.error.data === undefined ? '' : ` | data=${JSON.stringify(m.error.data).slice(0, 800)}`;
|
|
667
|
+
logger.warn(`MCP RPC error response → HTTP ${res.statusCode} | id=${m.id ?? '(none)'} | ` +
|
|
668
|
+
`code=${m.error.code} | message=${JSON.stringify(m.error.message)}${data} ` +
|
|
669
|
+
`| for: ${describeMcpRequest(req)}`);
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
else if (RPC_DEBUG) {
|
|
673
|
+
const summary = messages
|
|
674
|
+
.map((m) => m.error
|
|
675
|
+
? `error ${m.error.code}`
|
|
676
|
+
: m.result !== undefined
|
|
677
|
+
? `id=${m.id} result=ok`
|
|
678
|
+
: m.method
|
|
679
|
+
? `notif ${m.method}`
|
|
680
|
+
: `id=${m.id ?? '(none)'}`)
|
|
681
|
+
.join('; ');
|
|
682
|
+
logger.info(`MCP RPC response → HTTP ${res.statusCode} | ${summary || `${raw.length} bytes`}` +
|
|
683
|
+
(truncated ? ' | [capture truncated]' : ''));
|
|
684
|
+
}
|
|
685
|
+
}
|
|
686
|
+
catch {
|
|
687
|
+
/* never let trace logging break the response */
|
|
688
|
+
}
|
|
689
|
+
});
|
|
690
|
+
};
|
|
545
691
|
// Soft cap to bound memory; oldest session is evicted (FIFO via Map insertion order).
|
|
546
692
|
const MAX_HTTP_SESSIONS = 4096;
|
|
547
693
|
const mcpTransports = new Map();
|
|
@@ -603,6 +749,14 @@ export async function startHttpServer() {
|
|
|
603
749
|
}
|
|
604
750
|
};
|
|
605
751
|
const noSessionError = (req, res) => {
|
|
752
|
+
// Always log: this path is otherwise silent, which is exactly why "-32600" appears on the
|
|
753
|
+
// client with nothing on the server. We surface why the session was rejected.
|
|
754
|
+
const sessionHeader = req.headers[HTTP_SESSION_HEADER];
|
|
755
|
+
logger.warn(`MCP rejected with -32600 (no valid session). The client must send an \`initialize\` request first, ` +
|
|
756
|
+
`or include a valid \`mcp-session-id\` header. Request: ${describeMcpRequest(req)}` +
|
|
757
|
+
(sessionHeader && !mcpTransports.get(sessionHeader)
|
|
758
|
+
? ` — session id ${shortSid(sessionHeader)} is unknown/expired (known sessions: ${mcpTransports.size})`
|
|
759
|
+
: ''));
|
|
606
760
|
res.status(400).json({
|
|
607
761
|
jsonrpc: '2.0',
|
|
608
762
|
id: req.body?.id ?? null,
|
|
@@ -611,8 +765,13 @@ export async function startHttpServer() {
|
|
|
611
765
|
};
|
|
612
766
|
// GET (server→client SSE stream) and DELETE (session teardown) operate on an existing session.
|
|
613
767
|
const routeToSession = async (req, res) => {
|
|
768
|
+
installRpcResponseTrace(req, res);
|
|
614
769
|
const sessionId = req.headers[HTTP_SESSION_HEADER];
|
|
615
770
|
const transport = sessionId ? mcpTransports.get(sessionId) : undefined;
|
|
771
|
+
if (HANDSHAKE_DEBUG) {
|
|
772
|
+
logger.info(`MCP ${req.method} /mcp routing to session ${shortSid(sessionId)}: ` +
|
|
773
|
+
`${transport ? 'found' : 'NOT FOUND'} | ${describeMcpRequest(req)}`);
|
|
774
|
+
}
|
|
616
775
|
if (!transport) {
|
|
617
776
|
noSessionError(req, res);
|
|
618
777
|
return;
|
|
@@ -622,6 +781,10 @@ export async function startHttpServer() {
|
|
|
622
781
|
// POST endpoint for MCP requests — handshake + all JSON-RPC calls go through the SDK transport.
|
|
623
782
|
app.post('/mcp', authMW, async (req, res) => {
|
|
624
783
|
try {
|
|
784
|
+
installRpcResponseTrace(req, res);
|
|
785
|
+
if (HANDSHAKE_DEBUG) {
|
|
786
|
+
logger.info(`POST /mcp ← ${describeMcpRequest(req)}`);
|
|
787
|
+
}
|
|
625
788
|
// Rate limiting and the body-size limit stay here, before the transport takes over.
|
|
626
789
|
const clientId = resolveRateLimitKey(req);
|
|
627
790
|
await handleRateLimit(rateLimiter, clientId, req.ip || 'unknown', 'HTTP MCP', res, req.body?.id);
|
|
@@ -639,11 +802,15 @@ export async function startHttpServer() {
|
|
|
639
802
|
const sessionId = req.headers[HTTP_SESSION_HEADER];
|
|
640
803
|
const existing = sessionId ? mcpTransports.get(sessionId) : undefined;
|
|
641
804
|
if (existing) {
|
|
805
|
+
if (HANDSHAKE_DEBUG) {
|
|
806
|
+
logger.info(`POST /mcp reusing session ${shortSid(sessionId)} for method=${req.body?.method}`);
|
|
807
|
+
}
|
|
642
808
|
await runHttpToolCall(req, res, () => existing.handleRequest(req, res, req.body));
|
|
643
809
|
return;
|
|
644
810
|
}
|
|
645
811
|
if (isInitializeRequest(req.body)) {
|
|
646
|
-
logger.info(`MCP client initializing: protocolVersion: ${req.body?.params?.protocolVersion} | clientInfo: ${JSON.stringify(req.body?.params?.clientInfo)}`
|
|
812
|
+
logger.info(`MCP client initializing: protocolVersion: ${req.body?.params?.protocolVersion} | clientInfo: ${JSON.stringify(req.body?.params?.clientInfo)}` +
|
|
813
|
+
(HANDSHAKE_DEBUG ? ` | ${describeMcpRequest(req)}` : ''));
|
|
647
814
|
const transport = new StreamableHTTPServerTransport({
|
|
648
815
|
sessionIdGenerator: () => randomUUID(),
|
|
649
816
|
// Standard §6 (MAY) — attach the EventStore only when resumability is enabled.
|
|
@@ -651,9 +818,11 @@ export async function startHttpServer() {
|
|
|
651
818
|
onsessioninitialized: (sid) => {
|
|
652
819
|
mcpTransports.set(sid, transport);
|
|
653
820
|
evictOldestSession(sid);
|
|
821
|
+
logger.info(`MCP session created: ${sid} (active sessions: ${mcpTransports.size})`);
|
|
654
822
|
},
|
|
655
823
|
onsessionclosed: (sid) => {
|
|
656
824
|
mcpTransports.delete(sid);
|
|
825
|
+
logger.info(`MCP session closed by client: ${shortSid(sid)} (active sessions: ${mcpTransports.size})`);
|
|
657
826
|
},
|
|
658
827
|
});
|
|
659
828
|
// SDK `Transport` exposes `onclose` as a plain setter (not an EventTarget), so
|
|
@@ -663,6 +832,7 @@ export async function startHttpServer() {
|
|
|
663
832
|
const sid = transport.sessionId;
|
|
664
833
|
if (sid) {
|
|
665
834
|
mcpTransports.delete(sid);
|
|
835
|
+
logger.info(`MCP transport closed: ${shortSid(sid)} (active sessions: ${mcpTransports.size})`);
|
|
666
836
|
}
|
|
667
837
|
};
|
|
668
838
|
const server = createMcpServer('http');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-http.js","sourceRoot":"","sources":["../../../src/core/web/server-http.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server-http.js","sourceRoot":"","sources":["../../../src/core/web/server-http.ts"],"names":[],"mappings":"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"}
|
|
@@ -2275,6 +2275,19 @@ class McpAgentTester {
|
|
|
2275
2275
|
|
|
2276
2276
|
if (servers && servers.length > 0) {
|
|
2277
2277
|
this.currentServer = servers[0];
|
|
2278
|
+
// Restore mcpConfig from the backend-held connection. Without this, after a
|
|
2279
|
+
// page reload the server stays connected on the backend (so Tool Tester works),
|
|
2280
|
+
// but this.mcpConfig.url is null, so the Chat path sends mcpConfig: undefined
|
|
2281
|
+
// and the LLM receives zero tools (logs show "Tools: 0" / "MCP Server: None").
|
|
2282
|
+
if (this.currentServer.isConnected) {
|
|
2283
|
+
this.mcpConfig = {
|
|
2284
|
+
url: this.currentServer.url,
|
|
2285
|
+
transport: this.currentServer.transport,
|
|
2286
|
+
headers: this.currentServer.headers || {},
|
|
2287
|
+
name: this.currentServer.name,
|
|
2288
|
+
appMode: this.appMode,
|
|
2289
|
+
};
|
|
2290
|
+
}
|
|
2278
2291
|
this.updateConnectionStatus();
|
|
2279
2292
|
this.renderServerInfo();
|
|
2280
2293
|
} else {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fa-mcp-sdk",
|
|
3
3
|
"productName": "FA MCP SDK",
|
|
4
|
-
"version": "0.11.
|
|
4
|
+
"version": "0.11.10",
|
|
5
5
|
"description": "Core infrastructure and templates for building Model Context Protocol (MCP) servers with TypeScript",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/core/index.js",
|