@ateam-ai/mcp 0.3.19 → 0.3.20
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/package.json +1 -1
- package/src/http.js +7 -5
package/package.json
CHANGED
package/src/http.js
CHANGED
|
@@ -246,16 +246,18 @@ export function startHttpServer(port = 3100) {
|
|
|
246
246
|
// requiring a real initialize handshake. This bypasses the SDK's built-in check
|
|
247
247
|
// (`Bad Request: Server not initialized`) so the non-initialize request dispatches.
|
|
248
248
|
const inner = transport._webStandardTransport;
|
|
249
|
-
console.log(`[HTTP] auto-reinit debug: inner=${!!inner} initBefore=${inner?._initialized} sidBefore=${inner?.sessionId}`);
|
|
250
249
|
if (inner) {
|
|
251
250
|
inner.sessionId = newSessionId;
|
|
252
251
|
inner._initialized = true;
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
252
|
+
// Neutralize session-id validation for this transport — the client's header
|
|
253
|
+
// still carries the stale id and the SDK would otherwise 404. We trust that
|
|
254
|
+
// we already looked up the transport ourselves.
|
|
255
|
+
inner.validateSession = () => undefined;
|
|
256
|
+
// Also accept any protocol version the client sends.
|
|
257
|
+
inner.validateProtocolVersion = () => undefined;
|
|
256
258
|
}
|
|
257
259
|
transports[newSessionId] = transport;
|
|
258
|
-
// Rewrite the request's session-id header so
|
|
260
|
+
// Rewrite the request's session-id header so downstream code also sees the new id.
|
|
259
261
|
req.headers["mcp-session-id"] = newSessionId;
|
|
260
262
|
// Tell the client about the new session id so future requests use it.
|
|
261
263
|
res.setHeader("mcp-session-id", newSessionId);
|