Clarify caller lifecycle for non-autosubmit declarative tools
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 35/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Calme
- Stack technique
- javascript
- Domaine
- api, backend-api-design
Piste de recherche
Read the related discussions #21, #139, #165, and #196, then trace how declarative form population and submission are represented to browser-to-agent callers. The issue does not identify source files or tests, so first locate the tool invocation and response lifecycle entry points. Done means callers can identify the populated, awaiting-submission state while the final tool result still reflects submission or cancellation.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
I may be missing part of the intended browser-to-agent integration here.
When a declarative form does not have toolautosubmit, Chrome populates its fields and leaves the invocation active until the form is later submitted or canceled. That makes sense for a browser-native, human-in-the-loop flow.
Through a conventional MCP client, however, the tool call remains pending with no indication that field population succeeded or that submission is now awaited. From the caller’s perspective, this is indistinguishable from a tool that is stuck or whose promise never resolves.
Reproduction
I reproduced this against Stripe’s public test checkout using only published tooling:
- Chromium
151.0.7922.169 [email protected]@modelcontextprotocol/[email protected]- Stripe test checkout: https://buy.stripe.com/test_fZuaEW5UndC54Sy5gN6J200
Chromium was launched with:
--enable-features=WebMCP,WebMCPTesting,DevToolsWebMCPSupport
--remote-debugging-port=9222
Chrome DevTools MCP was attached with:
--browserUrl http://127.0.0.1:9222
--categoryExperimentalWebmcp
I then used Inspector CLI to:
- Navigate to the checkout.
- Invoke
select_payment_methodwithcard. - Discover the resulting
fill_payment_formtool. - Invoke it with Stripe test card and billing data.
- Bound the raw
tools/callexternally at 15 seconds.
The fill invocation was equivalent to:
gnutimeout 15s ./node_modules/.bin/mcp-inspector \
--cli \
--config inspector.json \
--server chrome \
--format json \
--method tools/call \
--tool-name execute_webmcp_tool \
--tool-args-json "$FILL_ARGS"
The MCP command:
- exited
124because of the external GNU timeout - produced exactly zero bytes on stdout
- did not return an MCP result or timeout error
- received no
WebMCP.toolRespondedevent during the observation window
The form had no toolautosubmit attribute.
Question
Is the intended browser-to-agent contract that external callers keep the tool call open until someone eventually submits or cancels the form?
If so, how should a caller distinguish this expected state from an arbitrary unresolved tool execution?
A terminal Completed result at the field-population boundary does not seem accurate because the form’s action has not completed. Some possible nonterminal approaches might be:
- return a
ToolExecutionhandle immediately and expose the final result separately, as discussed in #196 - surface an explicit lifecycle signal such as
awaiting_submission - require browser-to-agent adapters to translate declarative activation into an elicitation or progress event while preserving the pending final result
I do not have a strong preference among these. The main issue is that the successful transition from “invoked” to “form populated and awaiting submission” is currently invisible to a conventional MCP caller.
Related discussions
- #21 identifies the need for agents to display a waiting state and adjust their timeouts during in-page elicitation.
- #139 discusses the lack of feedback after declarative form population and before submission.
- #165 discusses how user-interaction requests should reach remote and non-browser clients.
- #196 proposes returning an execution object immediately, with progress events and a separately awaited result.
- Langage dominant
- Bikeshed
- Étoiles
- 4.7k
- Forks
- 328
- Merge moyen
- 2 j 19 h
- PR mergées (30 j)
- 9
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de webmachinelearning/webmcp
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
webmachinelearning/webmcp#362 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 1-3 heures Accessibilité débutants 72/100
webmachinelearning/webmcp#360 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Say how an agent should weigh annotations that the page wrote about itselfPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
webmachinelearning/webmcp#353 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
webmachinelearning/webmcp#343 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Agenda+ i18n-tracker
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
webmachinelearning/webmcp#273 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de webmachinelearning/webmcp
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
sususweet/midea_auto_cloud#284 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
BoardGamesEmpire/board-games-empire-backend#1027 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
chriskelly/wish-together#102 ·
Les mainteneurs répondent en général sous 1 jour
-
Short positive Table maxlen values produce oversized cellsPeut-être pris @Gambit-Checkmate l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 18 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
JuliaLang/LinearAlgebra.jl#1834 ·
Les mainteneurs répondent en général sous 1 jour