Feature request: native Rate Limiting (MCP spec compliance)
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 45/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- rust
- 領域
- networking
調査の方向性
トランスポート層から開始し、メッセージが Transport::send() を通過する流れを追跡してから、既存の SinkStreamTransport デコレーターパターンを読みます。stdio、SSE、HTTP、WebSocket の各トランスポートで、並行実行に安全なトークンバケットを Progress、Completion、Sampling、Logging、Elicitation メッセージに適用する方法を定義します。列挙されたすべてのメッセージ型に必要なトランスポートレベルのレート制限が適用されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Problem
The MCP specification requires rate limiting across multiple message types.
Required (MUST/SHOULD):
Progressnotifications: "Both parties SHOULD implement rate limiting to prevent flooding"Completionrequests: "MUST implement appropriate rate limiting"Samplingrequests: "Clients SHOULD implement rate limiting"Loggingmessages: "Servers SHOULD rate limit log messages"Elicitationrequests: "Clients SHOULD implement rate limiting"
Proposed Architecture
Transport Layer Rate Limiting (token bucket algorithm)
Why Transport Layer:
- Universal Coverage: All message types, all transports (stdio/SSE/HTTP/WebSocket)
- Single Integration Point: All messages flow through
Transport::send() - Existing Patterns: Following established decorator pattern (
SinkStreamTransport) - Performance: Early filtering, concurrent-safe
- 主要言語
- Rust
- スター
- 3.9k
- フォーク
- 645
- 平均マージ
- 4日 22時間
- マージ済み PR(30日)
- 37
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
modelcontextprotocol/rust-sdk のほかの issue
-
streamable-http server: a supplied Mcp-Method contradicting an initialize body is silently accepted オープンbug P1 ready for work T-transport
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
modelcontextprotocol/rust-sdk#1271 ·
-
bug P2 ready for work T-model
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
modelcontextprotocol/rust-sdk#1242 ·
-
P3 question T-documentation T-enhancement
難易度 1/5 1時間未満 初心者へのやさしさ 86/100
modelcontextprotocol/rust-sdk#1155 ·
-
bug P1 ready for work T-model T-service
難易度 3/5 1〜2日 初心者へのやさしさ 72/100
modelcontextprotocol/rust-sdk#1283 · コメント 1 件 ·
-
bug P0 ready for work T-security T-transport
modelcontextprotocol/rust-sdk#1272 · 担当者 1 名 ·
modelcontextprotocol/rust-sdk の issue をすべて見る
似ている issue
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
yantrikos/yantrik-os#255 ·
-
bug CLI custom-model
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
raphamorim/rio#1956 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
rust-bitcoin/rust-bitcoin#6930 · コメント 1 件 ·