内容
# 提供者状态聚合工具
聚合 Claude、Codex 和 Copilot 状态到单个视图 — 适用于人类和大型语言模型(LLM)。
`provider-status-mcp` 同时从三个 AI 提供者收集配额和速率限制状态,并将它们一起呈现。使用它快速查看哪些提供者可用,然后选择一个,或者为 LLM 提供一个工具,告诉它当前可以访问哪些 AI 后端。
```sh
claude mcp add --scope user provider-status-mcp -- npx -y provider-status-mcp --mcp
```
## 功能特点
- 使用 SDK 并行获取 Claude、Codex 和 Copilot 状态 — 不会启动子进程。
- 顶部快速一览框,显示所有三个提供者,并带有进度条。
- `--pretty` 标志,提供详细的、人类可读的摘要。
- 单个 MCP 工具 `get_provider_status` — 让 LLM 在一次调用中检查所有提供者。
- 优雅降级:失败或未配置的提供者显示为不可用。
- 程序化 API:直接在您自己的代码中导入 `fetchAllProviders()`。
## 快速开始
```sh
npx provider-status-mcp --pretty
```
```
╔══════════════════════════════════════════════════════════════╗
║ 提供者状态 — 快速一览 ║
╠══════════════════════════════════════════════════════════════╣
║ Claude ✅ [██░░░░░░░░░░░░░] 13% 使用中 (5h) · 重置 4h 36m ║
║ Codex ✅ [████████░░░░░░░] 56% 使用中 (5h) · 重置 4h 42m ║
║ Copilot ⛔ 速率限制 · 重置 66h 6m ║
╚══════════════════════════════════════════════════════════════╝
━━━ Claude ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 可用
5h: 13.0% 使用中 [███░░░░░░░░░░░░░░░░░] 87.0% 剩余 (重置 4h 36m)
7d: 48.0% 使用中 [██████████░░░░░░░░░░] 52.0% 剩余 (重置 25h)
...
```
添加到 Claude Code:
```sh
claude mcp add --scope user provider-status-mcp -- npx -y provider-status-mcp --mcp
```
然后询问:
```text
哪些 AI 提供者当前可用?
我是否在任何提供者上受到速率限制?
```
## 要求
- Node.js 18 或更新版本。
- 通过 `npx` 可用的单个提供者包之一:
- `claude-status-mcp`
- `codex-status-mcp`
- `copilot-status-mcp`
每个提供者都会单独调用。无法访问的提供者将显示为不可用,而不是导致整个命令失败。
## 命令行界面用法
### 默认 — JSON 输出
```sh
npx provider-status-mcp
```
```json
{
"claude": { "name": "Claude", "available": true, "rateLimited": false, "primaryWindow": { "label": "5h", "percentUsed": 13, "percentRemaining": 87, "resetsAt": "..." }, ... },
"codex": { "name": "Codex", "available": true, "rateLimited": false, "primaryWindow": { "label": "5h", "percentUsed": 56, "percentRemaining": 44, "resetsAt": "..." }, ... },
"copilot": { "name": "Copilot", "available": false, "rateLimited": true, "primaryWindow": { "label": "5h session", "percentUsed": 100, "percentRemaining": 0, "resetsAt": "..." }, ... }
}
```
### 精美输出
```sh
npx provider-status-mcp --pretty
```
### 所有标志
```sh
npx provider-status-mcp [options]
Options:
--pretty 快速一览框 + 每个提供者的详细信息。
--timeout-ms <ms> 每个提供者的超时时间(毫秒)(默认值:30000)。
--mcp 作为 MCP stdio 服务器运行。
--help, -h 显示帮助信息。
```
## 程序化用法
在您自己的代码中安装并导入:
```sh
npm install provider-status-mcp
```
```typescript
import { fetchAllProviders } from "provider-status-mcp";
const { claude, codex, copilot } = await fetchAllProviders();
if (!copilot.available) {
console.log(`Copilot 速率限制,重置 ${copilot.primaryWindow?.resetsAt}`);
}
// 选择第一个可用的提供者
const available = [claude, codex, copilot].find(p => p.available);
console.log(`使用 ${available?.name}`);
```
包导出:
- `fetchAllProviders(options?)` — 并行获取所有三个提供者;返回 `AllProvidersResult`
- 类型:`AllProvidersResult`, `ProviderStatus`, `RateWindow`, `FetchOptions`
每个提供者 SDK 直接调用(不启动子进程),因此错误作为类型化异常出现。
## MCP 设置
MCP 服务器公开一个工具:`get_provider_status`。
返回与 CLI 相同的 JSON。可选参数:
```json
{ "timeoutMs": 30000 }
```
### Claude Code
```sh
claude mcp add --scope user provider-status-mcp -- npx -y provider-status-mcp --mcp
```
等效的 MCP JSON:
```json
{
"mcpServers": {
"provider-status-mcp": {
"command": "npx",
"args": ["-y", "provider-status-mcp", "--mcp"]
}
}
}
```
## 本地开发
```sh
npm install
npm run build
# package.json 在开发期间使用文件引用到本地兄弟目录:
# "claude-status-mcp": "file:../claude-usage-mcp"
# "codex-status-mcp": "file:../codex-status-mcp"
# "copilot-status-mcp": "file:../copilot-status-mcp"
# 发布时,请用实际版本范围替换这些引用。
npm run status:pretty
```
## 相关软件包
这些软件包是同一系列 AI 提供者状态工具的一部分:
- [claude-status-mcp](https://github.com/DrSmile444/claude-status-mcp) — Claude OAuth 使用情况和速率限制窗口
- [codex-status-mcp](https://github.com/DrSmile444/codex-status-mcp) — Codex / ChatGPT 速率限制窗口和积分
- [copilot-status-mcp](https://github.com/DrSmile444/copilot-status-mcp) — GitHub Copilot 会话、每周和每月配额
## 许可证
MIT
---
由 Dmytro Vakulenko 于 2026 年制作 ❤️