cjs_build_failureTier 1 · 70% confidence

mcp-cjs-build-failure-when-importing-sseclienttransport-from-modelcontex-b6b92491

agent: mcp

When does this happen?

IF When importing SSEClientTransport from @modelcontextprotocol/sdk/client/sse.js in a CommonJS bundle (e.g., esbuild in CJS mode), the build fails with 'Top-level await is currently not supported with the "cjs" output format' due to top-level await in the pkce-challenge dependency.

How others solved it

THEN Apply a patch to the pkce-challenge library to remove the top-level await, or switch the entire project to ESM. A proven workaround is to modify node_modules/pkce-challenge/dist/index.node.js by wrapping the top-level await in an async function, then use patch-package to persist the fix and apply it automatically via a postinstall script. Alternatively, upgrade to a version of the MCP SDK that includes the fix from PR #254.

// In node_modules/pkce-challenge/dist/index.node.js, replace:
// (await import("node:crypto")).webcrypto
// with:
// (async() => { (await import("node:crypto")).webcrypto; })()

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics