minimax-remaining-mcp
minimax-remaining-mcp
MCP サーバー: AI エージェントに MiniMax Token Plan プランの残り容量を認識させ、 レート制限をトリガーしないようにいつ一時停止すべきかを知らせます。
DeepSeek Harness (DSH)、Claude Desktop、Cursor など、MCP プロトコルに準拠したすべてのクライアントに対応しています。
┌──────────────┐ stdio ┌──────────────────────┐ HTTPS ┌──────────────┐
│ AI 代理 │ ──────────► │ minimax-remaining- │ ────────► │ MiniMax │
│ (DSH 等) │ ◄────────── │ mcp │ ◄──────── │ Web API │
└──────────────┘ └──────────┬───────────┘ └──────────────┘
│
▼
┌─────────────┐
│ Camoufox │ 一次性手动登录
│ (Firefox) │ → 持久化会话 cookie
└─────────────┘プロジェクト背景
MiniMax ウェブコンソールの「5h 制限 / 61% 使用済み / 2h56m 後にリセット」パネルは、 実際には2つの HTTP エンドポイントによって駆動されています。
/v1/api/openplatform/coding_plan/remains?GroupId=…— 5時間固定ウィンドウの残りパーセンテージ + カウントダウン/backend/account/token_plan_credit— プランプール(週単位)の累計クレジット
どちらのエンドポイントも、ウェブ UI の api_key(sk-cp-... のような形式)を
Bearer Token として受け付けません。使用すると base_resp = {2062, "no active token plan"} が返ります。
唯一の有効な方法は、ウェブセッション Cookie を使用することです(実際のブラウザログイン後の _token)。
このプロジェクトでは、Camoufox を使用して永続的な Firefox プロファイルを維持し、Cookie を
MCP サーバーの再起動間で保持します。
Related MCP server: cycles-mcp-server
5時間固定ウィンドウ(スライディングウィンドウではない)
MiniMax 公式ドキュメントによると:
プラン内のクレジットは 5時間固定ウィンドウ と週間ウィンドウによって制御されます。未使用のプラン内クレジットは 次の請求サイクルに繰り越されません。
したがって、ウィンドウ境界は固定された時計の時間帯(典型的には CST 00:00 10:00 / 15:00 / 20:00
など)であり、最初のリクエストからスライディングするわけではありません。ウィンドウ切り替えの数秒前にクエリすると、
返されるのは次のウィンドウのデータです。レスポンス内の interval_start_iso /
interval_end_iso フィールドが、具体的にどの期間かを示します。
一行インストール
# 方式 1:从 PyPI 安装(推荐)
pip install minimax-remaining-mcp
# 或
uv pip install minimax-remaining-mcp
# 或
uvx minimax-remaining-mcp # 不安装直接运行
# 方式 2:从 GitHub 安装(无需 PyPI 账号)
pip install git+https://github.com/yang-cc/minimax-remaining-mcp.git
# 方式 3:本地开发模式
git clone https://github.com/yang-cc/minimax-remaining-mcp.git
cd minimax-remaining-mcp
uv venv .venv --python 3.12
uv pip install -e .一度だけのログイン
Bearer Token のパスがないため、まず Camoufox で手動ログインを一度行う必要があります:
# 1. 启动服务器
python -m minimax_remaining_mcp.server
# 2. 在 MCP 客户端里调用:
minimax_login(timeout_seconds=600)Camoufox ブラウザがポップアップし、MiniMax ログインページが開きます。手動で
Cloudflare / CAPTCHA 検証、アカウントログインを完了し、ブラウザが API Keys ページに到達するまで進めてください。
サーバーは _token Cookie を自動検出し、セッションを data/cookies.json に永続化します。
🔌 DeepSeek Harness (DSH) 統合
DSH は @deepseek-ai/dsh-mcp-client を介して MCP サーバーを読み込みます。
~/.dsh/profiles/web/cordis.patch.yml に以下のセクションを追加してください(注意: パッケージ
名は minimax-remaining-mcp ですが、Python モジュールパスは
minimax_remaining_mcp.server です):
- insert:
- id: minimax-remaining-mcp
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: minimax
transport: stdio
command: <repo>/.venv/Scripts/python.exe # 或 uv 环境的 python
args: ['-u', '-m', 'minimax_remaining_mcp.server']
env:
# 暂停阈值:5h 剩余低于 30% 时触发代理暂停
MINIMAX_PAUSE_THRESHOLD_REMAINING_PCT: '30'
# 储存目录(可选,默认 ./data)
# MINIMAX_DATA_DIR: E:\\codex_dir\\.dsh\\state\\minimax-remaining-mcp
failOnStartupError: false
toolCallTimeoutMs: 180000DSH 統合のポイント
注意点 | 説明 |
| Python stdio をバッファリングなしにし、DSH コンソールで MCP サーバーログを即座に確認できるようにします。 |
Python インタープリタのパス | インストール方法によって異なります:• |
初回起動時のログインが必要 | DSH が MCP サーバーを起動する際、 |
DSH の再起動 |
|
| 推奨設定は |
永続化ディレクトリの分離 | 複数のプロジェクトで同じ DSH を共有する場合、各プロジェクトで異なる |
DSH での典型的な使用法
DSH 起動後、minimax_status() を呼び出して残り容量を判断します。エージェントに
毎回の MiniMax API 呼び出しの前に minimax_status() を呼び出すようトレーニングし、should_pause
フィールドを確認させることができます:
remaining_percent_5h < 30 → should_pause=true → 代理应停下来或转做其他事
remaining_percent_5h >= 30 → should_pause=false → 可以继续调用より徹底的な方法は、minimax_wait_for_quota() を呼び出すことです。これは、容量が
しきい値(デフォルトは MINIMAX_PAUSE_THRESHOLD_REMAINING_PCT)を超えるまでブロックし、
エージェントが自分でポーリングロジックを書く手間を省きます。
ツール一覧
ツール | 用途 |
| ウェブパネルのすべての数値: 5h 残り/使用済み %、カウントダウン、プラン累計。しきい値未満の場合は |
| エージェントローカルの 5h 観測ウィンドウ状態のみを返します(MiniMax の固定ウィンドウとは別で、エージェントの自己スロットリング用です)。 |
| ローカルウィンドウの消費カウンターを N 増やします。毎回の MiniMax API 呼び出し後に呼び出します。 |
| 5h 残りパーセンテージが |
| 手動ログイン用に Camoufox ブラウザウィンドウをポップアップします。 |
| クイック Camoufox ヘルスチェック(example.com を開きます)。 |
| 静的設定 + 直近のセッションメタデータ。 |
| cookies / session / window 状態をクリアします。 |
⚠️ 初回コールドスタート(Camoufox)は遅い
minimax_smoke() と minimax_login() が初めて Camoufox を起動する際、永続化された
Firefox プロファイルの解凍、sqlite データベースの初期化、拡張機能の読み込みなどが必要で、
通常 30〜90 秒(ディスク速度によります)かかります。これは Camoufox のコールドスタートの正常な動作であり、バグではありません。以降の起動では data/profile/ 内のキャッシュを再利用するため、秒単位で完了します。
初回呼び出しが MCP クライアントの toolCallTimeoutMs(DSH デフォルト 180 秒)を超えて
中断された場合は、もう一度再試行すれば結果が表示されます。頻繁にコールドスタートが発生する場合(例: CI で実行する場合)は、
対応する MCP クライアントの toolCallTimeoutMs を 300000(5 分)に調整してください。
minimax_status() レスポンス例
実際の診断出力(5h ウィンドウが枯渇し、一時停止をトリガーすべき場合):

