<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="stratml_AI_Highlight.xsl"?>
<PerformancePlanOrReport xmlns="urn:ISO:std:iso:17469:tech:xsd:PerformancePlanOrReport" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="urn:ISO:std:iso:17469:tech:xsd:PerformancePlanOrReport http://stratml.us/references/PerformancePlanOrReport20160216.xsd" Type="Performance_Plan"><Name>WebMCP: Web Model Context Protocol Performance Plan</Name><Description>A performance plan for the WebMCP specification effort within the W3C Web Machine Learning Community Group, specifying goals, objectives, stakeholder roles, and performance indicators for defining, standardizing, securing, and fostering adoption of a browser-native API (navigator.modelContext) enabling AI agent interaction with websites without backend infrastructure.</Description><OtherInformation>Source: "WebMCP: Everything You Need to Know," prepared by Claude (Anthropic) and prompted by Paola Di Maio, W3C AI-KR Community Group, February 2026. Part 1 StratML extraction: Claude / Owen Ambur, February 17, 2026. Part 2 performance indicators and stakeholder roles: proposed, not formally adopted by the W3C WebML CG. All TargetResult values are proposed planning targets. Full source document: https://starborn.github.io/webmcp/webmcp-complete-guide.html </OtherInformation><StrategicPlanCore><!-- ============================================================ --><!-- ORGANIZATION                                                  --><!-- ============================================================ --><Organization><Name>W3C Web Machine Learning Community Group</Name><Acronym>W3C WebML CG</Acronym><Identifier>uuid-org-w3c-webml-cg</Identifier><Description>The W3C Community Group incubating the WebMCP draft specification, led by engineers from Google and Microsoft. Responsible for producing the Draft Community Group Report and advancing the specification toward the W3C Standards Track.</Description><Stakeholder StakeholderTypeType="Organization"><Name>Google</Name><Description>Primary engineering contributor to the WebMCP specification; building experimental browser-side agent support into Chrome and leading API design within the WebML CG.</Description><Role><Name>Specification Author and Browser Implementer</Name><Description>Drafts core API design, authors WebIDL, and commits to experimental Chrome implementation behind a flag.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><Stakeholder StakeholderTypeType="Organization"><Name>Microsoft</Name><Description>Contributing engineering organization to the WebMCP specification effort; brings browser engine and enterprise deployment perspective.</Description><Role><Name>Specification Contributor</Name><Description>Reviews and contributes to WebIDL and security model sections; represents Edge browser implementation interests.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><Stakeholder StakeholderTypeType="Organization"><Name>World Wide Web Consortium</Name><Description>Host standards body providing Community Group infrastructure, IP framework, and the eventual Working Group process.</Description><Role><Name>Standards Process Host</Name><Description>Provides the governance structure, IP commitments framework, and publication infrastructure for advancing WebMCP to a full W3C Recommendation.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder></Organization><!-- ============================================================ --><!-- VISION                                                        --><!-- ============================================================ --><Vision><Description>A web in which any website can be an AI-friendly service — exposing its capabilities directly to AI agents through the browser, without requiring backend server infrastructure — enabling seamless, secure, user-present human-AI-web interaction at internet scale.</Description><Identifier>uuid-vision-webmcp</Identifier></Vision><!-- ============================================================ --><!-- MISSION                                                       --><!-- ============================================================ --><Mission><Description>To define, standardize, and foster adoption of a browser-native API (navigator.modelContext) that allows web developers to register machine-callable tools within their existing JavaScript code, enabling AI agents to discover and invoke website capabilities without screen scraping or separate backend MCP server infrastructure, while preserving user consent and the web's established origin-based security model.</Description><Identifier>uuid-mission-webmcp</Identifier></Mission><!-- ============================================================ --><!-- VALUES                                                        --><!-- ============================================================ --><Value><Name>Security by Inheritance</Name><Description>WebMCP builds on the web's established security primitives rather than inventing new ones. Origin isolation, HTTPS-only (SecureContext), and same-origin enforcement are the foundation. Trust is earned through the browser's existing model, not invented from scratch.</Description></Value><Value><Name>User-Present Design</Name><Description>WebMCP is designed for interactions in which the human is present at the browser and can be asked for confirmation before consequential actions are taken. The requestUserInteraction() mechanism embodies the principle that autonomous action without human awareness is not the default.</Description></Value><Value><Name>Open Standards Process</Name><Description>The specification is developed openly through W3C Community Group infrastructure, with public participation invited before design decisions are locked in.</Description></Value><Value><Name>Progressive Adoption</Name><Description>WebMCP is designed for incremental adoption using existing JavaScript without new backend infrastructure. Polyfills (MCP-B) enable adoption before native browser support arrives.</Description></Value><!-- ============================================================ --><!-- GOAL 1: API DEFINITION                                        --><!-- ============================================================ --><Goal><Name>API Definition</Name><Description>Define a complete, minimal, and implementable browser API (navigator.modelContext) through which web developers can register, update, and remove machine-callable tools, and through which AI agents can discover and invoke those tools within the browser's security boundary.</Description><Identifier>_a3f49049-b486-4b07-a396-923f5d88c031</Identifier><SequenceIndicator>1</SequenceIndicator><Stakeholder StakeholderTypeType="Generic_Group"><Name>Web Developers</Name><Description>Developers who register tools in existing JavaScript to expose site capabilities to AI agents via WebMCP.</Description><Role><Name>API Implementer and Adopter</Name><Description>Implements tool registrations using navigator.modelContext on their websites; primary beneficiary of a stable, well-documented API.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>AI Platform Providers</Name><Description>Companies such as Anthropic, OpenAI, and Google whose agents (Claude, ChatGPT, Gemini) call tools registered via WebMCP.</Description><Role><Name>Agent Implementer</Name><Description>Integrates WebMCP tool discovery and invocation into AI agent products; benefits from a standardized interface requiring no per-site custom integration.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>Browser Vendors</Name><Description>Companies implementing WebMCP natively in browser engines, beginning with Chrome (Google).</Description><Role><Name>Platform Implementer</Name><Description>Implements navigator.modelContext in browser engines and enforces SecureContext and origin isolation requirements.</Description><RoleType>Performer</RoleType></Role></Stakeholder><OtherInformation>Core API surface: navigator.modelContext (entry point); provideContext(options) — register full tool set, replacing prior set; clearContext() — remove all tools; registerTool(tool) — add one tool dynamically; unregisterTool(name) — remove one tool by name. Tool object fields: name, description, inputSchema (JSON Schema), execute (callback), annotations (readOnlyHint). Agent identity surface: ModelContextClient with requestUserInteraction(callback) for human-in-loop consent during execution.</OtherInformation><!-- Objective 1.1 --><Objective><Name>navigator.modelContext Interface</Name><Description>Specify and implement the navigator.modelContext interface as the single, stable entry point for all WebMCP functionality, accessible in SecureContext (HTTPS) browser windows only, returning the same object on every access (SameObject semantics).</Description><Identifier>_afaa9592-b316-44b0-ab1c-bac427912ee3</Identifier><SequenceIndicator>1.1</SequenceIndicator><Stakeholder StakeholderTypeType="Generic_Group"><Name>Browser Vendors</Name><Description>Implementers of the navigator.modelContext interface in browser engine code.</Description><Role><Name>Interface Implementer</Name><Description>Implements the SameObject navigator.modelContext interface in browser engine; enforces SecureContext restriction.</Description><RoleType>Performer</RoleType></Role></Stakeholder><OtherInformation/><PerformanceIndicator ValueChainStage="Output" PerformanceIndicatorType="Qualitative"><SequenceIndicator>1.1.a</SequenceIndicator><MeasurementDimension>Interface specification completeness</MeasurementDimension><UnitOfMeasurement>Published WebIDL interface definition (complete / incomplete)</UnitOfMeasurement><Identifier>pi-1-1-a</Identifier><Relationship><Identifier>PLACEHOLDER_1</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><NumberOfUnits>1</NumberOfUnits><StartDate/><EndDate>2027-06-30</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Complete</DescriptorValue></Descriptor><Description>A single, complete WebIDL interface definition for navigator.modelContext published in the W3C Draft specification, covering SameObject semantics and SecureContext restriction.
^^
1 = Complete | 2 = Incomplete</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator><PerformanceIndicator ValueChainStage="Output" PerformanceIndicatorType="Quantitative"><SequenceIndicator>1.1.b</SequenceIndicator><MeasurementDimension>Conformance tests for interface entry point</MeasurementDimension><UnitOfMeasurement>Number of Web Platform Tests (WPT) test cases</UnitOfMeasurement><Identifier>pi-1-1-b</Identifier><Relationship><Identifier>PLACEHOLDER_2</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2027-12-31</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Tested</DescriptorValue></Descriptor><NumberOfUnits>3</NumberOfUnits><Description>Minimum 3 WPT test cases: (1) navigator.modelContext defined in SecureContext; (2) SameObject identity assertion; (3) undefined in non-SecureContext (HTTP).</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator></Objective><!-- Objective 1.2 --><Objective><Name>Tool Registration Methods</Name><Description>Define and stabilize the four tool lifecycle methods — provideContext, clearContext, registerTool, unregisterTool — with clear semantics for replacement vs. additive registration.</Description><Identifier>_73f50c75-bc38-4639-96fd-0c52104859de</Identifier><SequenceIndicator>1.2</SequenceIndicator><Stakeholder StakeholderTypeType="Generic_Group"><Name>Web Developers</Name><Description>Primary users of the tool registration lifecycle methods.</Description><Role><Name>API Consumer</Name><Description>Calls provideContext, registerTool, unregisterTool, and clearContext to manage tool availability throughout the page lifecycle.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><OtherInformation/><PerformanceIndicator ValueChainStage="Output" PerformanceIndicatorType="Quantitative"><SequenceIndicator>1.2.a</SequenceIndicator><MeasurementDimension>Tool lifecycle methods specified with normative semantics</MeasurementDimension><UnitOfMeasurement>Number of methods with complete specification and conformance tests</UnitOfMeasurement><Identifier>pi-1-2-a</Identifier><Relationship><Identifier>PLACEHOLDER_3</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2027-06-30</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Specified</DescriptorValue></Descriptor><NumberOfUnits>4</NumberOfUnits><Description>All four methods (provideContext, clearContext, registerTool, unregisterTool) specified with normative prose, edge-case handling, and at least one conformance test each.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator><PerformanceIndicator ValueChainStage="Outcome" PerformanceIndicatorType="Qualitative"><SequenceIndicator>1.2.b</SequenceIndicator><MeasurementDimension>Developer ergonomics and predictability of registration API</MeasurementDimension><UnitOfMeasurement>Absence of known ambiguity bugs filed against lifecycle semantics (yes / no)</UnitOfMeasurement><Identifier>pi-1-2-b</Identifier><Relationship><Identifier>PLACEHOLDER_4</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><NumberOfUnits>0</NumberOfUnits><StartDate/><EndDate>2028-06-30</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>None</DescriptorValue></Descriptor><Description>No unresolved issues in the W3C spec repository regarding ambiguous behavior of provideContext vs. registerTool replacement semantics.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator></Objective><!-- Objective 1.3 --><Objective><Name>Tool Object Schema</Name><Description>Specify the ModelContextTool dictionary — name, description, inputSchema (JSON Schema), execute callback, and annotations — so that tool definitions are self-describing, machine-validatable, and legible to AI agents without additional documentation.</Description><Identifier>_d2d9e872-8dac-47cf-91c4-79ce06abddc2</Identifier><SequenceIndicator>1.3</SequenceIndicator><Stakeholder StakeholderTypeType="Generic_Group"><Name>AI Platform Providers</Name><Description>Consume tool definitions to decide whether and how to call each tool; require self-describing schemas.</Description><Role><Name>Tool Definition Consumer</Name><Description>Reads name, description, and inputSchema to determine tool purpose, required inputs, and safety (readOnlyHint).</Description><RoleType>Beneficiary</RoleType></Role></Stakeholder><OtherInformation/><PerformanceIndicator ValueChainStage="Output" PerformanceIndicatorType="Quantitative"><SequenceIndicator>1.3.a</SequenceIndicator><MeasurementDimension>ModelContextTool dictionary fields specified</MeasurementDimension><UnitOfMeasurement>Number of fields with normative definition and JSON Schema example</UnitOfMeasurement><Identifier>pi-1-3-a</Identifier><Relationship><Identifier>PLACEHOLDER_5</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2027-06-30</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Specified</DescriptorValue></Descriptor><NumberOfUnits>5</NumberOfUnits><Description>All five fields (name, description, inputSchema, execute, annotations) defined normatively in WebIDL with at least one worked JSON Schema example in the specification.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator><PerformanceIndicator ValueChainStage="Outcome" PerformanceIndicatorType="Qualitative"><SequenceIndicator>1.3.b</SequenceIndicator><MeasurementDimension>Agent legibility of tool descriptions without documentation lookup</MeasurementDimension><UnitOfMeasurement>Conformance to description-field guidance (compliant / non-compliant)</UnitOfMeasurement><Identifier>pi-1-3-b</Identifier><Relationship><Identifier>PLACEHOLDER_6</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><NumberOfUnits>1</NumberOfUnits><StartDate/><EndDate>2027-12-31</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Best-practice authoring guide for description field published</DescriptorValue></Descriptor><Description>A normative or informative best-practice guide for writing agent-legible tool descriptions is published as part of or alongside the specification.
^^
1 = Published | 0 = Unpublished</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator></Objective><!-- Objective 1.4 --><Objective><Name>Human-in-Loop Mechanism</Name><Description>Specify requestUserInteraction(callback) on ModelContextClient so that tool execute functions can pause mid-execution to present a confirmation prompt to the user before completing consequential actions, with the agent waiting on the Promise resolution before proceeding.</Description><Identifier>_c6b7e764-1730-4782-a8e6-32ee3990f895</Identifier><SequenceIndicator>1.4</SequenceIndicator><Stakeholder StakeholderTypeType="Generic_Group"><Name>End Users</Name><Description>Humans present at the browser who receive confirmation prompts via requestUserInteraction before consequential actions are taken on their behalf.</Description><Role><Name>Consent Provider</Name><Description>Reviews and approves or rejects agent actions mid-execution via browser-presented confirmation prompts.</Description><RoleType>Beneficiary</RoleType></Role></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>Web Developers</Name><Description>Implement requestUserInteraction calls within execute functions for tools that make consequential changes.</Description><Role><Name>Consent Implementer</Name><Description>Inserts requestUserInteraction calls at appropriate points within tool execute functions.</Description><RoleType>Performer</RoleType></Role></Stakeholder><OtherInformation/><PerformanceIndicator ValueChainStage="Output" PerformanceIndicatorType="Qualitative"><SequenceIndicator>1.4.a</SequenceIndicator><MeasurementDimension>Specification completeness of requestUserInteraction mechanism</MeasurementDimension><UnitOfMeasurement>Normative specification published (yes / no)</UnitOfMeasurement><Identifier>pi-1-4-a</Identifier><Relationship><Identifier>PLACEHOLDER_7</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><NumberOfUnits>1</NumberOfUnits><StartDate/><EndDate>2027-06-30</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Published with normative prose and at least one code example</DescriptorValue></Descriptor><Description>The ModelContextClient interface and requestUserInteraction method are specified normatively with a worked code example showing a mid-execution purchase confirmation flow. ^^ 1 = yes | 0 = no</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator><PerformanceIndicator ValueChainStage="Outcome" PerformanceIndicatorType="Quantitative"><SequenceIndicator>1.4.b</SequenceIndicator><MeasurementDimension>Conformance test coverage for human-in-loop mechanism</MeasurementDimension><UnitOfMeasurement>Number of WPT test cases covering requestUserInteraction behavior</UnitOfMeasurement><Identifier>pi-1-4-b</Identifier><Relationship><Identifier>PLACEHOLDER_8</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2028-06-30</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Tested</DescriptorValue></Descriptor><NumberOfUnits>4</NumberOfUnits><Description>Minimum 4 WPT test cases: (1) callback invoked before execute resolves; (2) execute cancelled on user rejection; (3) execute proceeds on user approval; (4) Promise chain timing.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator></Objective></Goal><!-- ============================================================ --><!-- GOAL 2: SECURITY MODEL                                        --><!-- ============================================================ --><Goal><Name>Security Model</Name><Description>Ensure that WebMCP tool execution operates within the web's established security boundaries — origin isolation, encrypted transport, and user-present consent — so that adoption does not introduce new attack surfaces beyond those already present in the browser platform.</Description><Identifier>_c5b3259c-1930-4745-b7a8-1aad5b5222d7</Identifier><SequenceIndicator>2</SequenceIndicator><Stakeholder StakeholderTypeType="Generic_Group"><Name>End Users</Name><Description>Humans present at the browser whose data, actions, and consent are protected by the WebMCP security model.</Description><Role><Name>Security Beneficiary</Name><Description>Primary beneficiary of origin isolation, SecureContext requirements, and consent gap resolution; trusts that AI agents calling WebMCP tools cannot exfiltrate cross-origin data.</Description><RoleType>Beneficiary</RoleType></Role></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>Browser Vendors</Name><Description>Implementers responsible for enforcing SecureContext and origin isolation at the platform level.</Description><Role><Name>Security Enforcer</Name><Description>Implements platform-level enforcement of origin isolation and SecureContext requirements; primary performer of security model commitments in the specification.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><OtherInformation>Three security layers: (1) Origin isolation — tools registered on one origin cannot access another origin's data; (2) SecureContext requirement — WebMCP only available on HTTPS; (3) User-present model — requestUserInteraction provides per-action consent. Security inherits from existing web primitives rather than introducing new mechanisms.</OtherInformation><!-- Objective 2.1 --><Objective><Name>Origin Isolation</Name><Description>Enforce that tools registered on a given origin operate exclusively within that origin's security boundary, preventing cross-origin data access or action execution by agents calling WebMCP tools.</Description><Identifier>_1bd4e3a9-7009-4ef2-825e-11bc08dd522a</Identifier><SequenceIndicator>2.1</SequenceIndicator><Stakeholder StakeholderTypeType="Generic_Group"><Name>Browser Vendors</Name><Description>Enforce origin isolation at the platform level for WebMCP tool registrations.</Description><Role><Name>Origin Boundary Enforcer</Name><Description>Ensures that tools registered at one origin cannot be discovered or invoked by agents operating in a different origin's context.</Description><RoleType>Performer</RoleType></Role></Stakeholder><OtherInformation/><PerformanceIndicator ValueChainStage="Outcome" PerformanceIndicatorType="Quantitative"><SequenceIndicator>2.1.a</SequenceIndicator><MeasurementDimension>Known cross-origin data access vulnerabilities in WebMCP implementation</MeasurementDimension><UnitOfMeasurement>Number of open cross-origin vulnerability issues in browser bug tracker</UnitOfMeasurement><Identifier>pi-2-1-a</Identifier><Relationship><Identifier>PLACEHOLDER_9</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2028-12-31</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Confirmed</DescriptorValue></Descriptor><NumberOfUnits>0</NumberOfUnits><Description>Zero open, confirmed cross-origin access vulnerabilities attributable to WebMCP tool registration or invocation in any participating browser's bug tracker.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator><PerformanceIndicator ValueChainStage="Output" PerformanceIndicatorType="Quantitative"><SequenceIndicator>2.1.b</SequenceIndicator><MeasurementDimension>Conformance tests for cross-origin tool isolation</MeasurementDimension><UnitOfMeasurement>Number of WPT test cases asserting cross-origin tool invisibility</UnitOfMeasurement><Identifier>pi-2-1-b</Identifier><Relationship><Identifier>PLACEHOLDER_10</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2027-12-31</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Tested</DescriptorValue></Descriptor><NumberOfUnits>2</NumberOfUnits><Description>Minimum 2 WPT test cases: (1) tools registered at origin A are not discoverable from an iframe at origin B; (2) agent invocation from origin B cannot call tools registered at origin A.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator></Objective><!-- Objective 2.2 --><Objective><Name>SecureContext Enforcement</Name><Description>Require HTTPS (SecureContext) for all WebMCP functionality, preventing tool registration and agent tool calls on unencrypted HTTP pages to eliminate eavesdropping on tool invocations and responses.</Description><Identifier>_ce21dc59-a213-490c-97a4-a21faf7b5014</Identifier><SequenceIndicator>2.2</SequenceIndicator><Stakeholder StakeholderTypeType="Generic_Group"><Name>Web Developers</Name><Description>Required to serve WebMCP-enabled pages over HTTPS; this is the compliance obligation of site operators.</Description><Role><Name>HTTPS Operator</Name><Description>Ensures that any page registering WebMCP tools is served over HTTPS; bears responsibility for maintaining valid TLS certificates.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><OtherInformation/><PerformanceIndicator ValueChainStage="Output" PerformanceIndicatorType="Qualitative"><SequenceIndicator>2.2.a</SequenceIndicator><MeasurementDimension>SecureContext requirement normatively specified and tested</MeasurementDimension><UnitOfMeasurement>Specification normative requirement present and WPT test published (yes / no)</UnitOfMeasurement><Identifier>pi-2-2-a</Identifier><Relationship><Identifier>PLACEHOLDER_11</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><NumberOfUnits>1</NumberOfUnits><StartDate/><EndDate>2027-06-30</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Normative SecureContext requirement in spec with accompanying WPT test</DescriptorValue></Descriptor><Description>The specification normatively states that navigator.modelContext is only available in SecureContext, and at least one WPT test confirms it is undefined (or throws) on an HTTP origin.
^^
1 = Secure | 2 = Unsecured</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator></Objective><!-- Objective 2.3 --><Objective><Name>Consent Gap Resolution</Name><Description>Address the open design question of whether tool discovery (not just execution) should require explicit user permission, analogous to the camera/microphone/location permission prompt model, or whether the AI client layer is the appropriate place to manage agent access to tool manifests. Resolve the intended architecture and document it in the specification.</Description><Identifier>_ddd57691-3567-4876-b6fa-20d5f3d6f00b</Identifier><SequenceIndicator>2.3</SequenceIndicator><Stakeholder StakeholderTypeType="Generic_Group"><Name>End Users</Name><Description>Humans whose awareness of and consent to tool discovery is the subject of this open design question.</Description><Role><Name>Consent Subject</Name><Description>The person whose permission to expose tools to AI agents is — or should be — sought; the central stakeholder in the consent gap debate.</Description><RoleType>Beneficiary</RoleType></Role></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>AI Platform Providers</Name><Description>May be the appropriate layer for managing tool discovery consent if the specification delegates this to the AI client rather than the browser.</Description><Role><Name>Consent Architecture Decision-Maker</Name><Description>Participates in resolving whether consent for tool discovery belongs at the browser platform level or the AI agent client level.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><OtherInformation>Currently, any website can silently register tools discoverable by connected agents with no browser-level permission prompt. The per-action requestUserInteraction mechanism exists, but pre-discovery consent does not. This is a key open question for the specification team as of February 2026. Resolution of this question affects the trust model for all WebMCP-enabled deployments.</OtherInformation><PerformanceIndicator ValueChainStage="Outcome" PerformanceIndicatorType="Qualitative"><SequenceIndicator>2.3.a</SequenceIndicator><MeasurementDimension>Architectural decision on tool discovery consent documented in specification</MeasurementDimension><UnitOfMeasurement>Documented architectural decision with rationale (resolved / unresolved)</UnitOfMeasurement><Identifier>pi-2-3-a</Identifier><Relationship><Identifier>PLACEHOLDER_12</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><NumberOfUnits>1</NumberOfUnits><StartDate/><EndDate>2027-06-30</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Resolved — architectural decision documented with rationale</DescriptorValue></Descriptor><Description>The specification explicitly states whether tool discovery requires browser-level user permission (like camera/microphone) or whether this responsibility is delegated to the AI client layer, with rationale for the chosen architecture.
^^
1 = Resolved | 0 = Unresolved</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator><PerformanceIndicator ValueChainStage="Input_Processing" PerformanceIndicatorType="Quantitative"><SequenceIndicator>2.3.b</SequenceIndicator><MeasurementDimension>Stakeholder feedback on consent architecture solicited and reviewed</MeasurementDimension><UnitOfMeasurement>Number of formal public comments on consent gap received and responded to</UnitOfMeasurement><Identifier>pi-2-3-b</Identifier><Relationship><Identifier>PLACEHOLDER_13</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2027-03-31</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Addressed</DescriptorValue></Descriptor><NumberOfUnits>10</NumberOfUnits><Description>At least 10 formal public comments on the consent gap issue solicited, received, and addressed in the specification issues tracker before the architectural decision is finalized.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator></Objective></Goal><!-- ============================================================ --><!-- GOAL 3: ECOSYSTEM TOOLING                                     --><!-- ============================================================ --><Goal><Name>Ecosystem Tooling</Name><Description>Develop and publish open-source tooling that supports quality, documentation, validation, and discoverability of MCP servers and WebMCP browser tools, lowering implementation barriers and establishing consistent standards for the ecosystem.</Description><Identifier>_c11e0739-851a-4fdd-a8e2-61e362423aec</Identifier><SequenceIndicator>3</SequenceIndicator><Stakeholder StakeholderTypeType="Organization"><Name>Starborn</Name><Description>Open-source contributor responsible for the MCP Server Generator, MCP Server Validator, MCP Model Card Generator, MCP Model Card Specification v1.0, and WebMCP Model Card Generator tools. (GitHub: Starborn)</Description><Role><Name>Primary Tool Developer</Name><Description>Designs, builds, and maintains all five ecosystem quality tools; responds to community issues and publishes releases.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>MCP Server Developers</Name><Description>Developers building backend MCP servers who benefit from generator, validator, and model card tooling.</Description><Role><Name>Tooling Consumer</Name><Description>Uses MCP Server Generator to scaffold servers, Validator to check security, and Model Card Generator to document them.</Description><RoleType>Beneficiary</RoleType></Role></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>WebMCP Tool Authors</Name><Description>Web developers building browser-side WebMCP tools who benefit from the WebMCP-specific model card generator and documentation standards.</Description><Role><Name>Browser-Side Tooling Consumer</Name><Description>Uses WebMCP Model Card Generator to produce standardized documentation for browser-side tool registrations.</Description><RoleType>Beneficiary</RoleType></Role></Stakeholder><OtherInformation>Five tools form the quality pipeline: (1) MCP Server Generator — scaffold production-ready server code; (2) MCP Server Validator — static analysis scoring Critical to Excellent; (3) MCP Model Card Generator — machine and human-readable documentation; (4) MCP Model Card Specification v1.0 — six section formal standard; (5) WebMCP Model Card Generator — twelve section browser-specific documentation. Tools 1-4 target backend MCP; tool 5 targets browser-side WebMCP.</OtherInformation><!-- Objective 3.1 --><Objective><Name>MCP Server Generator</Name><Description>Provide an open-source scaffold generator that produces production-ready MCP server code from a natural-language description, reducing implementation time and promoting consistent server structure. (github.com/Starborn/MCP-Server-Generator)</Description><Identifier>_42fa4d5e-b7dc-48e6-ac4b-64038f5bfcbb</Identifier><SequenceIndicator>3.1</SequenceIndicator><Stakeholder StakeholderTypeType="Organization"><Name>Starborn</Name><Description>Developer and maintainer of the MCP Server Generator tool.</Description><Role><Name>Tool Developer</Name><Description>Builds, releases, and maintains the scaffold generator; processes community contributions and bug reports.</Description><RoleType>Performer</RoleType></Role></Stakeholder><OtherInformation/><PerformanceIndicator ValueChainStage="Output" PerformanceIndicatorType="Quantitative"><SequenceIndicator>3.1.a</SequenceIndicator><MeasurementDimension>Stable releases of MCP Server Generator published</MeasurementDimension><UnitOfMeasurement>Number of tagged GitHub releases</UnitOfMeasurement><Identifier>pi-3-1-a</Identifier><Relationship><Identifier>PLACEHOLDER_14</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2027-12-31</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Stable</DescriptorValue></Descriptor><NumberOfUnits>2</NumberOfUnits><Description>Minimum 2 stable tagged releases of MCP Server Generator published on GitHub, each producing syntactically valid, runnable MCP server scaffold code from a natural-language description.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator><PerformanceIndicator ValueChainStage="Outcome" PerformanceIndicatorType="Quantitative"><SequenceIndicator>3.1.b</SequenceIndicator><MeasurementDimension>Community adoption of MCP Server Generator</MeasurementDimension><UnitOfMeasurement>Number of GitHub stars</UnitOfMeasurement><Identifier>pi-3-1-b</Identifier><Relationship><Identifier>PLACEHOLDER_15</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2028-12-31</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Adopted</DescriptorValue></Descriptor><NumberOfUnits>100</NumberOfUnits><Description>At least 100 GitHub stars on the MCP Server Generator repository, indicating meaningful community discovery and adoption.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator></Objective><!-- Objective 3.2 --><Objective><Name>MCP Server Validator</Name><Description>Provide static analysis tooling that scores MCP server code for security vulnerabilities, naming compliance, and known attack patterns (including tool poisoning) without executing the code, giving developers actionable remediation guidance before deployment. (github.com/Starborn/MCP-Server-Validator)</Description><Identifier>_b897f25c-2d3f-40c7-9a0a-f0e67545d662</Identifier><SequenceIndicator>3.2</SequenceIndicator><Stakeholder StakeholderTypeType="Generic_Group"><Name>MCP Server Developers</Name><Description>Run the validator against their server code before deployment to surface security and quality issues.</Description><Role><Name>Validator User</Name><Description>Submits MCP server code to the validator; receives security score and remediation guidance; acts on findings before deployment.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><OtherInformation/><PerformanceIndicator ValueChainStage="Output" PerformanceIndicatorType="Quantitative"><SequenceIndicator>3.2.a</SequenceIndicator><MeasurementDimension>Vulnerability and attack pattern categories detected by the validator</MeasurementDimension><UnitOfMeasurement>Number of distinct vulnerability/attack pattern detection rules</UnitOfMeasurement><Identifier>pi-3-2-a</Identifier><Relationship><Identifier>PLACEHOLDER_16</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2027-12-31</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Detected</DescriptorValue></Descriptor><NumberOfUnits>10</NumberOfUnits><Description>Validator detects at least 10 distinct rule categories including: hardcoded credentials, missing input validation, tool poisoning patterns, insecure transport, and naming convention violations.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator><PerformanceIndicator ValueChainStage="Outcome" PerformanceIndicatorType="Qualitative"><SequenceIndicator>3.2.b</SequenceIndicator><MeasurementDimension>Scoring rubric completeness and actionability</MeasurementDimension><UnitOfMeasurement>Five-tier scoring rubric published with per-tier remediation guidance (published / not published)</UnitOfMeasurement><Identifier>pi-3-2-b</Identifier><Relationship><Identifier>PLACEHOLDER_17</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2027-06-30</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Published — Critical / Poor / Fair / Good / Excellent tiers with remediation steps</DescriptorValue></Descriptor><Description>All five scoring tiers (Critical below 25%, Poor 25-49%, Fair 50-74%, Good 75-89%, Excellent 90-100%) documented with specific remediation steps available to developers.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator></Objective><!-- Objective 3.3 --><Objective><Name>MCP Model Card Specification</Name><Description>Publish and maintain a formal six-section model card specification (server identity, tool documentation, operational characteristics, security profile, deployment context, evaluation results) as a shared documentation standard for the MCP ecosystem. (starborn.github.io/MCP-Model-Card-Generator/)</Description><Identifier>_7e015c4b-6621-42ef-9fb3-2666fb93ecfc</Identifier><SequenceIndicator>3.3</SequenceIndicator><Stakeholder StakeholderTypeType="Organization"><Name>Starborn</Name><Description>Author and publisher of the MCP Model Card Specification v1.0.</Description><Role><Name>Specification Author</Name><Description>Defines, publishes, and maintains the six-section model card standard; accepts community pull requests and issue reports.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><OtherInformation/><PerformanceIndicator ValueChainStage="Output" PerformanceIndicatorType="Quantitative"><SequenceIndicator>3.3.a</SequenceIndicator><MeasurementDimension>Formal sections in the MCP Model Card Specification</MeasurementDimension><UnitOfMeasurement>Number of normatively defined sections</UnitOfMeasurement><Identifier>pi-3-3-a</Identifier><Relationship><Identifier>PLACEHOLDER_18</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2026-12-31</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Published</DescriptorValue></Descriptor><NumberOfUnits>6</NumberOfUnits><Description>All six sections (server identity, tool documentation, operational characteristics, security profile, deployment context, evaluation results) normatively defined and published at starborn.github.io/MCP-Model-Card-Generator/.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator></Objective><!-- Objective 3.4 --><Objective><Name>WebMCP Model Card Generator</Name><Description>Provide a twelve-section documentation generator specific to browser-side WebMCP tools, covering navigator.modelContext API modes, origin-based security, user interaction patterns, and browser compatibility testing — addressing the distinct concerns of frontend tool authors versus backend server developers. (starborn.github.io/webmcp/)</Description><Identifier>_11940388-4f56-432d-8b23-811afb5d2063</Identifier><SequenceIndicator>3.4</SequenceIndicator><Stakeholder StakeholderTypeType="Generic_Group"><Name>WebMCP Tool Authors</Name><Description>Use the WebMCP Model Card Generator to produce standardized twelve-section documentation for their browser-side tool registrations.</Description><Role><Name>Documentation Generator User</Name><Description>Inputs tool metadata and receives a structured twelve-section model card in JSON (machine-readable) and Markdown (human-readable) formats.</Description><RoleType>Beneficiary</RoleType></Role></Stakeholder><OtherInformation/><PerformanceIndicator ValueChainStage="Output" PerformanceIndicatorType="Quantitative"><SequenceIndicator>3.4.a</SequenceIndicator><MeasurementDimension>Browser-specific documentation sections in WebMCP Model Card Generator</MeasurementDimension><UnitOfMeasurement>Number of sections covered in the generator output</UnitOfMeasurement><Identifier>pi-3-4-a</Identifier><Relationship><Identifier>PLACEHOLDER_19</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2026-12-31</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Published</DescriptorValue></Descriptor><NumberOfUnits>12</NumberOfUnits><Description>All twelve sections covering browser-specific concerns (including navigator.modelContext API modes, origin-based security, user interaction patterns, and browser compatibility testing) implemented and published at starborn.github.io/webmcp/.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator><PerformanceIndicator ValueChainStage="Outcome" PerformanceIndicatorType="Qualitative"><SequenceIndicator>3.4.b</SequenceIndicator><MeasurementDimension>Time from new WebMCP spec publication to corresponding generator update</MeasurementDimension><UnitOfMeasurement>Days between WebMCP spec change and corresponding generator release</UnitOfMeasurement><Identifier>pi-3-4-b</Identifier><Relationship><Identifier>PLACEHOLDER_20</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><NumberOfUnits>30</NumberOfUnits><StartDate/><EndDate>2028-12-31</EndDate><Descriptor><DescriptorName>Responsiveness</DescriptorName><DescriptorValue>Generator updated within 30 days of any normative WebMCP spec change</DescriptorValue></Descriptor><Description>The WebMCP Model Card Generator is updated within 30 calendar days whenever a normative change to the WebMCP specification affects model card content, as demonstrated by release notes referencing the spec change.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator></Objective></Goal><!-- ============================================================ --><!-- GOAL 4: STANDARDS ADVANCEMENT                                 --><!-- ============================================================ --><Goal><Name>Standards Advancement</Name><Description>Advance WebMCP from Draft Community Group Report through the W3C standards process toward a full W3C Recommendation, while enabling early experimental browser implementation and ecosystem adoption in parallel with the formal process.</Description><Identifier>_05071cd1-887a-48ee-94b8-68dd55886930</Identifier><SequenceIndicator>4</SequenceIndicator><Stakeholder StakeholderTypeType="Organization"><Name>W3C Web Machine Learning Community Group</Name><Description>Incubating the spec and producing the Draft Community Group Report that initiates the standards track.</Description><Role><Name>Specification Incubator</Name><Description>Produces and publishes the Draft Community Group Report; solicits feedback; develops Working Group charter proposal.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><Stakeholder StakeholderTypeType="Organization"><Name>Google Chrome</Name><Description>Browser implementer expected to ship experimental WebMCP support behind a flag in Chrome ahead of full standardization.</Description><Role><Name>Early Implementer</Name><Description>Ships experimental navigator.modelContext behind a Chrome flag; provides real-world implementation feedback to the specification process.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>Standards Contributors</Name><Description>Technical contributors — tool authors, AI platform engineers, web developers, and security researchers — participating in the specification process through W3C channels.</Description><Role><Name>Specification Reviewer and Contributor</Name><Description>Reviews draft specification text, files issues, submits pull requests, and participates in Community Group calls and Working Group processes.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><OtherInformation>Current status as of February 2026: Draft Community Group Report. Not yet on W3C Standards Track; not yet a W3C Recommendation. Typical path: Community Group Report → Working Group charter → Working Draft → Candidate Recommendation → W3C Recommendation. Full standardization typically takes years. Chrome experimental (flag) implementation may arrive significantly sooner. MCP-B polyfill provides interim implementation capability.</OtherInformation><!-- Objective 4.1 --><Objective><Name>Working Group Charter</Name><Description>Develop a Working Group charter proposal to bring WebMCP onto the formal W3C Standards Track, transitioning it from Community Group incubation to an official W3C deliverable with IP commitments from participating organizations.</Description><Identifier>_be02b412-d5b6-400b-9e84-8e2766066e98</Identifier><SequenceIndicator>4.1</SequenceIndicator><Stakeholder StakeholderTypeType="Organization"><Name>W3C Web Machine Learning Community Group</Name><Description>Responsible for drafting and submitting the Working Group charter proposal to the W3C Advisory Committee.</Description><Role><Name>Charter Author</Name><Description>Drafts scope, deliverables, timeline, and participation requirements for the proposed Working Group charter.</Description><RoleType>Performer</RoleType></Role></Stakeholder><OtherInformation/><PerformanceIndicator ValueChainStage="Output_Processing" PerformanceIndicatorType="Qualitative"><SequenceIndicator>4.1.a</SequenceIndicator><MeasurementDimension>Working Group charter proposal milestone</MeasurementDimension><UnitOfMeasurement>Charter proposal submitted to W3C Advisory Committee (yes / no)</UnitOfMeasurement><Identifier>pi-4-1-a</Identifier><Relationship><Identifier>PLACEHOLDER_21</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><NumberOfUnits>1</NumberOfUnits><StartDate/><EndDate>2027-12-31</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Charter proposal submitted to W3C Advisory Committee for review</DescriptorValue></Descriptor><Description>A formal Working Group charter proposal for WebMCP has been drafted, reviewed by Community Group participants, and submitted to the W3C Advisory Committee for its consideration by end of 2027.
^^
1 = Submitted | 0 = Unsubmitted</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator></Objective><!-- Objective 4.2 --><Objective><Name>Chrome Experimental Implementation</Name><Description>Ship an experimental implementation of navigator.modelContext behind a browser flag in Chrome, enabling real-world developer testing and feedback to inform specification refinement before the standard is finalized.</Description><Identifier>_fe6f80c3-73db-483f-a502-87aa56d411b4</Identifier><SequenceIndicator>4.2</SequenceIndicator><Stakeholder StakeholderTypeType="Organization"><Name>Google Chrome</Name><Description>Browser engineering team responsible for the experimental implementation behind a Chrome flag.</Description><Role><Name>Experimental Implementer</Name><Description>Implements navigator.modelContext in Chromium source; ships behind an intent-to-experiment flag; collects developer feedback via chromium issue tracker.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><OtherInformation/><PerformanceIndicator ValueChainStage="Output" PerformanceIndicatorType="Qualitative"><SequenceIndicator>4.2.a</SequenceIndicator><MeasurementDimension>Experimental Chrome implementation shipped behind flag</MeasurementDimension><UnitOfMeasurement>Implementation available in Chrome Canary / Dev channel (yes / no)</UnitOfMeasurement><Identifier>pi-4-2-a</Identifier><Relationship><Identifier>PLACEHOLDER_22</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><NumberOfUnits>1</NumberOfUnits><StartDate/><EndDate>2027-06-30</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>navigator.modelContext available in Chrome Canary behind flag</DescriptorValue></Descriptor><Description>navigator.modelContext is available behind a Chrome experiment flag in Chrome Canary or Dev channel, enabling web developers to test tool registration and agent invocation against a real browser implementation.
^^
1 = Implemented | 2 = Unimplemented</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator><PerformanceIndicator ValueChainStage="Outcome" PerformanceIndicatorType="Quantitative"><SequenceIndicator>4.2.b</SequenceIndicator><MeasurementDimension>Developer feedback issues filed against experimental implementation</MeasurementDimension><UnitOfMeasurement>Number of developer-filed issues in Chromium bug tracker addressed before specification freeze</UnitOfMeasurement><Identifier>pi-4-2-b</Identifier><Relationship><Identifier>PLACEHOLDER_23</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2028-06-30</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Addressed</DescriptorValue></Descriptor><NumberOfUnits>20</NumberOfUnits><Description>At least 20 developer-filed implementation feedback issues reviewed and addressed (resolved, wontfix, or deferred with rationale) before the specification advances to Candidate Recommendation.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator></Objective><!-- Objective 4.3 --><Objective><Name>Polyfill Bridge (MCP-B)</Name><Description>Maintain MCP-B as a community-supported polyfill implementing navigator.modelContext via browser extension and JavaScript library, translating between WebMCP's browser-native format and MCP's JSON-RPC wire protocol, so developers and AI clients can adopt WebMCP today without waiting for native browser support. (WebMCP-org on GitHub)</Description><Identifier>_272eae70-43ed-4123-9563-de16c42d6205</Identifier><SequenceIndicator>4.3</SequenceIndicator><Stakeholder StakeholderTypeType="Organization"><Name>WebMCP-org Community</Name><Description>The open-source community maintaining the MCP-B polyfill on GitHub under the WebMCP-org organization.</Description><Role><Name>Polyfill Maintainer</Name><Description>Maintains the MCP-B browser extension and JavaScript library; keeps the polyfill synchronized with the evolving WebMCP spec.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>AI Platform Providers</Name><Description>Use MCP-B to connect their existing MCP clients to browser-side WebMCP tools before native browser support arrives.</Description><Role><Name>Polyfill Consumer</Name><Description>Integrates MCP-B transport into their AI agent clients to enable calling WebMCP tools through the existing MCP wire protocol.</Description><RoleType>Beneficiary</RoleType></Role></Stakeholder><OtherInformation/><PerformanceIndicator ValueChainStage="Output" PerformanceIndicatorType="Quantitative"><SequenceIndicator>4.3.a</SequenceIndicator><MeasurementDimension>WebMCP API surface covered by MCP-B polyfill</MeasurementDimension><UnitOfMeasurement>Percentage of navigator.modelContext methods implemented in MCP-B</UnitOfMeasurement><Identifier>pi-4-3-a</Identifier><Relationship><Identifier>PLACEHOLDER_24</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2027-12-31</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Implemented</DescriptorValue></Descriptor><NumberOfUnits>100</NumberOfUnits><Description>MCP-B implements 100% of the navigator.modelContext API surface: provideContext, clearContext, registerTool, unregisterTool, and ModelContextClient.requestUserInteraction.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator></Objective><!-- Objective 4.4 --><Objective><Name>Public Feedback Integration</Name><Description>Solicit and incorporate structured feedback from the broader web development community, AI platform providers, security researchers, and user advocates — particularly on the consent gap and the intended architecture for agent-client-level vs. browser-level access control — before the specification advances beyond Draft status.</Description><Identifier>_5e7c6e97-eee7-4781-8ac7-f30b1e493b1e</Identifier><SequenceIndicator>4.4</SequenceIndicator><Stakeholder StakeholderTypeType="Generic_Group"><Name>Standards Contributors</Name><Description>Broad community of developers, security researchers, and AI platform engineers providing feedback on the draft specification.</Description><Role><Name>Public Reviewer</Name><Description>Files issues, submits pull requests, and participates in Community Group calls to shape the specification before it advances.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><OtherInformation/><PerformanceIndicator ValueChainStage="Input_Processing" PerformanceIndicatorType="Quantitative"><SequenceIndicator>4.4.a</SequenceIndicator><MeasurementDimension>Public comments received and formally addressed before Draft advances</MeasurementDimension><UnitOfMeasurement>Number of GitHub issues with documented resolution before advancing from Draft</UnitOfMeasurement><Identifier>pi-4-4-a</Identifier><Relationship><Identifier>PLACEHOLDER_25</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2027-06-30</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Resolved</DescriptorValue></Descriptor><NumberOfUnits>25</NumberOfUnits><Description>At least 25 substantive GitHub issues resolved (closed with rationale, merged, or formally deferred) before the specification advances from Draft Community Group Report to Working Draft status.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator><PerformanceIndicator ValueChainStage="Outcome" PerformanceIndicatorType="Qualitative"><SequenceIndicator>4.4.b</SequenceIndicator><MeasurementDimension>Diversity of reviewer organizations providing substantive feedback</MeasurementDimension><UnitOfMeasurement>Number of distinct organizations providing at least one resolved substantive comment</UnitOfMeasurement><Identifier>pi-4-4-b</Identifier><Relationship><Identifier>PLACEHOLDER_26</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2027-06-30</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Diverse</DescriptorValue></Descriptor><NumberOfUnits>5</NumberOfUnits><Description>At least 5 distinct organizations (including AI platform providers, browser vendors, web developer tool companies, and security research organizations) each provide at least one resolved substantive comment before the Draft advances.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator></Objective></Goal><!-- ============================================================ --><!-- GOAL 5: MCP INTEROPERABILITY                                  --><!-- ============================================================ --><Goal><Name>MCP Interoperability</Name><Description>Ensure that WebMCP is architecturally complementary to — not competing with — Anthropic's Model Context Protocol (MCP), so that AI agents and AI platforms can interact with both server-side MCP tools and browser-side WebMCP tools through a coherent, interoperable ecosystem.</Description><Identifier>_c1e9f2e7-e8ff-4ff4-85f8-2d6a94772ba3</Identifier><SequenceIndicator>5</SequenceIndicator><Stakeholder StakeholderTypeType="Organization"><Name>Anthropic</Name><Description>Creator of the foundational MCP standard on which WebMCP concepts are based; provider of Claude agents that are primary consumers of both MCP and WebMCP tools.</Description><Role><Name>Protocol Originator and AI Agent Provider</Name><Description>Maintains the MCP specification that WebMCP is designed to complement; ships Claude agents that benefit from coherent MCP/WebMCP interoperability.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><Stakeholder StakeholderTypeType="Organization"><Name>OpenAI</Name><Description>AI platform provider whose agents (ChatGPT, Agents SDK) support MCP and are expected consumers of WebMCP tools.</Description><Role><Name>AI Agent Provider</Name><Description>Integrates WebMCP tool discovery into ChatGPT and Agents SDK; benefits from protocol alignment reducing per-platform integration work.</Description><RoleType>Beneficiary</RoleType></Role></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>MCP Client Developers</Name><Description>Developers building MCP-compatible agents and tools (Claude Desktop, OpenAI Agents SDK) who need WebMCP tools accessible through existing MCP infrastructure.</Description><Role><Name>Client Integrator</Name><Description>Integrates MCP-B or native WebMCP transport into existing MCP client implementations to enable browser-side tool invocation.</Description><RoleType>Performer</RoleType><RoleType>Beneficiary</RoleType></Role></Stakeholder><OtherInformation>Relationship: MCP (backend, server-side, JSON-RPC wire protocol) is the foundation. WebMCP adapts MCP concepts for the browser frontend without requiring a backend server. MCP-B bridges the two by translating WebMCP's browser-native format to MCP wire protocol, enabling existing MCP clients to call WebMCP tools. The three are complementary layers, not competing specifications.</OtherInformation><!-- Objective 5.1 --><Objective><Name>Protocol Alignment</Name><Description>Maintain conceptual and structural alignment between WebMCP tool definitions (name, description, inputSchema, execute) and MCP tool definitions so that developers familiar with MCP can adopt WebMCP with minimal additional learning, and so that tooling can serve both ecosystems.</Description><Identifier>_50b727ac-60a7-4a93-ba5e-2e77ed2f20da</Identifier><SequenceIndicator>5.1</SequenceIndicator><Stakeholder StakeholderTypeType="Organization"><Name>W3C Web Machine Learning Community Group</Name><Description>Responsible for maintaining alignment between WebMCP tool definition fields and MCP tool definition fields during spec evolution.</Description><Role><Name>Alignment Maintainer</Name><Description>Reviews proposed WebMCP schema changes against MCP tool definition schema; documents divergences with rationale; coordinates with Anthropic on cross-protocol consistency.</Description><RoleType>Performer</RoleType></Role></Stakeholder><OtherInformation/><PerformanceIndicator ValueChainStage="Output" PerformanceIndicatorType="Quantitative"><SequenceIndicator>5.1.a</SequenceIndicator><MeasurementDimension>WebMCP tool definition fields mapped to MCP equivalents in specification</MeasurementDimension><UnitOfMeasurement>Number of WebMCP tool fields with documented MCP mapping or documented divergence rationale</UnitOfMeasurement><Identifier>pi-5-1-a</Identifier><Relationship><Identifier>PLACEHOLDER_27</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2027-06-30</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Mapped</DescriptorValue></Descriptor><NumberOfUnits>5</NumberOfUnits><Description>All five WebMCP tool definition fields (name, description, inputSchema, execute/handler, annotations) explicitly mapped to their MCP equivalents or accompanied by a normative rationale for any divergence, published in the specification.</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator><PerformanceIndicator ValueChainStage="Outcome" PerformanceIndicatorType="Qualitative"><SequenceIndicator>5.1.b</SequenceIndicator><MeasurementDimension>Developer migration effort from MCP to WebMCP tool authoring</MeasurementDimension><UnitOfMeasurement>Migration guide available (yes / no); estimated learning time (hours)</UnitOfMeasurement><Identifier>pi-5-1-b</Identifier><Relationship><Identifier>PLACEHOLDER_28</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><NumberOfUnits>1</NumberOfUnits><StartDate/><EndDate>2027-12-31</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Published migration guide with estimated 2-hour learning curve for MCP-familiar developers</DescriptorValue></Descriptor><Description>A migration guide is published showing MCP-familiar developers how to author WebMCP tools, with an estimated onboarding time of 2 hours or less for developers already proficient in MCP server development.
^^
1 = Available | 0 = Unavailable</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator></Objective><!-- Objective 5.2 --><Objective><Name>MCP-B Compatibility</Name><Description>Ensure that the MCP-B polyfill faithfully translates WebMCP tool registrations to MCP wire protocol (JSON-RPC), enabling existing MCP clients — Claude Desktop, OpenAI Agents SDK, and others — to discover and call browser-side WebMCP tools without modification to the client software.</Description><Identifier>_b90c3f84-0f51-47f2-a23a-4d575412242f</Identifier><SequenceIndicator>5.2</SequenceIndicator><Stakeholder StakeholderTypeType="Organization"><Name>WebMCP-org Community</Name><Description>Maintainers of MCP-B responsible for faithful protocol translation between WebMCP browser format and MCP JSON-RPC wire protocol.</Description><Role><Name>Bridge Implementer</Name><Description>Implements and maintains the translation layer between WebMCP's browser-native tool registration format and MCP's JSON-RPC wire protocol; validates against both specs.</Description><RoleType>Performer</RoleType></Role></Stakeholder><Stakeholder StakeholderTypeType="Generic_Group"><Name>MCP Client Developers</Name><Description>Benefit from MCP-B compatibility by calling WebMCP tools through their existing unmodified MCP client infrastructure.</Description><Role><Name>Unmodified Client Beneficiary</Name><Description>Discovers and calls browser-side WebMCP tools through existing MCP clients (Claude Desktop, Agents SDK) without any client-side code changes.</Description><RoleType>Beneficiary</RoleType></Role></Stakeholder><OtherInformation/><PerformanceIndicator ValueChainStage="Outcome" PerformanceIndicatorType="Quantitative"><SequenceIndicator>5.2.a</SequenceIndicator><MeasurementDimension>MCP client operations successfully bridged to WebMCP tools via MCP-B</MeasurementDimension><UnitOfMeasurement>Percentage of MCP tool operation types (list, call, describe) passing round-trip compatibility tests</UnitOfMeasurement><Identifier>pi-5-2-a</Identifier><Relationship><Identifier>PLACEHOLDER_29</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2027-12-31</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Compatible</DescriptorValue></Descriptor><NumberOfUnits>100</NumberOfUnits><Description>100% of MCP tool operation types — list_tools, call_tool, and tool describe — pass round-trip compatibility tests between an unmodified MCP client and a WebMCP tool registered via MCP-B, with results verified against at least one conformant MCP client (e.g., Claude Desktop).</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator><PerformanceIndicator ValueChainStage="Output" PerformanceIndicatorType="Quantitative"><SequenceIndicator>5.2.b</SequenceIndicator><MeasurementDimension>MCP transport types supported by MCP-B</MeasurementDimension><UnitOfMeasurement>Number of MCP transport types supported (tab transport and extension transport)</UnitOfMeasurement><Identifier>pi-5-2-b</Identifier><Relationship><Identifier>PLACEHOLDER_30</Identifier><ReferentIdentifier/><Name/><Description/></Relationship><MeasurementInstance><TargetResult><StartDate/><EndDate>2027-06-30</EndDate><Descriptor><DescriptorName>Status</DescriptorName><DescriptorValue>Documented</DescriptorValue></Descriptor><NumberOfUnits>2</NumberOfUnits><Description>MCP-B implements and documents both transport types: (1) tab transport (within-tab communication for browser-native agents) and (2) extension transport (cross-process communication via browser extension for external MCP clients).</Description></TargetResult><ActualResult><Description>[To be determined]</Description><Descriptor><DescriptorName/><DescriptorValue/></Descriptor><StartDate/><EndDate/></ActualResult></MeasurementInstance><OtherInformation/></PerformanceIndicator></Objective></Goal></StrategicPlanCore><!-- AdministrativeInformation: per Part 2 schema, Submitter is a sibling, not a child --><AdministrativeInformation><Identifier>uuid-admin-webmcp-part2</Identifier><StartDate>2026-02-01</StartDate><EndDate>2028-12-31</EndDate><PublicationDate>2026-02-17</PublicationDate><Source>https://starborn.github.io/webmcp/webmcp-complete-guide.html</Source><Submitter><Identifier>uuid-submitter-owen-ambur</Identifier><GivenName>Owen</GivenName><Surname>Ambur</Surname><PhoneNumber/><EmailAddress>Owen.Ambur@verizon.net</EmailAddress></Submitter></AdministrativeInformation></PerformancePlanOrReport>