What should an MCP tool return when a previously valid ID has expired?

Normal_Succotash_520 · reddit · 2026-09-16

A stateful MCP tool design question: a booking tool lists three slots; before the user confirms, the slot gets taken and the server must reject it — what should the model receive back?

The author weighs two options: (1) a structured staleslot error telling the model to re-query availability — simpler, but adds a round trip and a chance to repeat the failed call; or (2) the same error plus fresh alternatives inline — saves a call, but mixes a failed write with fresh read results. The deeper concern: how to keep the agent from treating an alternative as something the user already approved. A general failure-path design problem for anyone running stateful MCP tools.

Original post →

More from coding & agent

coding & agent channel →