Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Feature request: native Rate Limiting (MCP spec compliance)

Abierto
#388 5 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
45/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
rust
Área
networking

Línea de trabajo

Empieza en la capa de transporte y sigue cómo pasan los mensajes por Transport::send(); después, lee el patrón de decorador existente de SinkStreamTransport. Define cómo se aplica un token bucket seguro para la concurrencia a los mensajes de Progress, Completion, Sampling, Logging y Elicitation en los transportes stdio, SSE, HTTP y WebSocket. Se considera terminado cuando todos los tipos de mensaje enumerados reciben la limitación de tasa requerida a nivel de transporte.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement help wanted P2 T-core
Problem

The MCP specification requires rate limiting across multiple message types.

Required (MUST/SHOULD):

  • Progress notifications: "Both parties SHOULD implement rate limiting to prevent flooding"
  • Completion requests: "MUST implement appropriate rate limiting"
  • Sampling requests: "Clients SHOULD implement rate limiting"
  • Logging messages: "Servers SHOULD rate limit log messages"
  • Elicitation requests: "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
Lenguaje dominante
Rust
Estrellas
3.9k
Forks
645
Merge medio
4 d 22 h
PR fusionados (30 d)
37

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de modelcontextprotocol/rust-sdk

Todos los issues de modelcontextprotocol/rust-sdk

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.