Fix graceful MCP disconnect during server shutdown
- McpClient.disconnect(): catch CancelledError / RuntimeError from
  anyio SSE transport teardown
- McpManager.disconnect_all(): shield gather from CancelledError
- main.py _on_shutdown(): catch CancelledError and RuntimeError
  explicitly (BaseException, not Exception)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 6bcff13 commit 3fcccd5ae5e668e593bb1a660c7593e855883324
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored on 11 May
Showing 3 changed files
View
navi/main.py
View
navi/mcp/client.py
View
navi/mcp/manager.py