NewMCP Production is out: 57 lessons, 14 labsSee the course

Free sheet · Lesson 3.1 of MCP Production

The tool answered. The approval never came.

The diagnosis sheet from lesson 3.1: what an input_required result, a displayed form or a retry each establish, with practice cases and their answers.

Download the PDF

A4, prints in colour or greyscale. Same sheet the course hands out.

Where this goes next

Lessons 3.2 to 3.4 build the input-required result and the client retry with Multi Round-Trip Requests, then test refusal, abandonment and a restart mid-approval in lab 3.

A standalone companion to lesson 3.1. No laboratory or prior lesson is needed. Consider a tool that proposes publishing a specific note to a specific board and requires a decision before publication.

sequenceDiagram
    participant C as Client
    participant S as Server
    participant U as User
    C->>S: Propose note (request A)
    S-->>C: input_required + form + opaque state
    C->>U: Show target and exact text
    alt Submitted decision
        U-->>C: Accept, decline, or cancel
        C->>S: Same operation + answer + exact state (request B)
        S->>S: Validate identity, subject, lifetime, and lifecycle
        S-->>C: Application outcome
    else No retry
        Note over C,S: No new decision reaches the server
    end

The diagram's proposal storage and publication policy are illustrative application choices. The wire pattern carries the input exchange; it does not establish that a human actually interacted with the client.

ObservationWhat it establishesNext useful check
resultType: input_requiredThe operation needs another input stepInspect inputRequests and client support
Form displayedThe client presented a questionDetermine whether an answer was submitted
Retry sentAnother exchange was attemptedMatch input keys and original operation context
Different RPC IDA separate exchange is being correlatedPreserve the business operation identity
Intact continuationIntegrity verification may succeedStill check caller, subject, expiry and consumption
No follow-up requestNo new input was receivedKeep unapproved work from committing; enforce lifetime
Missing answer after acceptanceClient outcome remains uncertainQuery the application's authoritative status/receipt

Practice cases

  1. The server returns a form but the client never displays it. Inspect the advertised form capability and the branch that handles input-required results. Increasing a timeout does not supply a missing decision.
  2. The retry carries the approval but changes the target board. Reject a continuation that no longer matches the approved subject; inspect the effect as well as the response so a late error cannot hide a premature write.
  3. Acceptance was sent and the connection ended without a final response. Find the application's outcome evidence before creating a new operation. A missing response is compatible with a committed effect.

Do not interpret client display names or user-entered identity as verified caller identity. Do not infer human participation from an acceptance payload.

Primary sources checked 2026-09-09: MRTR, elicitation.

More free sheets#