以下は正規化された JSON 構造です:
{
"ok": true,
"source": "coding_plan",
"remaining_percent_5h": 76, // 5h 窗口剩余 %
"used_percent_5h": 24, // 5h 窗口已用 %
"seconds_until_reset_human": "4h21m35s",
"interval_end_iso": "2026-08-25T12:00:00+00:00",
"interval_status_text": "active", // active | exhausted | inactive
"remaining_percent_weekly": 100,
"seconds_until_weekly_reset_human": "5d08h42m",
"total_credits": 14000, // 套餐累计(周维度)
"used_credits": 3188,
"remaining_credits": 10812,
"user_name": "...",
"group_id": "...",
"should_pause": false, // 低于阈值时为 true
"model_remains": [
{ "model_name": "general", "interval_remaining_percent": 76, "interval_status": 1 },
{ "model_name": "video", "interval_remaining_percent": 100, "interval_status": 3 }
]
}一時停止しきい値のセマンティクス
MINIMAX_PAUSE_THRESHOLD_REMAINING_PCT=30 は、5h ウィンドウの残りパーセンテージが 30% 未満の場合に一時停止する(つまり使用済みが 70% を超えた場合)ことを意味します。比較対象は remaining_percent_5h であり、
プラン累計の remaining_credits ではありません — これらは独立した指標です。
永続化ファイル
すべての状態は data/(.gitignore で無視)に純粋な JSON として保存されます:
data/
├── cookies.json # Camoufox 会话 cookie
├── session.json # 最近一次登录元数据
├── window.json # 代理本地的 5h 观测窗口
├── last_usage.json # 最近一次成功的 API 响应(缓存)
└── profile/ # Camoufox 持久化 Firefox profile(~150 MB)coding_plan/remains が 401/403 を返す場合、完全なレスポンスボディが
data/last_coding_plan_failure.json に書き込まれ、トラブルシューティングに役立ちます — サービスがダウンしていると疑う前に、まずこのファイルを確認してください。
環境変数
すべてオプションで、デフォルト値は以下の表を参照してください。
変数 | デフォルト | 説明 |
|
| 5h 残りがこの値未満の場合に一時停止します。 |
|
| エージェントローカルウィンドウの長さ(5h)。 |
|
| ログイン時にブラウザウィンドウを強制的に表示します。 |
| auto |
|
|
| ブラウザの言語。 |
|
| API リクエストのタイムアウト(秒)。 |
|
| cookies / session の保存ディレクトリ。 |
|
| コンソールのベース URL を上書きします。 |
|
| プランプールのエンドポイント。 |
|
| 5h ウィンドウのエンドポイント。 |
|
| メインエンドポイントが失敗した場合に使用します。 |
|
| ログイン後のランディングページ。 |
ローカル開発 & デバッグ
# 启动 MCP 服务器(stdio 模式)
.venv\Scripts\python.exe -u -m minimax_remaining_mcp.server
# 或(Windows)
run.bat
# 直接探测 coding_plan 接口(无需 MCP / 浏览器)
.venv\Scripts\python.exe probe_coding_plan.py
# 检查持久化状态
cat data/cookies.json | head -c 200
cat data/session.json
cat data/last_coding_plan_failure.json # 如果存在PyPI へのパッケージ公開(メンテナー向け)
# 安装打包工具
pip install build twine
# 在项目根目录构建 wheel + sdist
python -m build
# → dist/minimax_remaining_mcp-0.1.0-py3-none-any.whl
# → dist/minimax_remaining_mcp-0.1.0.tar.gz
# 检查产物
twine check dist/*
# 上传到 PyPI(需要先 `twine login` 或用 token)
twine upload dist/*
# 或:uv publish dist/*公開後、誰でも次のことができます:
pip install minimax-remaining-mcp
uv pip install minimax-remaining-mcp
uvx minimax-remaining-mcp # 临时运行制限事項
Bearer キーのパスはありません。 MiniMax は現在、Coding Plan API 用のサブスクリプション キーを発行していません。ウェブコンソールの
api_keyを Bearer として使用すると、2062 "no active token plan"が返ります。唯一の有効な方法はセッション Cookie です。Cloudflare / CAPTCHA は手動で完了する必要があります。 初回ログインは人間が行う必要があります。 このプロジェクトはキャプチャ解決サービスには接続しません。
5h ウィンドウは CST 固定の時間帯です。 ウィンドウ切り替えの前にクエリすると、次のウィンドウのデータが取得されます。
interval_start_iso/interval_end_isoが具体的な期間を示します。プラン累計(
remaining_credits)は繰り越されません。 これは週単位の累計プールであり、 5h ウィンドウのリセットでゼロにはなりません。
ライセンス
MIT — 詳細は LICENSE を参照してください。
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
- AlicenseNot gradedqualityDmaintenanceProvides intelligent OpenAI API token management with automatic switching between model tiers when usage limits are reached. It enables users to track daily token consumption, estimate costs before making calls, and manage project-specific usage data.MIT
- AlicenseAqualityAmaintenanceRuntime budget authority for autonomous agents - a set of tools to check, reserve, spend, and release budget before and after every costly, risky operation. The agent asks "can I afford this?" before acting, and reports what it actually used afterward.9138Apache 2.0
- AlicenseAqualityNot gradedmaintenanceProvides real-time visibility into Claude Pro and Max subscription usage limits directly within Claude Code by utilizing local OAuth tokens. It enables users to monitor session and weekly usage across different models and receive alerts regarding rate-limiting status.4
- AlicenseAqualityAmaintenanceQueries real-time AI subscription quota for Claude Code Max, Kimi, and Z.ai. Tokens are read from environment variables and never stored.3MIT
Related MCP Connectors
Budget & cost control for AI agents — per-agent spend caps + rate limits before each call.
Agent Token Budget MCP — hard per-session token + spend cap with signed budget-exhausted
See, price, and control every tool call your AI agents make: policy checks, cost, and audit tools.
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/yang-cc/minimax-remaining-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server