UsageMax public observability

io.github.SYMBaiEXPublished by GitHub account SYMBaiEXv1.0.0Updated Oct 24, 2026

Read-only MCP for AI usage profiles, leaderboards, stats, and docs; no writes or private data.

VerifiedStreamable HTTPWeb executableKnowledge & MemoryData & Analytics

Overview

AI-generated overview

Read-only remote MCP server for UsageMax that lets an assistant look up opt-in public AI usage profiles, leaderboards, network statistics and cited docs.

What you can do
  • Read one opt-in public profile with its aggregate usage statistics
  • Browse the public leaderboard, up to 100 rows
  • Read aggregate network statistics and render an optional inline observability view
  • Ask a bounded natural-language question about UsageMax and get answers with cited public resources
When to use it
Useful when you want an assistant to pull public AI usage benchmarks, compare opt-in profiles, or answer questions about the UsageMax product from its own documentation. It is not a way to reach private workspace data or to upload usage.
Requirements
Nothing to install: it is a remote streamable HTTP endpoint at usagemax.com. Public reads are bounded and unauthenticated, and no environment variables or headers are declared. Uploading usage data is a separate authenticated collector API outside this server.
Before you install
Read-only and stateless by design; it does not expose private workspace data or collector credentials. Only opt-in public profiles and aggregate figures are returned, so treat those numbers as self-reported. The ask_site tool answers from public resources and may be incomplete.

Installation

In SourceWeft

  1. Open UsageMax public observability in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.SYMBaiEX%2Fusagemax/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "usagemax-public-observability": {
      "type": "http",
      "url": "https://usagemax.com/mcp"
    }
  }
}

README

[UsageMax]

UsageMax

Your AI work, in perspective.
A private-by-default usage ledger for people and teams building with AI.

Live app · Docs · Integrations · Pricing · How we count · Issues

[Checks] [CodeQL] [npm package] [MIT license]

[usage-observability on skills.sh] [enterprise-reporting on skills.sh] [collector-diagnostics on skills.sh]

[UsageMax dashboard]

UsageMax reconciles the AI usage histories already on your computers into one clear view of tokens, model mix, tracked cost, sessions, and activity. The open-source CLI performs bounded local scans and uploads aggregate snapshots to the versioned UsageMax API.

The short version: one-shot collector, private by default, public only by choice. Prompts and completions never leave the computer.

What you get

SurfacePurpose
Private workspaceCompare computers, providers, models, projects, and cost centers in one tenant-scoped view.
Public profileOpt-in profile, leaderboard, activity, model mix, cost estimate, and streaks.
Collector APIInstallation-bound, write-only snapshots and content-free telemetry.
usagemax CLIA bunx-friendly scanner with archive recovery, safe diagnostics, and optional OS scheduling.
Agent interfacesBounded OpenAPI, MCP, Markdown, WebMCP, A2A, and installable skill surfaces.

The physical HUD/screen project is intentionally separate from this repository. It can consume UsageMax telemetry, but it is not required to use the platform.

Connect a computer

1. Create a link code

Sign in at usagemax.com/account, choose Link a computer, give it a name, and copy the one-use command. The code is valid for ten minutes and can be used once.

2. Link and sync

Run the command on the computer or WSL distribution that owns the history:

bash
bunx usagemax link UMX-XXXX-XXXX-XXXX-XXXX
# Optional explicit name; the account keeps this name for the installation.bunx usagemax link UMX-XXXX-XXXX-XXXX-XXXX --name "Work laptop"

The first link performs a full one-shot sync. Every installation receives a stable random ID, so relinking or renaming it rotates its key without creating a duplicate device.

3. Reconcile when you choose

bash
bunx usagemax sync --dry-run --explain  # inspect the bounded planbunx usagemax sync                      # upload changed usagebunx usagemax sync --full               # reconcile all retained historybunx usagemax status --remote            # check the saved credential safely

CLI updates and progress

The CLI checks npm's latest dist-tag at most twice per day. Run usagemax update to update a global installation through Bun or npm; use --check for a read-only check. Run usagemax update sync to hand a command to the current release without typing @latest, or set USAGEMAX_AUTO_UPDATE=1 for an explicit automatic handoff. Use --no-update-check or set USAGEMAX_DISABLE_UPDATE_CHECK=1 in offline environments. Interactive terminals show a small stderr progress line; JSON, quiet, CI, and scheduled runs remain machine-readable and quiet.

Coverage and correctness

UsageMax pins ccusage v20.0.24 and uses its 16 adapters: Amp, Claude Code, Codebuff, Codex, GitHub Copilot CLI, Factory Droid, Gemini CLI, Goose, Grok Build, Hermes, Kilo Code, Kimi CLI, OpenClaw, OpenCode, Pi, and Qwen Code. Named Pi-format stores are discovered as well.

The collector recognizes supported provider overrides, bounded home locations, Claude Desktop sessions, .cc-mirror, renamed Claude/Codex backup folders, and supported Windows homes from WSL. Normal syncs inspect known locations and immediate home entries; they do not crawl the whole disk.

bash
bunx usagemax doctor                 # metadata-only coverage checkbunx usagemax doctor --deep --json   # retained-history auditbunx usagemax sync --archives        # one-time compressed-history recoverybunx usagemax report                 # local ccusage reportbunx usagemax status --json          # version, coverage, checkpoints, and link statebunx usagemax update --json          # machine-readable npm release check

Full scans can catalog retained history from 2024 onward. A readable file inventory is not proof that an aggregate parser consumed every file and day. UsageMax reports those two states separately; counter decreases and missing rows remain protected unless the parser explicitly certifies its coverage. Unknown models stay unattributed; unknown pricing stays unknown.

