MCP server de usagebar
Commit 15 oct 2026Proporciona una interfaz en la barra de menús de macOS y una herramienta MCP para monitorear las cuotas del plan de Claude Code y el uso del contexto de la sesión.
También conocido como dnlbit/usagebar
- Stars
- 1
- Herramientas
- 2
- Descargas, 30 días
- —
- Última versión
- —
- Último commit
- 15 oct 2026
- Licencia
- MIT
¿Qué es usagebar MCP?
usagebar es un MCP server. Proporciona una interfaz en la barra de menús de macOS y una herramienta MCP para monitorear las cuotas del plan de Claude Code y el uso del contexto de la sesión. Expone 2 herramientas, como plan, context.
Resumen generado a partir del README del proyecto
Acerca del MCP server de usagebar
usagebar permite a los desarrolladores monitorear las cuotas del plan de Claude Code y el contexto de la sesión desde la barra de menús de macOS. Proporciona una interfaz visual para rastrear los porcentajes de la cuota semanal y de la sesión, junto con estados de sesión activos como working, your turn o blocked. Esta herramienta ayuda a los usuarios a gestionar sus recursos mostrando la cuenta regresiva para el reinicio y los detalles de la sesión directamente en la barra de menús de macOS.
Más allá de la interfaz visual, el servidor proporciona una herramienta MCP llamada get_usage que permite a los agentes de IA inspeccionar su propio consumo. Los agentes pueden verificar su cuota actual del plan y el recuento específico de tokens dentro del contexto de su sesión. Esto permite que un agente decida si proceder con un refactor masivo, dividir una tarea o esperar a un reinicio de cuota. El sistema funciona localmente analizando la salida de Claude Code y las transcripciones del proyecto, asegurando que todos los datos permanezcan en tu máquina.
La configuración requiere macOS y Claude CLI en tu PATH. Puedes instalarlo a través de Homebrew o un script de shell. La herramienta MCP funciona incluso sin la aplicación de la barra de menús ejecutándose, mediante la ejecución directa del comando claude -p /usage.
Qué puedes hacer con él
- 1Presupuestar tareas grandes de agentesUn agente de IA puede verificar su cuota restante para decidir si debe iniciar un refactor importante o esperar a un reinicio.
- 2Monitorear los límites de contexto de la sesiónLos desarrolladores pueden instruir a los agentes para que monitoreen su uso de tokens y así evitar alcanzar el límite máximo de la ventana de contexto del modelo.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Herramientas de usagebar MCP 2
Detectado desde el READMEplancontext
| plan | — | |
| context | — |
Verificaciones automáticas
Ejecutado 14 nov 2026Informe completo →Aún no verificado. Un servidor necesita una puntuación de 80, ningún hallazgo grave y suficientes datos para que podamos revisarlo. Cómo funcionan las verificaciones · Qué corregir para obtener más puntos
- Repositorio de origen vinculado y accesiblednlbit/usagebar is public and reachablegithub.com/dnlbit/usagebar ↗Aprobado
- El paquete indica este repositorio como su origenNo verificado
- Procedencia de la compilación (atestación de Sigstore)No verificado
- Licencia de código abierto (OSI)MITspdx.org/licenses/MIT.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit or release 2026-10-15github.com/dnlbit/usagebar ↗Aprobado
- OpenSSF ScorecardNo verificado
- El nombre del paquete no es similar a un paquete popularNo verificado
- No hay avisos críticos en el paquete ni en sus dependenciasNo verificado
- Sin instrucciones ocultas para el modelo2 tool descriptions and the README read; no override phrases, credential paths or hidden charactersAprobado
- Las herramientas destructivas están etiquetadasNo tool named like delete, drop or execAprobado
- El endpoint remoto responde al handshake de MCPNo verificado
README
Ver en 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.
Preguntas sobre usagebar MCP
¿Qué herramientas proporciona usagebar MCP?
Expone 2 herramientas, incluidas plan, context.
¿Cómo puede un agente usar esta herramienta?
Los agentes pueden usar la herramienta get_usage para consultar los porcentajes de cuota del plan, los tiempos de reinicio y su propio uso de la ventana de contexto para decidir si continuar trabajando o esperar a un reinicio.
¿Esta herramienta envía mis datos a la nube?
No, todo permanece en tu máquina local, a excepción de la verificación diaria de actualizaciones en GitHub y las solicitudes que el propio Claude Code realiza.