Skip to main content
Glama
iqingyoung

429-throttle-mcp

by iqingyoung

429-throttle-mcp

English | 中文

Больше никаких отказов API 429 — MCP-прокси с ограничением скорости, который позволяет моделям автоматически контролировать темп вызовов в длительных задачах.


Что это

Многие бесплатные API больших моделей (Grok, Gemini, Dots и др.) допускают лишь около 30 вызовов в минуту. При выполнении длительных задач (поиск + создание презентаций, массовые вызовы инструментов) модель легко превышает лимит и получает отказ 429.

429-throttle-mcp решает эту проблему, предоставляя прозрачный слой ограничения скорости:

模型 → call_api 工具 → 限流器 → 实际 API 请求 → 返回结果 + 用量快照

Модели не нужно знать о существовании ограничения скорости — ей достаточно просто вызывать call_api. Логика ограничения выполняется прозрачно внутри MCP: если лимит позволяет — запрос пропускается, если нет — модель получает информацию о том, сколько ждать перед повтором.


Related MCP server: mcp-doorman

Структура пакета

Monorepo, содержащий два независимых npm-пакета с общей логикой ограничения скорости:

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

Пакет

Установка

Назначение

429-throttle-mcp

npm i 429-throttle-mcp

MCP-сервер (для MCP-клиентов, таких как ZCode)

dsh-throttle

npm i dsh-throttle

Плагин DeepSeek Harness


Основные параметры

Параметр

Значение по умолчанию

Описание

MAX_CALLS

30

Максимальное число вызовов в минуту (RPM)

MAX_TOKENS

750000

Максимальное число токенов в минуту (TPM), включая тело запроса и ответа


Доступные инструменты

call_api

Отправляет HTTP-запрос через прокси с ограничением скорости. Все вызовы внешних API должны проходить через этот инструмент.

Параметр

Тип

Обязательный

Описание

url

string

Полный URL целевого API

method

string

HTTP-метод, по умолчанию GET

body

string

Тело запроса, JSON-строка

headers

string

Пользовательские заголовки, JSON-строка

Возвращает: ответ API + снимок использования _meta.rateLimit. При отказе из-за ограничения возвращает ошибку RATE_LIMIT_EXCEEDED с рекомендуемым временем ожидания retryAfterSeconds.

get_rate_limit_status

Запрашивает текущее состояние ограничения скорости. Возвращает использованные/оставшиеся вызовы и токены, а также рекомендации. Не включает счётчик очереди, чтобы не вызывать беспокойство у пользователя.

set_rate_limit

Динамическая настройка параметров ограничения (аналог регулировки ползунком, применяется в реальном времени без перезапуска).

Параметр

Тип

Описание

callsPerMinute

number

Максимальное число вызовов в минуту (RPM)

tokensPerMinute

number

Максимальное число токенов в минуту (TPM)


Установка

MCP-клиент (например, ZCode)

npm install 429-throttle-mcp

Добавьте в конфигурацию 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

Добавьте в конфигурацию DSH:

{
  "plugins": {
    "dsh-throttle": {
      "maxCalls": 30,
      "maxTokens": 750000
    }
  }
}

Пример рабочего процесса

При выполнении моделью задачи поиска для брендовой презентации:

  1. Вызов get_rate_limit_status → подтверждение достаточного лимита

  2. Вызов call_api → поиск по ключевым словам бренда

  3. При отказе → ожидание retryAfterSeconds и повтор

  4. Повтор шагов 2–3 до сбора всей информации

  5. Вызов set_rate_limit → ужесточение параметров ограничения для этапа генерации


Алгоритм ограничения скорости

Скользящее окно + ведро токенов (Sliding Window + Token Bucket): поддерживается скользящее окно 60 секунд, при каждом вызове записываются временная метка и потребление токенов. Старые записи за пределами окна автоматически удаляются. При превышении лимита вычисляется оставшееся время ожидания по самой ранней записи.

Безопасность при параллелизме: tryConsume() — синхронная функция, которая в однопоточном цикле событий Node.js естественным образом сериализуется, исключая состояния гонки.


Почему это, а не «вызывай медленнее» в промпте?

Способ

Эффект

В промпте «вызывай раз в 2 секунды»

❌ У модели нет секундомера, она не соблюдает, burst-запросы всё равно дают 429

Внешний скрипт с ограничением

❌ Требуется дополнительный процесс, модель не осведомлена, сложно отлаживать ошибки

MCP-прокси с ограничением (этот проект)

✅ Прозрачно для модели, надёжный контроль, структурированные ошибки + рекомендации по ожиданию


Ключевые слова для сценариев применения

429报错, anti 429, MCP限流, 大模型每分钟调用限制, 免费大模型速率限制, Agent批量调用触发429, 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


Лицензия

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