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: mcp-doorman
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityCmaintenanceSecurity gateway that wraps any MCP server with per-tool policies, approval gates, and optional Ed25519-signed decision receipts. Shadow mode logs every tool call without blocking; enforce mode applies block, rate-limit, and minimum-tier rules. Receipts are independently verifiable offline with no accounts needed.54699MIT
- AlicenseNot gradedqualityCmaintenanceA drop-in proxy that guards MCP servers with policy enforcement, secret redaction, prompt-injection screening, rug-pull detection, rate limiting, and audit logging.12Apache 2.0
- 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-infrastructure, local proxy that wraps any stdio MCP server to add audit logging, policy enforcement with regex guards, and per-session/per-day budgets.MIT
Related MCP Connectors
Fleet-wide shared rate limiter for A2A + multi-MCP deployments. Most MCP servers rate-limit inde...
Hosted MCP server for LLM cost estimation, model comparison, and budget-aware routing.
Billing proxy for MCP servers. Adds Stripe and x402 crypto payments without writing billing code.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/iqingyoung/429-throttle-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server