Describe the Bug
Issue
When listing MCP tools, if the MCP server is unresponsive or is throwing some error, session.initialize()
gets stuck indefinitely/keeps retrying instead of failing fast.
Likely cause: session.initialize() in /agentgateway/_lob.py (lines 350
and 482) has no deadline at the MCP protocol level. While self._config.timeout
(default 60 s) is passed down to httpx.AsyncClient, it only bounds individual
HTTP chunk reads — SSE keep-alives from the server continuously reset this timer,
so the call never actually times out.
Steps to Reproduce
Try listing tools from an MCP server that isn't working or is unreachable. The AGW client keeps retrying until the upstream request times out
Expected Behavior
It should retry once or twice and then error out
Screenshots
No response
Used Versions
v0.49.1
https://github.tools.sap/agent-extensibility/extensibility-agent/blob/main/requirements.txt
Code Examples
Stack Trace
No response
Log File
Log file
...
Affected Development Phase
Development
Impact
Blocked
Timeline
This is a requirement for EAC
Describe the Bug
Issue
When listing MCP tools, if the MCP server is unresponsive or is throwing some error,
session.initialize()gets stuck indefinitely/keeps retrying instead of failing fast.
Likely cause:
session.initialize()in/agentgateway/_lob.py(lines 350and 482) has no deadline at the MCP protocol level. While
self._config.timeout(default 60 s) is passed down to
httpx.AsyncClient, it only bounds individualHTTP chunk reads — SSE keep-alives from the server continuously reset this timer,
so the call never actually times out.
Steps to Reproduce
Try listing tools from an MCP server that isn't working or is unreachable. The AGW client keeps retrying until the upstream request times out
Expected Behavior
It should retry once or twice and then error out
Screenshots
No response
Used Versions
v0.49.1
https://github.tools.sap/agent-extensibility/extensibility-agent/blob/main/requirements.txt
Code Examples
# Your code hereStack Trace
No response
Log File
Log file
...Affected Development Phase
Development
Impact
Blocked
Timeline
This is a requirement for EAC