-
Notifications
You must be signed in to change notification settings - Fork 19
add explainer for the declarative api #26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
4558fa1 to
e3c23c0
Compare
|
This is great work. I do have one general question. Was reusing ARIA attributes instead of introducing new There are already attributes such as One benefit of using these existing attributes is that they are also surfaced in native accessibility APIs, so assistive tools that already use these APIs to access the page's accessibility tree would be able to access WebMCP tools declarations as well. |
|
@bwalderman This is a good idea, I'll put the PR in draft while I re-implement the ARIA based polyfill. The only thing I can think is that we still need a way to make exposing tools to the agent opt-in (or opt-out) Maybe we still tag elements with a |
|
The concern with the HTML method is of course the iFrame. Realistically speaking its stood up well for some years now. Would an iFrame in a browser be more trustworthy. I would prefer JSON and rendering on client. I am sure web components can be distributed with framework payloads and CSS. But the build process for this type of architecture would have to change. I would prefer that design. The trade off really is that payload would need to be disputed more frequently. |
|
@matatk to review for the accessibility group's perspective (aka APA WG). |
|
A new paper and implementation experience: https://arxiv.org/abs/2511.11287v1 @svenschultze & team, this W3C community group is developing a WebMCP API that is complemented with a declarative mechanism explored in this PR. Let’s join forces to explore this space. Here’s how to join: |
|
That was fast. I’m excited to welcome @svenschultze to the WebML Community Group! 🎉 |
|
Hi @anssiko, thank you for making me aware of this project! It is great to see the community converging on this. I'm happy to share some insights from our work on VOIX, where we implemented a similar declarative framework and tested it with developers.
|
This draft proposal outlines a declarative WebMCP API that enables web pages to expose tools via HTML, using minimal attributes like tool-name and standard form semantics. Currently, it's a compilation of my notes and ideas from developing this approach, and I'm sharing it to gather feedback before the September 18th working group meeting. I'm particularly interested in your thoughts on the open questions (e.g., JSON vs. HTML responses, elicitation flows), tradeoffs, and overall API design.
The proposed API was shaped by building a real application and polyfill during the MCP enterprise hackathon, where our team successfully implemented it (and took home the win, which was exciting validation!). You can see a video of a Rails app using declarative WebMCP tools to enable complex browser automation without client-side JavaScript: link.
Based on your feedback, I'll refine this draft to align more closely with the structured format and narrative style of other explainers in the repo.