Claude Usage MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add claude-usage -- uv run --directory /path/to/claude-usage-mcp python server.py
README.md

Fetches and tracks Claude.ai usage data with automated daily logging.

Claude Usage MCP Server

An MCP (Model Context Protocol) server that fetches your Claude usage data from the claude.ai dashboard, with automated daily tracking.

Features

  • Authenticate with Claude via browser login
  • Fetch session and weekly usage limits from the settings page
  • Persistent session with Cloudflare bypass
  • Automated daily usage tracking via launchd
  • Deduplication - one record per day, always up to date
  • Integrates directly with Claude Code

Installation

# Clone the repo
git clone https://github.com/mvacaporale/claude-usage-mcp.git
cd claude-usage-mcp

# Install dependencies
uv sync

# Install Playwright browsers
uv run playwright install chromium

Configuration

Add to your Claude Code MCP settings (~/.claude/settings.json):

{
  "mcpServers": {
    "claude-usage": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/claude-usage-mcp", "python", "server.py"]
    }
  }
}

Usage

First Time Setup

  1. In Claude Code, run the claude_login tool
  2. A browser window will open - complete Cloudflare verification and log in to Claude
  3. After login, the session is saved automatically

Fetching Usage

There are multiple ways to fetch your usage:

1. Via MCP Tool (in Claude Code)

Simply ask Claude to check your usage, or use the get_claude_usage tool directly.

2. Via launchctl (manual trigger)
launchctl start com.claude.usage-fetcher
3. Via script directly
cd /path/to/claude-usage-mcp
.venv/bin/python fetch_usage.py

Automated Daily Tracking

A launchd job automatically fetches usage:

  • Daily at 11:00 PM
  • On login/wake (catches up if Mac was asleep)

Multiple runs in a day update the same record - you'll always have exactly one entry per day.

Setup Automation
# Copy the plist to LaunchAgents (if not already there)
cp com.claude.usage-fetcher.plist ~/Library/LaunchAgents/

# Load the job
launchctl load ~/Library/LaunchAgents/com.claude.usage-fetcher.plist
Manage Automation
# Check if job is loaded
launchctl list | grep claude

# Trigger manually
launchctl start com.claude.usage-fetcher

# Disable
launchctl unload ~/Library/LaunchAgents/com.claude.usage-fetcher.plist

# Re-enable
launchctl load ~/Library/LaunchAgents/com.claude.usage-fetcher.plist

# View logs
tail -f usage-fetcher.log

Tools

Tool Description
get_claude_usage Fetch usage data from the Claude dashboard
claude_login Open browser window for authentication
check_claude_auth Check if current session is authenticated

Data Format

Usage history is stored in usage-history.json:

[
  {
    "success": true,
    "timestamp": "2026-01-25T23:00:00.000000",
    "session_percent": 19,
    "session_resets_in": "2 hr 15 min",
    "weekly_all_models_percent": 10,
    "weekly_resets": "Thu 10:00 AM",
    "weekly_sonnet_percent": 0
  }
]

How It Works

  1. Uses Playwright with a persistent Chrome profile
  2. Bypasses Cloudflare by running in headed mode (positioned offscreen)
  3. Stores browser data in browser-data/ directory
  4. Scrapes the usage page and returns structured data

Security

  • Browser data stored locally (never committed to git)
  • No credentials stored - uses browser session cookies
  • Login happens in your own browser window
  • All sensitive files are gitignored

Troubleshooting

Cloudflare blocking: Run claude_login to re-authenticate manually.

Browser data locked: If you see lock errors, restart Claude Code (/mcp to reconnect).

Stale session: Delete browser-data/ and browser-data-scheduled/ directories, then run claude_login again.

Tools (3)

get_claude_usageFetch usage data from the Claude dashboard
claude_loginOpen browser window for authentication
check_claude_authCheck if current session is authenticated

Configuration

claude_desktop_config.json
{"mcpServers": {"claude-usage": {"command": "uv", "args": ["run", "--directory", "/path/to/claude-usage-mcp", "python", "server.py"]}}}

Try it

Check my current Claude usage limits.
Am I still authenticated with Claude?
Log in to my Claude account to refresh my session.
What is my current weekly usage percentage for Sonnet?

Frequently Asked Questions

What are the key features of Claude Usage?

Fetches session and weekly usage limits from Claude.ai. Automated daily usage tracking via launchd. Persistent session management with Cloudflare bypass. Deduplication of usage records to ensure one entry per day. Direct integration with Claude Code.

What can I use Claude Usage for?

Monitoring Claude usage limits to avoid hitting caps unexpectedly. Automating daily usage history logs for personal analytics. Managing persistent Claude sessions without frequent re-authentication. Tracking weekly model-specific usage percentages.

How do I install Claude Usage?

Install Claude Usage by running: git clone https://github.com/mvacaporale/claude-usage-mcp.git && cd claude-usage-mcp && uv sync && uv run playwright install chromium

What MCP clients work with Claude Usage?

Claude Usage works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Claude Usage docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare