I know that one of the core promises of MCP (and WebMCP) is that the Magic Computer will work out how to decode the interface documentation to drive it. But that's inefficient and there will be common patterns that evolve. Sites request the same information over and over in ways that are 99% the same.
Can there be a way to annotate an API to say that it conforms to a known, standardized interaction pattern? Even if that pattern is a subset of the API (there might be proprietary additions to it), being able to say "I understand interaction pattern as standardized in X" would be of great value. If WebMCP is about efficiency, this would allow for even greater efficiency.
For example, a site might offer a simple interface switchLightDarkMode() that takes values from ["light", "dark", "detect"]. This could be standardized and given an identifier of some sort. The API could declare that it supports that identifier.
Take the "get_weather" example in the explainer. That's a generic capability provided by many sites. If they collectively decide to standardize, this could be spelled out as a new property on the tool definition. A minimal version would just say "this interface conforms to standard X".
A more sophisticated version would allow the support to be declared despite differences in spelling. If the standard uses "getWeather" rather than "get_weather", there could be rules for mapping from the standard to the true interface.
Tools within the browser might then be able to detect the identifier and activate, connecting to the capability that is exposed. No special parsing of the interface is then required if the "standardized" interface is understood. "Standards" could be the old-fashioned kind, where someone writes a specification. Or maybe they could be a reference to another MCP/tool interface, hopefully one that is widely understood.
I know that one of the core promises of MCP (and WebMCP) is that the Magic Computer will work out how to decode the interface documentation to drive it. But that's inefficient and there will be common patterns that evolve. Sites request the same information over and over in ways that are 99% the same.
Can there be a way to annotate an API to say that it conforms to a known, standardized interaction pattern? Even if that pattern is a subset of the API (there might be proprietary additions to it), being able to say "I understand interaction pattern as standardized in X" would be of great value. If WebMCP is about efficiency, this would allow for even greater efficiency.
For example, a site might offer a simple interface
switchLightDarkMode()that takes values from["light", "dark", "detect"]. This could be standardized and given an identifier of some sort. The API could declare that it supports that identifier.Take the "get_weather" example in the explainer. That's a generic capability provided by many sites. If they collectively decide to standardize, this could be spelled out as a new property on the tool definition. A minimal version would just say "this interface conforms to standard X".
A more sophisticated version would allow the support to be declared despite differences in spelling. If the standard uses "getWeather" rather than "get_weather", there could be rules for mapping from the standard to the true interface.
Tools within the browser might then be able to detect the identifier and activate, connecting to the capability that is exposed. No special parsing of the interface is then required if the "standardized" interface is understood. "Standards" could be the old-fashioned kind, where someone writes a specification. Or maybe they could be a reference to another MCP/tool interface, hopefully one that is widely understood.