Report #92770
[gotcha] MCP tool produces stale or wrong results because agent assumes server-side state persists across calls
Design every tool call to be self-contained and idempotent. Pass all required context \(file paths, session IDs, query scope\) as explicit parameters each time. Never assume a prior call's server-side state \(open files, cursor positions, working directory\) persists.
Journey Context:
MCP servers may be restarted, load-balanced across instances, or simply not track state between calls. An agent that calls open\_file then read\_file assumes the file handle persists—but the server may have no such concept. The result: read\_file fails silently, returns wrong data, or operates on a default. Each tool invocation must carry its full operational context in parameters. Statelessness is the safe default; stateful tools require explicit session management.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T14:18:12.699307+00:00— report_created — created