provider-status-mcp
v0.4.0
Published
MCP server and CLI that aggregates Claude, Codex, and Copilot status into a single view.
Downloads
315
Maintainers
Readme
provider-status-mcp
Aggregate Claude, Codex, and Copilot status into a single view — for both humans and LLMs.
provider-status-mcp collects quota and rate-limit status from all three AI providers at once and
presents them together. Use it to quickly see which providers are available before choosing one, or
give an LLM a single tool that tells it which AI backends it can reach right now.
claude mcp add --scope user provider-status-mcp -- npx -y provider-status-mcp --mcpFeatures
- Fetches Claude, Codex, and Copilot status in parallel using their SDKs — no subprocess spawning.
- Quick-glance box at the top showing all three providers at once with progress bars.
--prettyflag for a detailed human-readable summary.- Single MCP tool
get_provider_status— lets an LLM check all providers in one call. - Graceful degradation: a provider that fails or isn't configured is shown as unavailable.
- Programmatic API: import
fetchAllProviders()directly in your own code.
Quick Start
npx provider-status-mcp --pretty╔══════════════════════════════════════════════════════════════╗
║ Provider Status — Quick Glance ║
╠══════════════════════════════════════════════════════════════╣
║ Claude ✅ [██░░░░░░░░░░░░░] 13% used (5h) · resets 4h 36m ║
║ Codex ✅ [████████░░░░░░░] 56% used (5h) · resets 4h 42m ║
║ Copilot ⛔ RATE LIMITED · resets 66h 6m ║
╚══════════════════════════════════════════════════════════════╝
━━━ Claude ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Available
5h: 13.0% used [███░░░░░░░░░░░░░░░░░] 87.0% remaining (resets 4h 36m)
7d: 48.0% used [██████████░░░░░░░░░░] 52.0% remaining (resets 25h)
...Add to Claude Code:
claude mcp add --scope user provider-status-mcp -- npx -y provider-status-mcp --mcpThen ask:
Which AI providers are available right now?
Am I rate limited on any provider?Requirements
- Node.js 18 or newer.
- At least one of the individual provider packages available via
npx:claude-status-mcpcodex-status-mcpcopilot-status-mcp
Each provider is invoked separately. Providers that can't be reached are shown as unavailable rather than causing the whole command to fail.
CLI Usage
Default — JSON output
npx provider-status-mcp{
"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": "..." }, ... }
}Pretty output
npx provider-status-mcp --prettyAll flags
npx provider-status-mcp [options]
Options:
--pretty Quick-glance box + per-provider details.
--timeout-ms <ms> Per-provider timeout in milliseconds (default: 30000).
--mcp Run as an MCP stdio server.
--help, -h Show help.Programmatic Usage
Install and import directly in your own code:
npm install provider-status-mcpimport { fetchAllProviders } from "provider-status-mcp";
const { claude, codex, copilot } = await fetchAllProviders();
if (!copilot.available) {
console.log(`Copilot rate limited, resets ${copilot.primaryWindow?.resetsAt}`);
}
// Pick the first available provider
const available = [claude, codex, copilot].find(p => p.available);
console.log(`Use ${available?.name}`);The package exports:
fetchAllProviders(options?)— fetches all three providers in parallel; returnsAllProvidersResult- Types:
AllProvidersResult,ProviderStatus,RateWindow,FetchOptions
Each provider SDK is called directly (no subprocess spawning), so errors surface as typed exceptions.
MCP Setup
The MCP server exposes one tool: get_provider_status.
Returns the same JSON as the CLI. Optional arguments:
{ "timeoutMs": 30000 }Claude Code
claude mcp add --scope user provider-status-mcp -- npx -y provider-status-mcp --mcpEquivalent MCP JSON:
{
"mcpServers": {
"provider-status-mcp": {
"command": "npx",
"args": ["-y", "provider-status-mcp", "--mcp"]
}
}
}Local Development
npm install
npm run build
# The package.json uses file: references to local siblings during development:
# "claude-status-mcp": "file:../claude-usage-mcp"
# "codex-status-mcp": "file:../codex-status-mcp"
# "copilot-status-mcp": "file:../copilot-status-mcp"
# When publishing, replace these with real version ranges.
npm run status:prettyRelated Packages
These packages are part of the same family of AI provider status tools:
- claude-status-mcp — Claude OAuth usage and rate-limit windows
- codex-status-mcp — Codex / ChatGPT rate-limit windows and credits
- copilot-status-mcp — GitHub Copilot session, weekly, and monthly quota
License
MIT
Made with ❤️ by Dmytro Vakulenko, 2026
