Clarify caller lifecycle for non-autosubmit declarative tools
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- javascript
- Ambito
- api, backend-api-design
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Bikeshed
- Stelle
- 4.7k
- Fork
- 328
- Merge medio
- 2g 15h
- PR unite (30g)
- 16
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di webmachinelearning/webmcp
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 72/100
webmachinelearning/webmcp#360 ·
I maintainer di solito rispondono entro 1 giorno
-
Say how an agent should weigh annotations that the page wrote about itselfForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
webmachinelearning/webmcp#353 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
webmachinelearning/webmcp#343 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Agenda+ i18n-tracker
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
webmachinelearning/webmcp#273 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
a11y-tracker Agenda+
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
webmachinelearning/webmcp#272 · 4 commenti · 2 reazioni ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di webmachinelearning/webmcp
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
StellarState/SS-backend#712 ·
I maintainer di solito rispondono entro 1 giorno
-
area: api effort: S P2 type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
ferenyl/azuredevopstui#12 ·
-
area: backend bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
snapotter-hq/SnapOtter#3473 ·
I maintainer di solito rispondono entro 1 giorno
-
backroom bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ditto-assistant/ditto-subnet#3069 ·
I maintainer di solito rispondono entro 1 giorno
-
harlan-agent-ready-to-implement routine:ci-review
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
harlan-zw/unlighthouse#455 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno