modelcontextprotocol / modelcontextprotocol/python-sdk
Does same-origin redirect enforcement break MCP servers behind a reverse proxy?
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 24.3k
- フォーク
- 4k
- 平均マージ
- 1日 1時間
- マージ済み PR(30日)
- 31
説明
Reading the v2.2.0 release notes: the HTTP client now fails redirects with MCPError unless the target is same-origin. For self-hosted setups this seems like it could bite people running an MCP server behind something like Caddy or nginx — e.g. an HTTP→HTTPS redirect, or a redirect from a bare port to a subpath, which often lands on a different-looking origin even though it's the same server.
The changelog doesn't say whether there's a way to allowlist additional origins for these cases, or whether the guidance is simply "don't let your reverse proxy redirect, terminate TLS and proxy_pass directly." Is there a documented escape hatch, or is this an intentional hard stop meant to force removing redirects from self-hosted deployments entirely? A line in the migration notes about the reverse-proxy case would save people a confusing debugging session when their server that worked in 2.1.x suddenly throws on upgrade.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
v2.2.0 のリリースノートと、issue に記載されている HTTP クライアントのリダイレクト適用から始めます。追加のオリジンを allowlist に登録できるか、また reverse proxy の背後で HTTP から HTTPS へのリダイレクトやサブパスのリダイレクトがどのように動作するかを確認します。確認済みの escape hatch または self-hosted MCP サーバー向けのデプロイ手順を移行ノートに反映します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- nginx, python
- 領域
- documentation, networking
- issue の種類
- ドキュメント
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 活発さ
- 活発
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 64/100