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

# Strict core vs MCP-B extensions

> Why the WebMCP core stays small and which capabilities MCP-B layers around it.

The standards-owned WebMCP core publishes tools through
`document.modelContext`. Keeping that core small makes it portable across
native browser implementations, strict polyfills, and libraries that only need
to expose tools.

`@mcp-b/webmcp-types`, `@mcp-b/webmcp-polyfill`, and `usewebmcp` stay close to
this portable surface.

MCP-B adds capabilities from the broader MCP model, including compatibility
helpers such as `listTools()` and deprecated `callTool()`, plus prompts,
resources, sampling, elicitation, and browser transports. These capabilities
are exposed by `BrowserMcpServer`, `@mcp-b/global`, and related packages. They
are MCP-B extensions, not standard WebMCP methods.

Libraries and sites that only publish tools should target the strict core.
Applications that require iframe, extension, relay, desktop-client, prompt, or
resource integration require the MCP-B extension layer.
This boundary preserves runtime portability.

Use [Choose a runtime](/how-to/choose-runtime) for package selection.
