Skip to content

Natural language attributes #100

@Starborn

Description

@Starborn

Not sure where to add this #22

Notes on the https://github.com/webmachinelearning/webmcp/tree/declarative-api-explainer

This explainer makes a strong case for the declarative path and the toolautosubmit attribute in particular is a useful design. I want to flag a knowledge representation concern that runs through several of the open questions here.
The proposal relies on natural language attributes -- tooldescription, toolparamdescription -- as the primary mechanism for agents to understand what a tool does. This works for human-readable discovery but is insufficient as a semantic contract when toolautosubmit is in play. An agent authorized to submit a form on a user's behalf without manual review needs more than a natural language description to make that trust decision safely -- it needs a formal, verifiable account of what the form does, what its preconditions are, and what its side effects will be.
This is the declarative-layer version of the gap raised in issue #96 regarding delegation context and audit. The correlation ID proposed there addresses post-hoc accountability; what's missing here is pre-invocation semantic grounding.

Two concrete suggestions for the open questions:
On input schema synthesis (currently TODO): the reduction of form elements to JSON Schema is a necessary but not sufficient semantic representation. It captures structure but not meaning -- a with options "economy" and "business" reduced to an enum says nothing about what selecting each value commits the user to. It may be worth considering whether a lightweight semantic annotation layer (perhaps via existing or JSON-LD conventions already referenced in the response section) could travel alongside the synthesized schema. On the toolactivated/toolcanceled event target question: firing at the rather than Window is the stronger choice from a semantic containment perspective -- it keeps the tool's identity and its event surface co-located, which matters for the kind of per-tool audit context discussed in #96. The W3C AI Knowledge Representation Community Group has vocabulary coordination in scope and would be glad to contribute to the input schema semantics question as it develops. Happy to discuss.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions