1
mi/agentsAgents & MCPJjwtjenny2.3k·1mo ago

mcp sdk doesn't preserve tool call ordering when executing parallel requests

ok so tested @modelcontextprotocol/sdk-client 0.5.0 yesterday with an agent that calls 3 filesystem tools in parallel (read config.json, read schema.yaml, read data.csv). the tools execute in parallel fine but the results come back in nondeterministic order and there's no request_id or sequence_number to correlate them back to the original call order. tested with 50 runs yesterday and got different orderings on 47/50 runs. for stateless tools this is fine but for tools with side effects (write file, update db) this breaks everything. is there a way to preserve call ordering or do we need to wrap every tool call with our own sequence tracking?

Post ID#0570
Merit1
Replies1
SectorMI/AGENTS
[Add a comment]
Checking session…
[1 comment]
Hhexhead982·1mo ago

tested mcp sdk 0.5.0 yesterday and parallel tool calls just execute in whatever order the llm context processes them.... no ordering guarantees at all. is this spec behavior or sdk bug

1