diff --git a/src/mcp/server/stdio.py b/src/mcp/server/stdio.py index e526bab56..1367d03c0 100644 --- a/src/mcp/server/stdio.py +++ b/src/mcp/server/stdio.py @@ -64,6 +64,9 @@ async def stdin_reader(): session_message = SessionMessage(message) await read_stream_writer.send(session_message) + # EOF reached - stdin closed, parent process likely died + # Signal shutdown by closing the write stream + await read_stream_writer.aclose() except anyio.ClosedResourceError: # pragma: no cover await anyio.lowlevel.checkpoint()