Skip to main content
Glama
iqingyoung

429-throttle-mcp

by iqingyoung

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.example

Paquete

Instalación

Uso

429-throttle-mcp

npm i 429-throttle-mcp

MCP Server (clientes MCP como ZCode)

dsh-throttle

npm i dsh-throttle

DeepSeek Harness Plugin


Parámetros principales

Parámetro

Valor predeterminado

Descripción

MAX_CALLS

30

Máximo de llamadas por minuto (RPM)

MAX_TOKENS

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

url

string

URL completa de la API de destino

method

string

Método HTTP, por defecto GET

body

string

Cuerpo de solicitud, cadena JSON

headers

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

callsPerMinute

number

Máximo de llamadas por minuto (RPM)

tokensPerMinute

number

Máximo de tokens por minuto (TPM)


Instalación

Cliente MCP (como ZCode)

npm install 429-throttle-mcp

Agrega 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-throttle

Agrega 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:

  1. Llama a get_rate_limit_status → confirma que hay cuota suficiente

  2. Llama a call_api → busca palabras clave de marca

  3. Si es rechazado → espera retryAfterSeconds y reintenta

  4. Repite los pasos 2-3 hasta recopilar toda la información

  5. 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

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    B
    quality
    C
    maintenance
    Security 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.
    5
    469
    9
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A drop-in proxy that guards MCP servers with policy enforcement, secret redaction, prompt-injection screening, rug-pull detection, rate limiting, and audit logging.
    12
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    A 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
  • A
    license
    Not graded
    quality
    C
    maintenance
    A 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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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