Serveur MCP usagebar
Commit 15 oct. 2026Fournit une interface dans la barre de menus macOS et un outil MCP pour surveiller les quotas du forfait Claude Code et l'utilisation du contexte de session.
Aussi connu sous dnlbit/usagebar
- Étoiles
- 1
- Outils
- 2
- Téléchargements, 30 jours
- —
- Dernière version
- —
- Dernier commit
- 15 oct. 2026
- Licence
- MIT
Qu'est-ce que usagebar MCP ?
usagebar est un serveur MCP. Fournit une interface dans la barre de menus macOS et un outil MCP pour surveiller les quotas du forfait Claude Code et l'utilisation du contexte de session. Il expose 2 outils, comme plan, context.
Résumé généré à partir du README du projet
À propos du MCP server usagebar
usagebar permet aux développeurs de surveiller les quotas du forfait Claude Code et le contexte de session depuis une barre de menus macOS. Il offre une interface visuelle pour suivre les pourcentages de quota hebdomadaires et de session, ainsi que les états de session actifs tels que working, your turn ou blocked. Cet outil aide les utilisateurs à gérer leurs ressources en affichant les comptes à rebours de réinitialisation et les détails de la session directement dans la barre de menus macOS.
Au-delà de l'interface visuelle, le serveur propose un outil MCP nommé get_usage qui permet aux agents IA d'inspecter leur propre consommation. Les agents peuvent vérifier leur quota de forfait actuel et le nombre spécifique de tokens au sein du contexte de leur session. Cela permet à un agent de décider s'il doit procéder à un refactoring important, diviser une tâche ou attendre une réinitialisation de quota. Le système fonctionne localement en analysant les sorties de Claude Code et les transcriptions de projet, garantissant que toutes les données restent sur votre machine.
L'installation nécessite macOS et la présence de la CLI Claude dans votre PATH. Vous pouvez l'installer via Homebrew ou un script shell. L'outil MCP fonctionne même sans l'application de barre de menus en exécutant directement la commande claude -p /usage.
Ce que vous pouvez faire avec
- 1Planification de tâches d'agent volumineusesUn agent IA peut vérifier son quota restant pour décider s'il doit lancer un refactoring majeur ou attendre une réinitialisation.
- 2Surveillance des limites de contexte de sessionLes développeurs peuvent demander aux agents de surveiller leur utilisation de tokens pour éviter d'atteindre la fenêtre de contexte maximale du modèle.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Outils MCP usagebar 2
Détectés depuis le READMEplancontext
| plan | — | |
| context | — |
Vérifications automatisées
Exécuté le 14 nov. 2026Rapport complet →Pas encore vérifié. Un serveur nécessite un score de 80, aucune faille sérieuse et suffisamment de données pour que nous puissions effectuer les vérifications. Fonctionnement des vérifications · Ce qu'il faut corriger pour gagner des points
- Dépôt source lié et accessiblednlbit/usagebar is public and reachablegithub.com/dnlbit/usagebar ↗Réussi
- Le nom du package correspond au dépôt sourceNon vérifié
- Provenance du build (attestation Sigstore)Non vérifié
- Licence open source (OSI)MITspdx.org/licenses/MIT.html ↗Réussi
- Commit ou version publiée au cours de l'année écouléeLast commit or release 2026-10-15github.com/dnlbit/usagebar ↗Réussi
- OpenSSF ScorecardNon vérifié
- Nom du package non proche d'un package populaireNon vérifié
- Aucun avis critique dans le package ou ses dépendancesNon vérifié
- Aucune instruction cachée destinée au modèle2 tool descriptions and the README read; no override phrases, credential paths or hidden charactersRéussi
- Les outils destructifs sont étiquetésNo tool named like delete, drop or execRéussi
- Le point de terminaison distant répond à la poignée de main MCPNon vérifié
README
Voir sur GitHubusagebar
Your Claude Code plan quota in the macOS menu bar, plus an MCP tool so agents can check the quota and their own context size before starting big work. An agent can decide to wait for a reset, split work, or stop before it hits the limit.
Not affiliated with Anthropic. It reads what claude -p /usage prints and the
transcripts Claude Code keeps in ~/.claude/projects/. Neither format is documented,
so a Claude Code release can break parsing until usagebar is updated.
Install
Homebrew
brew install dnlbit/tap/usagebar
brew services start usagebar
claude mcp add usagebar -s user -- "$(brew --prefix)/opt/usagebar/bin/usagebar-mcp"
brew services start starts the menu bar app now and at login. Update with
brew upgrade usagebar: the in-app updater is off for Homebrew installs. Needs
claude on your PATH (~/.local/bin, /opt/homebrew/bin or /usr/local/bin).
Uninstall:
brew services stop usagebar
brew uninstall usagebar
claude mcp remove usagebar -s user
Install script
curl -fsSL https://usagebar.dnlbit.com/install.sh | sh
Installs into ~/.local/share/usagebar (Python venv with rumps), starts at login,
and prints the claude mcp add command for the MCP tool. Needs macOS, python3 3.10+
and claude on your PATH.
Updates: the app checks GitHub Releases once a day and shows "Update to vX.Y.Z" in its menu. Click it to install and restart. Nothing updates without that click. Rerunning the install command also updates.
Uninstall:
launchctl bootout gui/$(id -u)/com.dnlbit.usagebar
rm -rf ~/.local/share/usagebar ~/Library/LaunchAgents/com.dnlbit.usagebar.plist \
~/.config/usagebar.json ~/.cache/usagebar
claude mcp remove usagebar -s user
Menu bar
The bar shows the current session quota (▰▰▱▱▱ 48%), then the open Claude Code
sessions counted per state: working, your turn, blocked (▰▰▱▱▱ 48% ●1 ○2 ⚠1).
States with no sessions are not shown (▰▰▱▱▱ 48% ●1 ○2). Hover for the reset time, click
for each quota with "in 1h 52m" after its reset time.
Plans without quota lines in /usage (enterprise) show the session counts only (●1 ○2 ⚠1).
With nothing to count (no quotas and no counted sessions) the bar shows ◉.
Sessions
The menu lists each open Claude Code session, newest change first:
<state> <name> <context>% context <status>.
●working: Claude is working or running a tool.○your turn: the turn is finished and the session waits for your next message. "your turn (background shell)": a background shell command still runs, but you can type.⚠blocked: the session needs you, for example a permission prompt (the row shows why).·a status this version does not know; the raw value shows. It is not counted in the bar.
Click a session to bring its terminal to the front. In Terminal.app and iTerm2 its tab is selected (macOS asks once for Automation permission). In other apps (Ghostty, VS Code, Cursor, Warp…) the app only comes to the front.
Session data comes from ~/.claude/sessions/*.json and the transcripts in
~/.claude/projects. Claude Code does not document these files, so a Claude Code
update can change or break this part.
Settings… holds:
- Idle interval (default 20 min): poll rate while usage is flat.
- Active interval (default 5 min): used after a poll sees the percentages change, until a poll sees no change.
- Auto start at login: writes
~/Library/LaunchAgents/com.dnlbit.usagebar.plist(unchecking removes it). Takes effect at next login. Homebrew installs have no checkbox: usebrew services start usagebarto start at login. - Notify: blocked (permission prompt) (default on): a notification when a session becomes blocked, for example on a permission prompt.
- Notify: your turn (finished) (default on): a notification when a session finishes a turn that ran for 2 seconds or more and waits for your reply.
Settings are saved to ~/.config/usagebar.json. Log: /tmp/usagebar.log.
MCP tool
mcp_server.py (standard library only) gives agents one tool, get_usage, returning:
plan: quota percentages and reset times, shared with the menu bar app through~/.cache/usagebar/last.json. If that is older thanmax_age_minutes(default 2; 0 forces it), the tool runsclaude -p /usageitself (about 2s), so it works without the app.fetched_atsays how fresh it is.context: tokens in the calling Claude Code session's context, the model's max window (hard-coded table inmonitor.py) and percent used.
Either part comes back as {"error": ...} on its own if it fails. Example (text,
the raw /usage output, shortened):
{
"plan": {
"fetched_at": "2026-10-13T22:53:05-07:00",
"error": null,
"quotas": {
"Current session": {"percent_used": 41, "resets_at": "2026-10-13T23:59:00-07:00"},
"Current week (all models)": {"percent_used": 16, "resets_at": "2026-10-20T15:59:00-07:00"},
"Current week (Fable)": {"percent_used": 0, "resets_at": "2026-10-20T16:00:00-07:00"}
},
"text": "You are currently using your subscription to power your Claude Code usage\n\nCurrent session: 41% used …"
},
"context": {
"session_id": "a659f724-dd01-40c3-bcbe-6a3d33bd43a6",
"model": "claude-opus-5-5",
"context_tokens": 135210,
"window_tokens": 1000000,
"percent_used": 13.5
}
}
Let your agents budget themselves
Paste this into your project or user CLAUDE.md (after the MCP setup above):
## Usage budget
- Before long or parallel work, and about every hour during it, call the
`mcp__usagebar__get_usage` tool.
- If the session quota is above 80%, finish the current step, then stop or wait
for the reset time it reports.
- If context is above 50%, compact or hand off to a fresh session.
Privacy
Everything stays on your machine. The only network requests are the ones claude
makes itself and the daily update check to api.github.com.
Development
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
./run.sh
python3 monitor.py --test && python3 mcp_server.py --test
A git checkout never offers updates. Release: bump __version__ in monitor.py,
commit, then gh release create vX.Y.Z --generate-notes. Tags are never moved or re-pointed; fix a bad release with a new version.
Questions sur usagebar MCP
Quels outils usagebar MCP fournit-il ?
Il expose 2 outils, dont plan, context.
Comment un agent peut-il utiliser cet outil ?
Les agents peuvent utiliser l'outil get_usage pour vérifier les pourcentages de quota du forfait, les heures de réinitialisation et leur propre utilisation de la fenêtre de contexte afin de décider s'ils doivent poursuivre le travail ou attendre une réinitialisation.
Cet outil envoie-t-il mes données dans le cloud ?
Non, tout reste sur votre machine locale, à l'exception de la vérification quotidienne des mises à jour sur GitHub et des requêtes que Claude Code effectue lui-même.