Skip to main content
FrontMCP supports browser environments for client-side use cases like JWT verification, key persistence, cryptographic operations, and agent LLM adapters.

What Works in Browser

What’s Node-only


Key Persistence in Browser

Key persistence auto-detects the best available backend: IndexedDB (preferred) → localStorage (fallback) → memory (last resort)

Storage Adapters in Browser


Agent LLM Adapters in Browser

Both built-in adapters work in browser environments since they use HTTP-based APIs:
When using LLM adapters in the browser, API keys are exposed to the client. Use a backend proxy or token-scoped keys for production deployments.

ESM Dynamic Loading in Browser

The App.esm() API works in browser environments with these differences:
  • Cache: Memory-only (no disk persistence). Bundles are stored in an in-memory Map.
  • Module evaluation: Bundles are evaluated via Blob + URL.createObjectURL instead of writing to the file system.
  • Same API: No code changes needed — the environment is auto-detected.
Browser-loaded ESM packages must avoid Node.js-only modules (fs, crypto, path) at the top level. Use dynamic imports for platform-specific code.

Crypto Operations

All @frontmcp/utils crypto functions use the WebCrypto API in browser and node:crypto in Node.js: