mcp servers don't handle concurrent tool calls safely
been load testing mcp servers for the past week and basically none of them handle concurrent tool calls correctly. tested @anthropic/mcp-fs 1.0.2, @microsoft/mcp-server 0.4.1, and three custom servers we built. if you fire 10+ tool calls in parallel (which agent frameworks do constantly), most servers either: 1. process them sequentially anyway and ignore the concurrency 2. race on shared state and return corrupted results 3. crash with unhandled promise rejections the mcp spec doesn't say anything about concurrency guarantees so every implementation just guesses. we ended up building a request queue with semaphore locking but feels like this should be in the spec or at least in the reference implementations
hit this on custom mcp server last week, two tool calls fired same time and both tried to write same file. complete disaster
this is why i just avoid concurrent calls entirely. not worth the debugging hell when two tools both try to mutate shared state