feat(client/sse): allow to set the timeout of POST /messages#340
Closed
RockChinQ wants to merge 2 commits intomodelcontextprotocol:mainfrom
Closed
feat(client/sse): allow to set the timeout of POST /messages#340RockChinQ wants to merge 2 commits intomodelcontextprotocol:mainfrom
POST /messages#340RockChinQ wants to merge 2 commits intomodelcontextprotocol:mainfrom
Conversation
Author
|
Can anyone review or give some comment on this? |
Member
|
The timeout needs to be set on the client above. |
This was referenced May 13, 2025
ihrpr
requested changes
May 13, 2025
Contributor
ihrpr
left a comment
There was a problem hiding this comment.
thank you for working on this!
As mentioned in the comments, the timeout should be set on client.
create_mcp_http_client was introduced recently.
async with create_mcp_http_client(
headers=headers,
timeout=httpx.Timeout(timeout, read=sse_read_timeout)
) as client:
Contributor
|
This was updated in |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation and Context
Hello. I'm writing a plugin for langgenius/dify that can export
workflowson Dify as MCP Servers.Due to Dify's plugin mechanism, connecting to Dify's cloud edition via HTTP takes a longer time. The
GET /sseendpoint can set a timeout through the parameters of thesse_clientmethod, while thePOST /messagesendpoint cannot, which results in the handshake phase not functioning properly.So I reused the parameters
readandsse_read_timeoutof thesse_cientmethod as timeout settings forPOST/messages.How Has This Been Tested?
before: failed fast in 5s for timeout
after: ok for handshake phase (404 for
/messagesendpoint not fully implemented)Breaking Changes
None
Types of changes
Checklist
Additional context
Although it works now, but I still wonder is this ok to just reuse the
sse_read_timeoutas timeout param for/messagesendpoint, or should I add a new param likemessages_read_timeoutforsse_client()?