5.0.3 — V8 Isolate Crypto + SDK v2 Context Fix
Fixed — V8 Isolate Crypto Compatibility
edge-stub.ts: crypto delegation to host polyfill
\createHash, \createHmac,
andomUUID,
andomBytes\ now delegate to \globalThis.__nodeCrypto\ (injected by the Vinkius Runtime IsolateRunner) instead of calling \CRASH().
Fixes 125 MCPs that use Node.js \crypto.createHmac()\ / \crypto.createHash()\ in their engine layer — they were silently crashing in the V8 isolate when the tool was called.
Fallback to \CRASH()\ if __nodeCrypto\ is not available (non-Vinkius environments).
Fixed — SDK v2 Context Structure Mismatch
ServerAttachment.ts: handler context extraction
- \isMcpExtra()\ — detects both SDK v1 (flat \�xtra.sendNotification) and SDK v2 (nested \ctx.mcpReq.notify)
- \createProgressSink()\ — extracts \progressToken\ from \ctx.mcpReq._meta\ (v2) or \�xtra._meta\ (v1)
- \�xtractSignal()\ — extracts \AbortSignal\ from \ctx.mcpReq.signal\ (v2) or \�xtra.signal\ (v1)
- \�xtractElicitSink()\ — extracts \sendRequest\ from \ctx.mcpReq.send\ (v2) or \�xtra.sendRequest\ (v1)
Fixes progress notifications, cancellation, and elicitation with @modelcontextprotocol/server\ v2.