Title: fix: enable HTTP redirect handling in SSE client by eastlondoner · Pull Request #284 · modelcontextprotocol/python-sdk · GitHub
Open Graph Title: fix: enable HTTP redirect handling in SSE client by eastlondoner · Pull Request #284 · modelcontextprotocol/python-sdk
X Title: fix: enable HTTP redirect handling in SSE client by eastlondoner · Pull Request #284 · modelcontextprotocol/python-sdk
Description: Updated the httpx AsyncClient to explicitly set follow_redirects=True to handle redirect responses from remote MCP servers. This fixes an issue where connections to servers that return redirects (like yo-mcp.com) would fail. Motivation and Context When connecting to certain MCP servers (like yo-mcp.com) that respond with HTTP redirects, the client would fail to establish a connection. This is because the redirect wasn't being followed automatically by the SSE client. The TypeScript client handles this correctly, but the Python client needed an explicit configuration. How Has This Been Tested? Added a test script (scripts/test_redirect.py) that connects to https://yo-mcp.com/mcp/7NIUz0cvfStY6-wSsVyY3 and verifies the redirect handling works correctly Ran the script which confirmed successful connection with the server, including following the redirect and completing session initialization Verified in logs that the client correctly follows the HTTP 302 redirect Breaking Changes None. This is a non-breaking bug fix that enables better compatibility with remote servers. Types of changes Bug fix (non-breaking change which fixes an issue) New feature (non-breaking change which adds functionality) Breaking change (fix or feature that would cause existing functionality to change) Documentation update Checklist I have read the MCP Documentation My code follows the repository's style guidelines New and existing tests pass locally I have added appropriate error handling I have added or updated documentation as needed Additional context The issue was simple - httpx has follow_redirects=True by default, but for some reason the redirect wasn't being followed by the SSE client. Adding the explicit parameter resolves the issue. The test script shows how to connect to a remote MCP server and can be used as a reference for other developers.
Open Graph Description: Updated the httpx AsyncClient to explicitly set follow_redirects=True to handle redirect responses from remote MCP servers. This fixes an issue where connections to servers that return redirects (l...
X Description: Updated the httpx AsyncClient to explicitly set follow_redirects=True to handle redirect responses from remote MCP servers. This fixes an issue where connections to servers that return redirects (l...
Opengraph URL: https://github.com/modelcontextprotocol/python-sdk/pull/284
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:9cc6da79-5d50-ecf4-ce98-b5811ab8c9ee |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | EBD8:26889C:841998:B091D4:6A5B829D |
| html-safe-nonce | 4fcb87c3e31c6fa615ab6b340977fbd90827a6e1d6ebe70697480aeeef7ca6bf |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFQkQ4OjI2ODg5Qzo4NDE5OTg6QjA5MUQ0OjZBNUI4MjlEIiwidmlzaXRvcl9pZCI6Ijc1MTUwNzY2NjY2OTc5NDE2NjEiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 73e9ab32bf43977f94ae311b6a829d6f509c3b1dbb058538f8b18fb6a257dd0a |
| hovercard-subject-tag | pull_request:2393287719 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/modelcontextprotocol/python-sdk/pull/284/files |
| twitter:image | https://avatars.githubusercontent.com/u/8148776?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/8148776?s=400&v=4 |
| og:image:alt | Updated the httpx AsyncClient to explicitly set follow_redirects=True to handle redirect responses from remote MCP servers. This fixes an issue where connections to servers that return redirects (l... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5290d7e14309ad1e76106a9c4237bd1041517e83ea182c8ab756752cb0c6940b |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/modelcontextprotocol/python-sdk git https://github.com/modelcontextprotocol/python-sdk.git |
| octolytics-dimension-user_id | 182288589 |
| octolytics-dimension-user_login | modelcontextprotocol |
| octolytics-dimension-repository_id | 862584018 |
| octolytics-dimension-repository_nwo | modelcontextprotocol/python-sdk |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 862584018 |
| octolytics-dimension-repository_network_root_nwo | modelcontextprotocol/python-sdk |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 9c975978430e9ad293956f2bbdaf153b1bd84a99 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width