429-throttle-mcp
429-throttle-mcp
English | 中文
API 429 拒否に悩まされない — レート制限付き MCP プロキシ。モデルが長期的なタスクで呼び出しペースを自動制御できるようにします。
概要
多くの無料大モデル API(Grok、Gemini、Dots など)は毎分約 30 回しか呼び出せません。モデルが長期的なタスク(検索 + PPT 生成、ツールの一括呼び出し)を実行する際、制限を超えて 429 拒否されることがよくあります。
429-throttle-mcp はこの課題に対して透過的なレート制限レイヤーを提供します:
模型 → call_api 工具 → 限流器 → 实际 API 请求 → 返回结果 + 用量快照モデルはレート制限の存在を知る必要はなく、通常どおり call_api を呼び出すだけです。レート制限ロジックは MCP 内部で透過的に実行されます——クォータが足りれば通過させ、足りなければモデルに待機時間を伝えて再試行させます。
Related MCP server: tiny-mcp-gateway
パッケージ構成
Monorepo 構成で、2 つの独立した 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パッケージ名 | インストール | 用途 |
|
| MCP Server(ZCode などの MCP クライアント) |
|
| DeepSeek Harness Plugin |
コアパラメータ
パラメータ | デフォルト値 | 説明 |
| 30 | 毎分の最大呼び出し回数 (RPM) |
| 750000 | 毎分の最大 Token 数 (TPM)、リクエストボディとレスポンスボディを含む |
公開ツール
call_api
レート制限プロキシを介して HTTP リクエストを送信します。すべての外部 API 呼び出しはこのツールを経由する必要があります。
パラメータ | タイプ | 必須 | 説明 |
| string | ✅ | 対象 API の完全な URL |
| string | ❌ | HTTP メソッド、デフォルトは GET |
| string | ❌ | リクエストボディ、JSON 文字列 |
| string | ❌ | カスタムリクエストヘッダー、JSON 文字列 |
戻り値:API レスポンス + _meta.rateLimit 使用量スナップショット。レート制限で拒否された場合は、RATE_LIMIT_EXCEEDED エラーと retryAfterSeconds 推奨待機時間を返します。
get_rate_limit_status
現在のレート制限使用状況を照会します。使用済み/残りの呼び出し回数と Token 数、および推奨事項を返します。キューのカウンターは含まれず、ユーザーの不安を回避します。
set_rate_limit
レート制限パラメータを動的に調整します(スライダー調整に対応し、再起動不要でリアルタイムに反映されます)。
パラメータ | タイプ | 説明 |
| number | 毎分の最大呼び出し回数 (RPM) |
| number | 毎分の最大 Token 数 (TPM) |
インストール
MCP クライアント(ZCode など)
npm install 429-throttle-mcpMCP 設定に以下を追加します:
{
"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-throttleDSH 設定に以下を追加します:
{
"plugins": {
"dsh-throttle": {
"maxCalls": 30,
"maxTokens": 750000
}
}
}ワークフロー例
モデルがブランド PPT 検索タスクを実行する場合:
get_rate_limit_statusを呼び出す → クォータが十分であることを確認call_apiを呼び出す → ブランドキーワードを検索拒否された場合 →
retryAfterSeconds待機後に再試行すべての情報を収集するまで 2〜3 を繰り返す
set_rate_limitを呼び出す → 生成フェーズ用にレート制限パラメータを引き締める
レート制限アルゴリズム
スライディングウィンドウ + トークンバケット(Sliding Window + Token Bucket):60 秒のスライディングウィンドウを維持し、呼び出しごとにタイムスタンプとトークン消費量を記録します。ウィンドウ外の古いレコードは自動的にクリーンアップされます。制限を超えた場合は、最も古いレコードの残り待機時間を計算します。
並行処理の安全性:tryConsume() は同期関数であり、Node.js のシングルスレッドイベントループ内で自然に直列化されるため、競合状態は発生しません。
プロンプトに「ゆっくり呼び出せ」と書くのではなく、これを使う理由
方法 | 効果 |
プロンプトに「2 秒ごとに呼び出せ」と書く | ❌ モデルにストップウォッチはなく、守らず、バーストして結局 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
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-