> ## Documentation Index
> Fetch the complete documentation index at: https://mcp-b-sync-npm-packages-docs-bf03420.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# @mcp-b/webmcp-polyfill overview

> When to use the strict WebMCP polyfill, where it fits in the stack, and when to move up to the full runtime.

`@mcp-b/webmcp-polyfill` installs the strict WebMCP core on `navigator.modelContext` when the browser does not ship it yet. It is the runtime choice for teams that want the browser-facing standard surface without MCP-B-only extensions.

## When to use this package

* You want `registerTool` and `unregisterTool` in browsers today.
* You are building a site or reusable library that wants to stay close to the W3C surface.
* You want to pair runtime behavior with [`@mcp-b/webmcp-types`](/packages/webmcp-types/overview) for type inference.

## When not to use this package

* You need prompts, resources, transport, sampling, or elicitation. Use [`@mcp-b/global`](/packages/global/overview).
* You only need types at build time. Use [`@mcp-b/webmcp-types`](/packages/webmcp-types/overview).

## Where it sits in the package graph

This package sits directly above `@mcp-b/webmcp-types`. The full runtime in [`@mcp-b/global`](/packages/global/overview) wraps the polyfill when it initializes.

## First step

Initialize the polyfill before your app registers tools. The [reference page](/packages/webmcp-polyfill/reference) documents the initialization options, testing shim behavior, and the strict-core lifecycle.

## Related pages

<CardGroup cols={2}>
  <Card title="Reference" icon="book-open" href="/packages/webmcp-polyfill/reference">
    Initialization options, testing shim details, and runtime behavior.
  </Card>

  <Card title="First tool tutorial" icon="graduation-cap" href="/tutorials/first-tool">
    Build your first strict-core tool.
  </Card>

  <Card title="Native vs polyfill vs global" icon="layer-group" href="/explanation/native-vs-polyfill-vs-global">
    Compare the three runtime strategies.
  </Card>

  <Card title="Test native and polyfill" icon="flask-vial" href="/how-to/test-native-and-polyfill">
    Validate your code against both native and polyfilled paths.
  </Card>
</CardGroup>
