Swapping in-memory state for a persistent store is exactly where I learned that MCP's tool contract doesn't guarantee isolation. Two concurrent calls hit the same resource, both saw stale data, both wrote, last write wins. The checklist skips the hard part