stdio transport: a request over the maximum line length gets no answer
メンテナーはふだん 3 日以内に返信
@gocamille がすでに取り組んでいます。
2026年10月26日 から。
評価
この issue はまだ評価されていません。
説明
Since #1049 (rmcp 3.6.0) AsyncRwTransport drops a line that is longer than the maximum line length (16 MiB by default). It only writes a log entry. When that line is a request, the peer never gets an answer and waits until its own timeout. From the client side this looks like a server that hangs.
I found this while writing an MCP server that takes large inline files. A tools/call with a large base64 file in the arguments is enough.
To reproduce:
- Start any stdio server built on rmcp 3.7.0.
- Send
initializeandnotifications/initialized. - Send one
tools/callrequest whose line is larger than 16 MiB, for example with a 17 MiB string inarguments. - The server logs "Incoming message exceeded the maximum line length, discarding it". The client gets nothing for this id.
Expected: an error answer for the request id, like the -32600 Invalid Request answer rmcp already sends for valid JSON with the wrong shape.
Lines without an id, responses and input that is not JSON should stay unanswered, so this does not bring back the error storm from #938.
I have a fix ready that builds on #1370. I can open it after that PR is merged.
- 主要言語
- Rust
- スター
- 4.1k
- フォーク
- 680
- 平均マージ
- 4日 1時間
- マージ済み PR(30日)
- 35
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
modelcontextprotocol/rust-sdk のほかの issue
-
auth: refresh_token() requests offline_access that was never granted, so refreshes fail with invalid_scope対応中かも @jstar0 が 19 日前に担当しました。 オープンbug P1 ready for work T-security T-transport
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
modelcontextprotocol/rust-sdk#1330 ·
メンテナーはふだん 3 日以内に返信
-
docs: ClientHandler list_changed callbacks don't mention Peer::listen (2026-07-28)対応中かも @DaleSeo が 3 日前に担当しました。 オープンenhancement P2 ready for work T-documentation
modelcontextprotocol/rust-sdk#1394 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 3 日以内に返信
-
Support the Skills extension (SEP-2640)対応中かも @DaleSeo が 4 日前に担当しました。 オープンenhancement P2 ready for work T-enhancement T-handler T-model T-service
modelcontextprotocol/rust-sdk#1391 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 3 日以内に返信
-
reqwest Streamable HTTP client matches response Content-Type by case-sensitive prefix対応中かも @DaleSeo が 5 日前に担当しました。 オープンbug P1 ready for work T-transport
modelcontextprotocol/rust-sdk#1389 · コメント 2 件 · 担当者 1 名 ·
メンテナーはふだん 3 日以内に返信
-
Streamable HTTP server: Accept and Content-Type are matched case-sensitively and by substring/prefix対応中かも @DaleSeo が 7 日前に担当しました。 オープンbug P1 ready for work T-transport
modelcontextprotocol/rust-sdk#1381 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 3 日以内に返信
modelcontextprotocol/rust-sdk の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
メンテナーはふだん 1 日以内に返信
-
area/desktop-shell P1-high
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
yantrikos/yantrik-os#998 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
warpdotdev/warp#16662 ·
メンテナーはふだん 1 日以内に返信
-
bug P2
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
kanidm/kanidm#4655 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信