Cursor, Windsurf, Aider, Continue, Cline, Roo Code, hosted agents, direct provider API traffic, and enterprise billing systems do not all expose a stable local ledger. Feed those through the native or OTLP/HTTP JSON contract, or use a provider billing export when local evidence is unavailable.

Privacy and resource use

Stays on the computerMay be uploaded
Prompts and completionsAggregate token counters
Source code and file contentsProvider, model, and source names
Project paths and tool payloadsDates, costs, and coverage state
Provider credentials and secretsOpaque SHA-256 session identities

The CLI is short-lived. It skips unchanged inventories, parses only the necessary date range, uses a local lock to prevent overlap, and never downloads a package per run. Optional scheduling invokes the same one-shot process and backs off after failures.

bash
bun install -g usagemaxusagemax service install          # approximately every 15 minutesusagemax service install --every 30usagemax service statususagemax service uninstall

Scheduling is opt-in. macOS uses a user LaunchAgent, Linux/WSL uses a user systemd timer, and Windows uses Task Scheduler. Sleeping or battery-powered computers are not needlessly woken.

Credentials and safe diagnostics

UsageMax has separate credentials for website sign-in, one-use linking, and collector writes. A collector key is exactly umx_ followed by 64 lowercase hexadecimal characters. It is generated server-side, displayed once, stored locally with user-only permissions, and stored by UsageMax only as a SHA-256 hash.

For an Advanced · custom telemetry collector key, pipe the secret through stdin. Never put it in a command-line argument, URL, request body, repository, or log:

bash
set +xset -o pipefailprintf '%s' "$USAGEMAX_COLLECTOR_TOKEN" \  | bunx usagemax token status \      --json \  | jq -r '[.httpStatus, (if .ingestAuthorized then 1 else 0 end)] | @tsv'

token status and telemetry test are included in CLI 0.3.11. If a fresh environment still has an older npm tag, run usagemax update token status or use node packages/cli/src/cli.js token status from this repository until the new package is published.

To prove the authenticated write path, send one content-free agent_state event with all token and cost values set to zero:

bash
set +xset -o pipefailprintf '%s' "$USAGEMAX_COLLECTOR_TOKEN" \  | bunx usagemax telemetry test \      --token-stdin \      --json

This writes one observability event and does not change token or spend totals. An unbound advanced key becomes bound to this CLI installation on its first accepted write. The CLI returns a non-zero exit code if the credential cannot ingest or the API rejects the event.

The numeric projection is deliberately small:

ResultMeaning
200 1Recognized, active, and authorized to ingest.
200 0Recognized but blocked; inspect the redacted JSON status.
409 0The installation UUID does not match the key binding.
401 0The format/key was not accepted; the server does not reveal which reason.

The read-only diagnostic reports credential type, scopes, activation state, profile/name, binding state, and last accepted/rejected write. It never returns the token, its hash, or the authorized UUID. Advanced keys are active immediately; they bind on the first valid write. Linked CLI keys are bound during the link exchange.

Agent and developer surfaces

SurfaceURL
OpenAPIopenapi.json
Agent capability view/?mode=agent
Public MCPserver-card.json
Documentation MCP/docs-mcp
A2A cardagent-card.json
Skills indexagent-skills/index.json
MCP Registry metadataserver.json
Skill source and install docsskills/ · skills.sh
Auth guide/auth.md

Public reads are bounded and unauthenticated. The public MCP servers are stateless, read-only, and do not expose private workspace data or collector credentials. Collector ingestion is a separate authenticated API boundary.

Repository map

text
src/             Next.js web app, public routes, docs, and UIconvex/          Convex schema, authorization, ingestion, and projectionspackages/cli/    Distributable `usagemax` packagedocs/            Architecture, contracts, coverage, operations, and releasesskills/          Direct-installable agent skills and source notesserver.json      MCP Registry submission metadata for the public remote server

For the documentation map, start with docs/README.md. It separates public product and integration guidance from contributor, operator, release, and historical records.

MCP Registry and skills.sh status

The public MCP server is published in the official Registry as io.github.SYMBaiEX/[email protected]. The server.json file is the versioned source metadata for that listing; it contains no package or credential claim. The three skills/ cards have valid name and description frontmatter and are indexed on skills.sh:

bash
npx skills add SYMBaiEX/usagemax --skill usage-observabilitynpx skills add SYMBaiEX/usagemax --skill enterprise-reportingnpx skills add SYMBaiEX/usagemax --skill collector-diagnostics

The digest-pinned Agent Skills index is the deployed inventory; the raw GitHub files are the install sources. The directory's automated security audit state is external to this repository and can change independently of these files.

Development

Requirements: Bun 1.4.2 and Node.js 20 or newer. The web app also needs a configured Convex development deployment.

bash
bun installbun run check       # lint, typecheck, tests, and production buildbun run cli:pack    # verify the publishable CLI archive

For local web development, configure an ignored .env.local, then run bunx convex dev and bun run dev. See CONTRIBUTING.md for contribution boundaries and docs/RELEASE.md for release gates.

Open source

UsageMax is released under the MIT License. Third-party dependency notices are in NOTICE.md. Please report suspected vulnerabilities privately through SECURITY.md, not a public issue.

Source: README.md at commit 7e0dc79

Tools

4

public_profile

Read public profile

Read one opt-in public UsageMax profile and aggregate statistics.

Parametershandlerequired

leaderboard

Read public leaderboard

Read the public UsageMax leaderboard (maximum 100 rows).

Parametersmetricperiod

network_stats

Read network statistics

Read aggregate public UsageMax network statistics and render the optional inline observability view.

Takes no parameters.

ask_site

Ask UsageMax documentation

Ask a bounded natural-language question about UsageMax and receive cited public resources.

Parametersqueryrequired

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts