Jeremiah Lowin commited on
Commit
e996026
·
unverified ·
2 Parent(s): 8fefd5918a0421

Merge pull request #523 from jlowin/server-hang

Browse files
Files changed (1) hide show
  1. src/fastmcp/client/client.py +5 -2
src/fastmcp/client/client.py CHANGED
@@ -3,6 +3,7 @@ from contextlib import AsyncExitStack, asynccontextmanager
3
  from pathlib import Path
4
  from typing import Any, cast
5
 
 
6
  import mcp.types
7
  from exceptiongroup import catch
8
  from mcp import ClientSession
@@ -158,10 +159,12 @@ class Client:
158
  ) as session:
159
  self._session = session
160
  # Initialize the session
161
- self._initialize_result = await self._session.initialize()
162
-
163
  try:
 
 
164
  yield
 
 
165
  finally:
166
  self._exit_stack = None
167
  self._session = None
 
3
  from pathlib import Path
4
  from typing import Any, cast
5
 
6
+ import anyio
7
  import mcp.types
8
  from exceptiongroup import catch
9
  from mcp import ClientSession
 
159
  ) as session:
160
  self._session = session
161
  # Initialize the session
 
 
162
  try:
163
+ with anyio.fail_after(1):
164
+ self._initialize_result = await self._session.initialize()
165
  yield
166
+ except TimeoutError:
167
+ raise RuntimeError("Failed to initialize server session")
168
  finally:
169
  self._exit_stack = None
170
  self._session = None