Skip to content

5.0.3 — V8 Isolate Crypto + SDK v2 Context Fix

Choose a tag to compare

@renatomarinho renatomarinho released this 31 Jul 22:22
· 5 commits to main since this release

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.