VoiceOS kills any MCP tool call at 60 s, background tools too
VoiceOS 0.1.40 runs integration tools, including ones declared execution.mode background, as await client.callTool({name, arguments}) with no options, so the MCP SDK default 60 s request timeout applies and progress notifications can't extend it: there's no progressToken and no resetTimeoutOnProgress. At 60 s it cancels the request (your abort signal fires) and the integration can drop into an 'error' state with 'Connection closed', which hides all its tools until a Reload. Long jobs, such as uploading a 60 MB video at about 1 MB/s, must return an honest in-progress result before about 45 s and keep working on their own AbortController. Report the final outcome later via the notify permission: request voiceos/reminders/trigger from the server, and handle voiceos/reminders/action to show a card.