[PR #23217] [CLOSED] feat(mcp): add configurable timeout for streamable http client #50138

Closed
opened 2026-04-30 02:42:32 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/23217
Author: @dkhachyan
Created: 3/30/2026
Status: Closed

Base: devHead: tool-timeout


📝 Commits (10+)

📊 Changes

2 files changed (+20 additions, -3 deletions)

View changed files

📝 backend/open_webui/env.py (+11 -0)
📝 backend/open_webui/utils/mcp/client.py (+9 -3)

📄 Description

Pull Request Description

Title

feat: Make timeout for streamablehttp_client configurable via env var

Description

This PR adds a new environment variable MCP_STREAMABLE_HTTP_CLIENT_TIMEOUT that allows users to configure the HTTP client timeout for the MCP streamable HTTP client. Previously, the timeout was not configurable, This enables users to adjust the timeout based on their network conditions and MCP server response times.

Changed

Usage

Set the environment variable to configure the HTTP client timeout (in seconds):

export MCP_STREAMABLE_HTTP_CLIENT_TIMEOUT=60

If not set, the timeout defaults to None (httpx will use its default timeout behavior).

Files Modified

  • backend/open_webui/env.py - Added new environment variable parsing
  • backend/open_webui/utils/mcp/client.py - Updated to use configurable timeout

Additional Information

  • No new dependencies added
  • No breaking changes - defaults to None which preserves existing behavior
  • Manual testing: Verified that the environment variable is correctly parsed and applied to the httpx client


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/open-webui/pull/23217 **Author:** [@dkhachyan](https://github.com/dkhachyan) **Created:** 3/30/2026 **Status:** ❌ Closed **Base:** `dev` ← **Head:** `tool-timeout` --- ### 📝 Commits (10+) - [`fe6783c`](https://github.com/open-webui/open-webui/commit/fe6783c16699911c7be17392596d579333fb110c) Merge pull request #19030 from open-webui/dev - [`fc05e0a`](https://github.com/open-webui/open-webui/commit/fc05e0a6c5d39da60b603b4d520f800d6e36f748) Merge pull request #19405 from open-webui/dev - [`e3faec6`](https://github.com/open-webui/open-webui/commit/e3faec62c58e3a83d89aa3df539feacefa125e0c) Merge pull request #19416 from open-webui/dev - [`9899293`](https://github.com/open-webui/open-webui/commit/9899293f050ad50ae12024cbebee7e018acd851e) Merge pull request #19448 from open-webui/dev - [`140605e`](https://github.com/open-webui/open-webui/commit/140605e660b8186a7d5c79fb3be6ffb147a2f498) Merge pull request #19462 from open-webui/dev - [`6f1486f`](https://github.com/open-webui/open-webui/commit/6f1486ffd0cb288d0e21f41845361924e0d742b3) Merge pull request #19466 from open-webui/dev - [`d95f533`](https://github.com/open-webui/open-webui/commit/d95f533214e3fe5beb5e41ec1f349940bc4c7043) Merge pull request #19729 from open-webui/dev - [`a727153`](https://github.com/open-webui/open-webui/commit/a7271532f8a38da46785afcaa7e65f9a45e7d753) 0.6.43 (#20093) - [`6adde20`](https://github.com/open-webui/open-webui/commit/6adde203cd292a9e3af9c64a2ae36b603fed096a) Merge pull request #20394 from open-webui/dev - [`f9b0534`](https://github.com/open-webui/open-webui/commit/f9b0534e0c442631d1cb7205169588b9b6204179) Merge pull request #20522 from open-webui/dev ### 📊 Changes **2 files changed** (+20 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `backend/open_webui/env.py` (+11 -0) 📝 `backend/open_webui/utils/mcp/client.py` (+9 -3) </details> ### 📄 Description ## Pull Request Description ### Title **feat**: Make timeout for streamablehttp_client configurable via env var ### Description This PR adds a new environment variable `MCP_STREAMABLE_HTTP_CLIENT_TIMEOUT` that allows users to configure the HTTP client timeout for the MCP streamable HTTP client. Previously, the timeout was not configurable, This enables users to adjust the timeout based on their network conditions and MCP server response times. ### Changed - Added `MCP_STREAMABLE_HTTP_CLIENT_TIMEOUT` environment variable in [`backend/open_webui/env.py`](backend/open_webui/env.py:774) - Modified [`create_insecure_httpx_client()`](backend/open_webui/utils/mcp/client.py:18) in [`backend/open_webui/utils/mcp/client.py`](backend/open_webui/utils/mcp/client.py) to use the environment variable as the default timeout when no explicit timeout is provided ### Usage Set the environment variable to configure the HTTP client timeout (in seconds): ```bash export MCP_STREAMABLE_HTTP_CLIENT_TIMEOUT=60 ``` If not set, the timeout defaults to `None` (httpx will use its default timeout behavior). ### Files Modified - `backend/open_webui/env.py` - Added new environment variable parsing - `backend/open_webui/utils/mcp/client.py` - Updated to use configurable timeout --- ### Additional Information - No new dependencies added - No breaking changes - defaults to `None` which preserves existing behavior - Manual testing: Verified that the environment variable is correctly parsed and applied to the httpx client --- - [x] By submitting this pull request, I confirm that I have read and fully agree to the [Contributor License Agreement (CLA)](https://github.com/open-webui/open-webui/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT), and I am providing my contributions under its terms. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-30 02:42:32 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#50138