Meeting minutes
Anssi: to start, we will welcome our latest new participants:
… Ilya Grigorik and Ates Goral from Shopify
… Julia Pagnucco from Google
… Qi Pan from Xiaoyuzhou
… Achim Schlosser from Bertelsmann SE & Co. KGaA
… Tania Millan, David Crowe as an individual contributor
… welcome all to the WebML Community Group!
WebMCP
Repository: webmachinelearning/webmcp
State of the Union
WebMCP - Draft Community Group Report
Anssi: last time we welcomed new WebMCP spec editors Brandon, Khushal and Dominic and discussed practicalities of spec editing:
Anssi: we're now off to a great start with the spec and have diverse talent in this group that keeps on growing
… to that end, I want to make sure we make the best use of our talent pool
… and ensure everyone's contributions are well positioned
… first, I want to establish that all group participants, not just editors, are welcome to take an active role in advancing issue discussions, and proposing PRs
… no PR is too small!
… the editors will help review the proposals shared in GH issues and PRs
… if there are questions on contribution logistics, I'm always happy to help
… I have invited the broader web community to join us and I'm happy to see WebMCP experiments pop up that bring this technology to life and inform the spec development and its priorities
… the early seeds of the WebMCP spec draft were planted by prototyping activity by Alex and Jason, now WebMCP has advanced into browser vendors' experimental implementations
Achim: I'm working on data standards at Bertelsmann, looking the impact of business models on media consumption and change the AI brings
<jason> chrome canary releasing the webmcp implementation + going viral on various platforms caused massive influx in interest as you can see with the star history of the repo. 500 1.4k over a few days ()
Anssi: to that end, I'd like to share an update on the implementation front:
Anssi: an early preview of WebMCP is now available behind a flag in Chrome 146
Anssi: here's how to test this early experimental WebMCP today:
… 1) get Chrome Canary 146+
… 2) enable chrome://
… 3) try experimental WebMCP demos, e.g. those shared in issue #90:
<gb> Issue 90 [Improvement]: List of sites supporting WebMCP (by javixeneize)
Experimental WebMCP utils and demos by GoogleChromeLabs
Model Context Tool Inspector by Francois
Anssi: WebMCP bridge is an interesting experiment that lets you connect to any remote MCP server and exposes its tools to WebMCP API
Dominic: Early Preview Program is available to gather feedback from early adopters re early implementation
Anssi: if we look at the state of the spec
… besides the algorithmic prose, there's a lot of informative text that welcomes contributions from all group participants:
… for example, introduction, terminology, security, privacy and accessibility sections, also sample code snippets
… below the IDL blocks we have non-normative green "for web developers" descriptions that benefit from review and comments from web developers who are the users of the API
… the normative descriptions are guidelines for browser implementers that ensure interoperability
Chris: considering the excitement could we make this meeting weekly?
<AlexN> +1
<jason> Is there appetite for recording calls for folks that cannot attend?
Updated declarative proposal
Anssi: the group agreed to evolve the declarative proposal alongside the imperative WebMCP
… an updated declarative proposal is discussed in issue #22 and the proposal itself is in PR #76, superseding PR #26
<gb> Pull Request 76 Declarative API Explainer (by domfarolino) [Agenda+]
<gb> Issue 22 Declarative API Equivalent (by EisenbergEffect) [declarative]
<gb> CLOSED Pull Request 26 Declarative proposal to expose tools via HTML (by MiguelsPizza)
Anssi: PR #76 is currently marked as draft
… Dominic, would you like to introduce the new declarative explainer and the remaining TODOs?
Dominic: the PR is now ready for review
… it's in a good shape as an initial explainer
… on top of this PR, for TODOs, we want to spec input schema details
WebMCP declarative API (PR preview)
Dominic: TODOs are not blocking the initial PR from landing
Dominic: I'm also working on a bigger spec change to improve internal structures on how to register tools, with reusability in mind
BenV: I think the explainer is in a good shape, a few questions I'll share in the PR soon
Anssi: in issue #22 I see the community is developing more prototypes
<gb> Issue 22 Declarative API Equivalent (by EisenbergEffect) [declarative]
Agent allowlist
Anssi: issue comment webmachinelearning/
<gb> Issue 51 Define the API for in-page Agents to use a site's declared tools (by khushalsagar) [Agenda+]
Anssi: Alex brought up a proposal for the "agent allowlist" to give more agency to the user and web author
… the motivating use case is from an enterprise perspective
… an enterprise may have developed its own internal browser extension for its userbase and web apps that define tools via WebMCP
… and the same enterprise wants to allow its own extension to call these WebMCP tools, but does not want to expose these same tools to 1P agents built into the browser
… I believe there may be e.g. legal or compliance reasons that vary by country that would require such a feature
… I could envision finance or health sector may have stricter requirements in this regard
… would the group support further work on this feature, starting with documenting this use case to understand the requirements?
Alex: that was spot on, companies have compliance reasons for this feature to exist
Reilly: I'm only familiar with Chrome enterprise features, e.g. limiting copy-pasting between sites
… could this be an enterprise policy setting in browser
<johannhof> Is there some duplication with webmachinelearning/
<gb> Issue 96 Proposal: [Section 3] Address agent-to-tool trust — identity, scoped permissions, and delegation context (by davidcrowe)
Alex: iframe in a page vs. libraries built by the community
<BenGreenstein> Chrome WebMCP Early Preview: https://
Dominic: how enforceable this feature would be?
… it is all first-party script, we can't use same-origin policy restrictions, for iframe case it makes sense
Johann: I agree we should discuss this feature in a GH issue to understand the requirements for filtering by agent
Dominic: this could be discussed in the agent-client issue also
Anssi: any objections to document UCs and reqs?
[none heard]
RESOLUTION: Open a dedicated issue to document "agent allowlist" use cases and requirements
Stream tool arguments
Anssi: issue #82
<gb> Issue 82 Proposal: Stream Tool Arguments (by MiguelsPizza) [Agenda+]
Anssi: another proposal from Alex to improve both DX and UX
… this proposal suggests a mechanism to allow streaming of chunks into page UI as the model generates them
… Alex explains that currently execute method fires only after the full arguments JSON is parsed
… this is problematic with large args such as email bodies and code
… an example of streaming tool args is CopilotKit Research Helper:
https://
Alex: I think this closes the gap between the userland and WebMCP, you may generate large JSON with a loading spinner, this makes the document look more live
Anssi: any comments or questions?
Dominic: would the input schema not include primitives?
… maybe we want to augment input schema to allow streaming rather than allow streaming JSON?
Alex: have an issue open for browser schema validation
<AlexN> webmachinelearning/
<gb> Issue 92 Who owns the validation layer? (by MiguelsPizza)
WebExtensions API to enumerate and invoke tools
Anssi: issue #74
<gb> Issue 74 WebExtensions API to enumerate and invoke tools (by reillyeon) [Agenda+]
Anssi: a proposal from Reilly
… this issue is spun off from issue #23 by Jason that discussed three different categories of agents and how they might interface with WebMCP
<gb> Issue 23 External MCP Client API / Permissions (by jasonjmcghee)
Anssi: 1) 1P in-browser agents, use browser-specific internal APIs
… 2) 3P in-browser agents ~ browser extensions, use APIs defined by the WebExtensions group
… 3) external desktop agents, use OS provided native APIs
… Reilly proposes an approach to address the second case by collaborating with the WebExtensions group to define an API for use by browser extensions to enumerate an invoke tools defined with WebMCP
… I see support in the issue discussion for the proposed approach
Reilly: motivation is to make sure folks working on WebMCP are aware of WebExtensions
… it's be nice to have a proper WebExtensions API to expose these features to browser extensions
Dominic: does the proposal in issue #51 satisfy this request?
<gb> Issue 51 Define the API for in-page Agents to use a site's declared tools (by khushalsagar) [Agenda+]
Dominic: would like to hear from extension folks whether that covers the use case
Reilly: extensions script calling a page script is not possible cleanly, this should be easy to do
<jg> thats good to know - web ext API and normal API would do the same under the hood but be exposed in different contexts
Dominic: what's the complexity there, you can inject a script, rather than call an explicit API?
Reilly: the complexity is injecting a script into the page that can interact with a DOM, communication based on postMessage, also makes permissions more complex
WebMCP <-> MCP Apps bridge
Anssi: issue #57
<gb> Issue 57 Allow iframes to declare tools (by khushalsagar) [Agenda+]
Anssi: I think this issue relates on a high-level with the previous topic
… in the previous topic we discussed how to bridge WebMCP with WebExtensions
… in this topic I'd like to continue discussion on how WebMCP bridges with MCP Apps
Anssi: for context setting, we recall MCP Apps run in a sandboxed iframe
… do MCP Apps have specific requirements that differ from regular web content running in an iframe?
… does the group consider MCP Apps a specific case of iframed web content, or an extension to it?
<jason> (re meeting minutes, anssi, do you have access to zoom captions/ full transcript? it might allow you to recover what folks said during the meeting)
Kryspin: issue #51 addresses one aspect of MCP Apps bridge, MCP Apps need to know what 3P agents are doing
<gb> Issue 51 Define the API for in-page Agents to use a site's declared tools (by khushalsagar) [Agenda+]
Kryspin: for MCP Apps, the only thing is there's concurrency, listener to know there's tool execution and what is the state of execution, two authorities, MCP Agent and what's driving the MCP Apps
Alex: this is something that can probably be polyfilled
Dominic: we need to ensure MCP Apps are compatible with WebMCP
Kryspin: if we implement issue #51 that'll solve a lot of this things