Skip to main content
WebMCP is an active community-group proposal, not a completed W3C standard. It defines the direction of the browser API, but several details are still a work in progress. Browser APIs, declarative attributes, testing surfaces, iframe policy, concurrency, cancellation, and output-schema behavior may continue to change. Implementations should track the current W3C draft, keep domain operations separate from the browser registration adapter, use feature detection, and test both native and polyfill paths. MCP-B extensions must remain clearly distinguished from the standard surface. New code uses document.modelContext. navigator.modelContext remains a deprecated compatibility alias, while navigator.modelContextTesting is a testing and inspection surface. Adapter boundaries reduce migration cost. See Try the native Chrome preview and Test native and polyfill.

Upstream sources to track

Use first-party sources for compatibility decisions: This release line follows those sources by making document.modelContext the primary surface, preferring getTools() plus executeTool(), using AbortSignal for cleanup, and keeping legacy MCP-B helpers as compatibility APIs. outputSchema is not part of the current W3C/Chrome WebMCP tool dictionary. MCP-B keeps it as helper metadata for TypeScript inference, structured MCP responses, and package/runtime adapters. Do not rely on native browser WebMCP to validate tool output against it.