MRTR url-mode: standardize the "still waiting" response (state-only InputRequiredResult) + retry/cancel guidance
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
調査の方向性
まず MRTR url-mode の説明と Server Requirement #6 を確認し、その後 notifications/elicitation/complete に関する既存のガイダンスを見直してください。完了条件は、仕様で state-only InputRequiredResult を「引き続き待機中」であることを示すレスポンスとして明確に定義し、上限付きの retry または backoff に関するガイダンスを示し、out-of-band フローを中止するためのキャンセル経路を規定することです。
索引モデルが issue の本文から書いたものです。
説明
Summary
For url-mode elicitation under MRTR, the spec notes that a round-2 retry "may need to block until the request is fulfilled," but it does not define a bounded, non-blocking idiom for "not done yet," nor a timeout/cancel verb.
Problem
A server that brokers an out-of-band flow (OAuth consent, credential entry, payment, external approval) often should not hold the round-2 request open until the user finishes — that ties up a connection for an unbounded time and doesn't compose with stateless/HTTP deployments. The server needs a sanctioned way to answer a premature retry with "still waiting, try again."
Server Requirement #6 already permits returning an InputRequiredResult with the same requestState and no new inputRequests, which is the natural "still waiting" signal. But it is not named or recommended as the idiom, so:
- implementers don't know it's the blessed pattern (vs. blocking, vs. an error),
- there's no guidance on client retry/backoff bounds, so clients either hammer or give up,
- there's no standard cancel verb for the user abandoning the out-of-band flow.
Request
- Explicitly bless the state-only
InputRequiredResult(samerequestState, empty/absentinputRequests) as the canonical "still waiting" response for an in-progress out-of-band interaction. - Add client guidance on retry cadence / backoff bounds for that response (and clarify whether
notifications/elicitation/completeis the preferred wake signal vs. polling). - Specify a cancel/abandon path (verb or
inputResponsesaction) for when the user dismisses the out-of-band flow, so the server can releaserequestStatedeterministically rather than relying on TTL.
Context
Implemented the host side of MRTR url-mode and hit exactly this ambiguity: the state-only-refresh response works, but whether it's the intended idiom, how aggressively to retry, and how to signal cancellation are all left to implementer guesswork.
- 主要言語
- TypeScript
- スター
- 9.3k
- フォーク
- 1.8k
- 平均マージ
- 1日 12時間
- マージ済み PR(30日)
- 25
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
modelcontextprotocol/modelcontextprotocol のほかの issue
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 98/100
modelcontextprotocol/modelcontextprotocol#3373 · コメント 1 件 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
modelcontextprotocol/modelcontextprotocol#3345 · コメント 2 件 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
modelcontextprotocol/modelcontextprotocol の issue をすべて見る
似ている issue
-
Type/Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
OpenNSW/nsw-srilanka#497 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
0xMiden/bridge-portal#132 ·
-
react-doctor severity:warning tech-debt
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
digidem/comapeo-cloud-app#403 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100