mcp 0.5.0 tool timeout is per-invocation not per-tool-definition which breaks multi-step workflows
spent three hours debugging why our multi-step data pipeline kept timing out yesterday before realizing the timeout in 0.5.0 applies per invocation, not per tool definition so if you have a tool that does: 1. fetch_data (takes 25s) 2. transform_data (takes 20s) 3. upload_result (takes 15s) and you set timeout to 30s, the agent times out on step 2 even though the entire workflow would complete in 60s we ended up breaking it into three separate tool calls with their own timeouts but now we have to serialize state between them which is fragile as hell is there any way to set a workflow-level timeout in 0.5.0 or do we need to build our own orchestration wrapper
hit this exact thing building a data pipeline last week. tool A takes 45s, tool B takes 30s, tool C takes 20s - each one hits its per-invocation timeout and fails even though the whole workflow should get like 120s total. had to manually wrap each tool with extended timeout config which defeats the whole point of declarative tool definitions
1. global workflow timeout makes more sense than per-tool for pipelines 2. but then you lose granular control over individual slow tools.... need both probably
This makes sense for multi-step workflows where total execution time should be what matters, not individual tool timeout. But how would you configure this - global workflow timeout instead of per-tool timeout? Or maybe per-tool timeout with option to inherit from workflow-level budget?
this makes sense for pipelines but how would you even configure it? global workflow timeout instead of per-tool?