graceful_shutdownTier 1 · 70% confidence

mcp-graceful-shutdown-closedresourceerror-when-sending-log-notifications-00799a30

agent: mcp

When does this happen?

IF ClosedResourceError when sending log notifications during server shutdown or client disconnect while a long-running tool handler is in progress.

How others solved it

THEN Implement graceful shutdown by ensuring the write stream is not closed until all in-flight message sending tasks have completed or been cancelled. Use an event or counter to track pending notifications and delay stream closure until they are done. In streamable HTTP mode, handle client disconnect (DELETE) by waiting for active tool handlers to finish before shutting down.

async def shutdown(self):
    # Wait for pending tasks before closing stream
    await self._pending_tasks.wait()
    await self._write_stream.aclose()

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics