quota-dashboard-mcp
The quota-dashboard-mcp server provides a local, privacy-first way to monitor AI subscription quotas for Claude Code Max, Kimi, and Z.ai through a unified interface.
get_quota_summary: Retrieve a combined overview of quota usage across all configured providers in a single call. Providers without a configured token report a config error without failing the entire request.get_provider_quota: Query detailed quota information for a single provider (claude,kimi, orzai), with support for an optional bearer token override and amockflag for testing without hitting real APIs.check_quota_health: Get a health report flagging providers that exceed a configurable usage threshold (default 80%) or have missing/invalid tokens, returning actionable warnings to help avoid unexpected quota outages.
Privacy is ensured by reading tokens from environment variables at call time, never persisting them to disk, and only sending them to the provider's own API. The server integrates with MCP-compatible clients like Claude Code, Cursor, and VS Code via stdio transport.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@quota-dashboard-mcpShow my quota summary"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
quota-dashboard-mcp
A local-run, privacy-first MCP server that exposes real-time AI subscription quota for Claude Code Max, Kimi, and Z.ai. It uses stdio transport, so it works with Claude Code, Cursor, VS Code, and any other MCP stdio client.
Tokens stay on your machine: they are read from environment variables at call time, never persisted to disk, and never sent anywhere except the provider's own API.
Looking for a GUI? See the sibling project
quota-dashboard.
Tools
Tool | Description |
| Unified quota summary across all configured providers. |
| Detailed quota for one provider ( |
| Flags providers over a usage threshold (default 80%) or missing/invalid tokens. |
Related MCP server: claudeusage-mcp
Install
Requirements
Node.js ≥ 18
A bearer token for each provider you want to query (see Token setup below)
One-line install
The package is installable directly from GitHub today (no npm account required):
npx -y ryan-knowone/quota-dashboard-mcpOnce the package is published to npm, the canonical command will be:
npx -y quota-dashboard-mcp@latestClaude Code
Add the server to your Claude Code config (~/.claude/CONFIG.json or via /mcp):
{
"mcpServers": {
"quota-dashboard": {
"command": "npx",
"args": ["-y", "ryan-knowone/quota-dashboard-mcp"],
"env": {
"CLAUDE_TOKEN": "your_claude_oauth_token",
"KIMI_TOKEN": "your_kimi_platform_api_key",
"ZAI_TOKEN": "your_zai_bearer_token"
}
}
}
}Cursor
Open Cursor Settings → MCP → Add new MCP server, then paste:
Name:
quota-dashboardType:
commandCommand:
env CLAUDE_TOKEN=your_claude_oauth_token KIMI_TOKEN=your_kimi_platform_api_key ZAI_TOKEN=your_zai_bearer_token npx -y ryan-knowone/quota-dashboard-mcpVS Code
Add to your VS Code settings.json (requires the Claude AI extension or any MCP-compatible extension):
{
"mcp": {
"servers": {
"quota-dashboard": {
"command": "npx",
"args": ["-y", "ryan-knowone/quota-dashboard-mcp"],
"env": {
"CLAUDE_TOKEN": "your_claude_oauth_token",
"KIMI_TOKEN": "your_kimi_platform_api_key",
"ZAI_TOKEN": "your_zai_bearer_token"
}
}
}
}
}Token setup
Claude Code Max
The quota endpoint requires an OAuth token from an authenticated Claude Code browser session. The easiest source is ~/.claude/credentials.json.
The server currently reads CLAUDE_TOKEN from the environment. To extract it:
# macOS
jq -r '.accessToken' ~/Library/Application\ Support/Claude/credentials.json
# Linux
jq -r '.accessToken' ~/.claude/credentials.jsonThen set CLAUDE_TOKEN to that value.
Kimi
Use a platform API key from platform.moonshot.cn. Set it as KIMI_TOKEN.
In practice, the same sk-kimi-... key used by Claude Code's Anthropic-compatible proxy also works for the Kimi usage endpoint. If your proxy key returns Invalid Authentication, create a dedicated platform API key from platform.moonshot.cn.
Z.ai
Use a Bearer token from your Z.ai account/dashboard. Set it as ZAI_TOKEN.
Local development
git clone https://github.com/ryan-knowone/quota-dashboard-mcp.git
cd quota-dashboard-mcp
npm install
# Run directly with tsx
CLAUDE_TOKEN=... KIMI_TOKEN=... ZAI_TOKEN=... npm run dev
# Or build and run
npm run build
CLAUDE_TOKEN=... KIMI_TOKEN=... ZAI_TOKEN=... npm startTesting a tool call
With the server running over stdio, send a JSON-RPC tools/call request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_provider_quota",
"arguments": { "provider": "kimi", "mock": true }
}
}Privacy
Tokens are read from environment variables at call time.
Tokens are never written to disk (other than the env vars you already manage).
Tokens and usage data are never sent to telemetry or any third party except the provider's own API.
Support
This is an independent open-source project. If it saves you from an unexpected quota outage, you can tip ETH/USDC on Base:
0x1e2D7F8715E8180816c0236A5c4F21596C5b9c9e
Issues and PRs are welcome — provider endpoints change often and community maintenance keeps the tool accurate.
License
MIT
Available Tools
3 toolscheck_quota_healthA
Flags providers that are over a usage threshold (default 80%) or have missing/invalid tokens. Returns a health report with actionable warnings.
| Name | Required | Description | Default |
|---|---|---|---|
| threshold | No | Usage percentage that triggers a warning. Defaults to 80. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden. It transparently describes that it flags providers based on threshold and token validity, and returns a health report. However, it does not confirm read-only behavior or potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences concisely convey the tool's purpose and output. The key action is front-loaded in the first sentence, making it efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description adequately explains inputs and outcomes. It covers what the tool checks and what it returns, leaving no obvious gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'threshold' is fully covered by the schema (100%). The description adds context by specifying default 80% and that it triggers warnings, adding value beyond the schema's basic description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool flags providers exceeding a threshold or with token issues and returns a health report. It distinguishes from siblings by focusing on health checking rather than simple quota retrieval or summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for health checking but does not explicitly state when to use this tool versus alternatives like get_provider_quota or get_quota_summary. No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_provider_quotaB
Returns detailed quota information for a single provider. Supported providers: claude, kimi, zai.
| Name | Required | Description | Default |
|---|---|---|---|
| mock | No | If true, return deterministic mock data instead of calling the provider API. | |
| token | No | Optional bearer token override. If omitted, the provider's environment variable is used. | |
| provider | Yes | Provider key to query |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as side effects, authentication requirements, rate limits, or idempotency. It only states the function. The schema descriptions for parameters offer some context, but the tool description itself lacks transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that efficiently communicates the core purpose and supported providers. It is front-loaded and concise, though it could benefit from a bit more detail about the return structure without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should at least hint at the return format or structure, but it does not. The tool is simple with few parameters, and the schema provides good parameter detail. However, the lack of return information and behavioral context makes it only minimally complete for complex usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters have schema descriptions covering 100% of their semantics. The tool description does not add any additional meaning beyond what is in the schema; the supported providers list is redundant. Baseline score of 3 is appropriate due to high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool returns detailed quota information for a single provider and lists supported providers, which clearly indicates the tool's purpose and scope. It distinguishes from sibling tools (get_quota_summary, check_quota_health) by focusing on per-provider detail, but the verb 'returns' is generic and could be more specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for getting detailed quota of a single provider, but it does not explicitly mention when to use this tool versus alternatives like get_quota_summary or check_quota_health. No when-not-to-use guidance or explicit alternative references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quota_summaryA
Returns a unified quota summary across all configured providers (Claude Code Max, Kimi, Z.ai). Providers without a configured token report a config error rather than failing the whole call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that providers without a configured token report a config error instead of failing the whole call, which is useful behavioral context. However, it does not describe the return structure or other edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences. The first sentence immediately states the purpose, and the second adds a key behavioral detail. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of parameters and output schema, the description adequately covers the tool's behavior. The error handling detail is valuable. It could elaborate on the return format, but overall it is sufficient for an agent to understand and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the description naturally cannot add parameter details. Per the rules, baseline 4 applies, and the description adds no unnecessary confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns a unified quota summary across all configured providers, listing examples (Claude Code Max, Kimi, Z.ai). This differentiates it from siblings like get_provider_quota, which targets a single provider.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when an aggregated view across providers is needed, but does not explicitly state when not to use it or compare with alternatives like check_quota_health or get_provider_quota.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v1.0.0- First observed
check_quota_health - First observed
get_provider_quota - First observed
get_quota_summary
TDQS
Each tool serves a distinct purpose: health check, per-provider details, and unified summary. No overlap in functionality.
All tools follow snake_case and a consistent verb_noun pattern (check_quota_health, get_provider_quota, get_quota_summary).
Three tools is appropriate for a quota dashboard, covering health check, per-provider detail, and summary without unnecessary bloat.
Provides essential read operations for quota monitoring. Minor gap: no tool to update thresholds or configure providers, but the domain appears read-only by design.
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 Connectors
Live status, API pricing and rate limits for ChatGPT, Claude, Gemini, Cursor and 42+ AI tools.
Verified AI free-tier limits, quota comparisons, commercial-use verdicts and zero-cost workflows.
Live status and health checks for AI coding providers: Claude, Cursor, Copilot, Codex and more.
Real-time status for 75+ AI services (OpenAI, Anthropic, Cursor). No auth, CORS-enabled.
Related MCP Servers
- FlicenseAqualityDmaintenanceFetches and tracks Claude.ai usage data including session and weekly limits with automated daily logging and persistent session management. It allows users to monitor their usage history directly through Claude Code integrated tools.3-
- 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-
- AlicenseAqualityCmaintenanceReal-time Claude.ai subscription awareness for AI coding assistants. Surfaces live utilization, forecasts limits, gates expensive operations, and measures real per-task cost.566MIT
- AlicenseAqualityBmaintenanceLets AI agents check remaining MiniMax Token Plan quota and automatically pause themselves before hitting rate limits.8MIT
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/ryan-knowone/quota-dashboard-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server