From 8614dff06ff6cb0eee75af36674f1e19f035cabc Mon Sep 17 00:00:00 2001 From: thecaptain789 Date: Fri, 6 Feb 2026 15:25:43 +0000 Subject: [PATCH] fix(fetch): update to httpx 0.28+ proxy parameter The httpx library renamed 'proxies' to 'proxy' in version 0.28.0. This updates the fetch server to use the new parameter name and removes the version cap on httpx. Fixes #3287 --- src/fetch/pyproject.toml | 2 +- src/fetch/src/mcp_server_fetch/server.py | 4 ++-- src/fetch/tests/test_server.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/fetch/pyproject.toml b/src/fetch/pyproject.toml index 24b42d8e..e2d0d38d 100644 --- a/src/fetch/pyproject.toml +++ b/src/fetch/pyproject.toml @@ -16,7 +16,7 @@ classifiers = [ "Programming Language :: Python :: 3.10", ] dependencies = [ - "httpx<0.28", + "httpx>=0.27", "markdownify>=0.13.1", "mcp>=1.1.3", "protego>=0.3.1", diff --git a/src/fetch/src/mcp_server_fetch/server.py b/src/fetch/src/mcp_server_fetch/server.py index 2df9d3b6..d1289873 100644 --- a/src/fetch/src/mcp_server_fetch/server.py +++ b/src/fetch/src/mcp_server_fetch/server.py @@ -72,7 +72,7 @@ async def check_may_autonomously_fetch_url(url: str, user_agent: str, proxy_url: robot_txt_url = get_robots_txt_url(url) - async with AsyncClient(proxies=proxy_url) as client: + async with AsyncClient(proxy=proxy_url) as client: try: response = await client.get( robot_txt_url, @@ -116,7 +116,7 @@ async def fetch_url( """ from httpx import AsyncClient, HTTPError - async with AsyncClient(proxies=proxy_url) as client: + async with AsyncClient(proxy=proxy_url) as client: try: response = await client.get( url, diff --git a/src/fetch/tests/test_server.py b/src/fetch/tests/test_server.py index 10103b87..96c1cb38 100644 --- a/src/fetch/tests/test_server.py +++ b/src/fetch/tests/test_server.py @@ -323,4 +323,4 @@ class TestFetchUrl: ) # Verify AsyncClient was called with proxy - mock_client_class.assert_called_once_with(proxies="http://proxy.example.com:8080") + mock_client_class.assert_called_once_with(proxy="http://proxy.example.com:8080")