@mcp-b/webmcp-polyfill
supplies the package-supported document.modelContext surface.
The polyfill temporarily retains declarative tools until upstream supports them;
native declarative behavior is unchanged.
@mcp-b/webmcp-ts-sdk adds BrowserMcpServer, which mirrors core tool
operations while providing MCP-B-only capabilities. @mcp-b/global
initializes those layers and connects the selected browser transport.
Global initialization preserves the browser-shaped programming model:
1. Browser context
A native implementation or
@mcp-b/webmcp-polyfill supplies the browser surface.2. MCP-B runtime
BrowserMcpServer mirrors core tools, adds MCP-B extensions, and becomes
document.modelContext.3. Selected transport
The transport connects explicit MCP clients without changing page code.
document.modelContext normally, whether the active implementation is
native, polyfilled, or wrapped by MCP-B. Cleanup restores the property
descriptors that existed before wrapping and unregisters the tools registered
through the wrapper. Tools registered directly on the underlying context remain,
and cleanup does not uninstall the separately owned polyfill or its declarative layer.
This separation allows a library to depend only on types, a site to use only
the tool-only polyfill, or an application to install the complete MCP-B runtime.
Core tool registrations remain visible to native browser tooling.
See the @mcp-b/global reference and Choose a
runtime.