429-throttle-mcp
429-throttle-mcp
English | Español
No más rechazos de API 429 — un proxy MCP con límite de velocidad que permite a los modelos controlar automáticamente el ritmo de llamadas en tareas de larga duración.
Qué es
Muchas API gratuitas de modelos grandes (Grok, Gemini, Dots, etc.) solo permiten alrededor de 30 llamadas por minuto. Cuando el modelo realiza tareas de larga duración (búsqueda + generación de PPT, llamadas por lotes a herramientas), es fácil exceder el límite y recibir rechazos 429.
429-throttle-mcp proporciona una capa transparente de limitación de velocidad para este problema:
模型 → call_api 工具 → 限流器 → 实际 API 请求 → 返回结果 + 用量快照El modelo no necesita saber que existe un límite de velocidad; solo necesita llamar a call_api normalmente. La lógica de limitación se ejecuta de forma transparente dentro de MCP: si hay cuota disponible, se permite el paso; si no, se le indica al modelo cuánto tiempo esperar antes de reintentar.
Related MCP server: tiny-mcp-gateway
Estructura del paquete
Monorepo que contiene dos paquetes npm independientes que comparten la lógica central de limitación:
429-throttle-mcp/
├── packages/
│ ├── rate-limiter.js # 核心限流逻辑(共享)
│ ├── 429-throttle-mcp/ # MCP Server 包
│ │ ├── package.json
│ │ ├── server.js
│ │ └── README.md
│ └── dsh-throttle/ # DSH Plugin 包
│ ├── package.json
│ ├── plugin.js
│ └── README.md
├── dsh-manifest.json
├── README.md
└── .env.examplePaquete | Instalación | Uso |
|
| MCP Server (clientes MCP como ZCode) |
|
| DeepSeek Harness Plugin |
Parámetros principales
Parámetro | Valor predeterminado | Descripción |
| 30 | Máximo de llamadas por minuto (RPM) |
| 750000 | Máximo de tokens por minuto (TPM), incluyendo cuerpo de solicitud y respuesta |
Herramientas expuestas
call_api
Envía solicitudes HTTP a través del proxy de limitación. Todas las llamadas a API externas deben pasar por esta herramienta.
Parámetro | Tipo | Obligatorio | Descripción |
| string | ✅ | URL completa de la API de destino |
| string | ❌ | Método HTTP, por defecto GET |
| string | ❌ | Cuerpo de solicitud, cadena JSON |
| string | ❌ | Encabezados personalizados, cadena JSON |
Devuelve: respuesta de la API + instantánea de uso de _meta.rateLimit. Si se rechaza por límite de velocidad, devuelve el error RATE_LIMIT_EXCEEDED con el tiempo de espera sugerido retryAfterSeconds.
get_rate_limit_status
Consulta el uso actual del límite de velocidad. Devuelve llamadas usadas/restantes y número de tokens, así como sugerencias. No incluye cola de espera para evitar ansiedad en el usuario.
set_rate_limit
Ajusta dinámicamente los parámetros de limitación (corresponde al ajuste del control deslizante, efecto en tiempo real sin reinicio).
Parámetro | Tipo | Descripción |
| number | Máximo de llamadas por minuto (RPM) |
| number | Máximo de tokens por minuto (TPM) |
Instalación
Cliente MCP (como ZCode)
npm install 429-throttle-mcpAgrega en la configuración de MCP:
{
"mcpServers": {
"429-throttle-mcp": {
"command": "node",
"args": ["node_modules/429-throttle-mcp/server.js"],
"env": {
"MAX_CALLS": "30",
"MAX_TOKENS": "750000"
}
}
}
}DeepSeek Harness
npm install dsh-throttleAgrega en la configuración de DSH:
{
"plugins": {
"dsh-throttle": {
"maxCalls": 30,
"maxTokens": 750000
}
}
}Ejemplo de flujo de trabajo
Cuando el modelo realiza tareas de búsqueda de marca PPT:
Llama a
get_rate_limit_status→ confirma que hay cuota suficienteLlama a
call_api→ busca palabras clave de marcaSi es rechazado → espera
retryAfterSecondsy reintentaRepite los pasos 2-3 hasta recopilar toda la información
Llama a
set_rate_limit→ ajusta los parámetros de limitación para la fase de generación
Algoritmo de limitación
Ventana deslizante + Cubo de tokens (Sliding Window + Token Bucket): mantiene una ventana deslizante de 60 segundos, registra la marca de tiempo y el consumo de tokens en cada llamada. Los registros antiguos fuera de la ventana se limpian automáticamente. Cuando se excede el límite, calcula el tiempo de espera restante basado en el registro más antiguo.
Seguridad de concurrencia: tryConsume() es una función síncrona que se serializa naturalmente en el bucle de eventos de un solo hilo de Node.js, sin condiciones de carrera.
Por qué usar esto en lugar de escribir "ve más lento" en el prompt
Método | Efecto |
Escribir "llama cada 2 segundos" en el prompt | ❌ El modelo no tiene cronómetro, no cumple, hace burst y sigue recibiendo 429 |
Limitación con script externo | ❌ Requiere procesos adicionales, el modelo no lo percibe, errores difíciles de depurar |
Proxy de limitación MCP (este proyecto) | ✅ Transparente para el modelo, control transparente, errores estructurados + sugerencias de espera |
Escenarios de aplicación
Error 429, anti 429, limitación MCP, límite de llamadas por minuto de modelos grandes, límite de velocidad de modelos grandes gratuitos, llamadas por lotes de Agent que disparan 429, llamadas en cola MCP, RPM, TPM, rate limiter mcp, quota guard, mcp server, mcp proxy, throttle, llm api quota, cop, HTTP 429, Too Many Requests, rate limiting, token bucket, sliding window, API proxy, LLM rate limit, AI API throttle, concurrent rate limit, 30 calls per minute
Licencia
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Fleet-wide shared rate limiter for A2A + multi-MCP deployments. Most MCP servers rate-limit inde...
REST-to-MCP for UK hospitality. Safety proxy: circuit-breakers, rate limits, whitelists. Apache 2.0.
Cloudflare Workers MCP server: ai-rate-limit-tracker
Governed MCP gateway: one endpoint for your tools, with credential custody and audit log.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceA least-privilege enforcement proxy for MCP servers. It sits between MCP clients and upstream servers, enforcing tool policies, hiding denied tools, requiring human approval for risky actions, and providing a structured audit trail.MIT
- AlicenseNot gradedqualityCmaintenanceA zero-dependency MCP proxy/gateway server that aggregates multiple MCP servers, routes tools by prefix, load balances, and enforces authentication and rate limits.1MIT
- FlicenseNot gradedqualityBmaintenanceEnables autonomous agents to apply adaptive token bucket concurrency limits and backoff scheduling to avoid HTTP 429 errors. It provides deterministic rate-limiting permits and structured telemetry through MCP-compatible clients.8-
- FlicenseNot gradedqualityBmaintenanceEnables adaptive token bucket rate limiting and backoff scheduling to prevent HTTP 429 errors for autonomous agents and API clients. Provides a deterministic zero-dependency MCP/CLI engine for acquiring token permits and returning structured telemetry.7-