mcpField
B
burnmeter

burnmeter

ローカル
github.com/CloudCorpRecordsデータ・分析01 週間前に更新

burnmeter について

burnmeter はローカルの Claude Code セッションログからトークン使用量を分析し、カテゴリ別の割合とモデル別の合計を表示します。ネットワークや API キーを使わず、CLI または stdio MCP サーバーとして動作します。

主な機能

  1. 01JSONL セッションログの再帰スキャン
  2. 02入力・出力・キャッシュトークンの集計
  3. 03トークンカテゴリ別割合の計算
  4. 04モデル別の合計表示
  5. 05不正なログ行のスキップ
  6. 06CLI と stdio MCP サーバー

活用シーン

  1. 01ローカルセッションのトークン効率の確認
  2. 02モデルごとのトークン合計の調査
  3. 03指定ディレクトリ内のログ分析

MCP 対応

stdio MCP サーバーは、カテゴリ別割合を返す `run_efficiency` と、モデル別合計を返す `spend_breakdown` を提供します。どちらもローカルのセッションログを読み取り、引数は不要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-burnmeter": {
"command": "npx",
"args": [
"-y",
"@reneturcios/burnmeter"
]
}
}
}
起動コマンドnpx -y @reneturcios/burnmeter

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/burnmeter0.1.0
ocighcr.io/cloudcorprecords/burnmeter:0.1.0

ツール

2

掲載時のツール一覧 · 1 週間前に更新

このツールにパラメーターはありません。

詳細

burnmeter

burnmeter は、すでにお使いのマシンにあるセッションログから Claude Code のトークン使用量を分析します。JSONL セッションファイルを読み込み、すべての使用量レコードのトークン数を合計して、2 種類のレポートを出力します。合計を出力、入力、キャッシュ作成、キャッシュ読み取りに分けた内訳(効率レポート)と、モデルごとの内訳を含む全合計(内訳レポート)です。1 つのバイナリで、コマンドラインインターフェースと stdio MCP サーバーの両方を提供します。

すべての処理はローカルで行われます。ネットワークアクセスも API キーもアカウントも必要ありません。ログディレクトリは、設定されている場合は CONTEXTBURN_LOG_DIR から取得し、設定されていない場合は ~/.claude/projects が使われます。その配下にあるすべての *.jsonl ファイルを再帰的に読み込みます。

インストール

npx @reneturcios/burnmeter breakdown

または、コンテナイメージを実行します。

docker run -i ghcr.io/cloudcorprecords/burnmeter

コンテナはデフォルトで MCP サーバーとして起動します(下記参照)。CLI として使うには、CLI 引数を渡してください。コンテナはコンテナ内のログを読み込むため、実際のログに使用する場合はログディレクトリをマウントし、CONTEXTBURN_LOG_DIR をマウント先に設定してください。

CLI

burnmeter efficiency
burnmeter breakdown
burnmeter breakdown --log-dir ~/somewhere/else

burnmeter --version

どちらのレポートも JSON を出力します。--log-dir は CONTEXTBURN_LOG_DIR より優先され、CONTEXTBURN_LOG_DIR は ~/.claude/projects のデフォルト値より優先されます。終了コードは、成功時が 0、レポートの生成に失敗した場合が 1、使い方に誤りがある場合が 2 です。

内訳レポートには、logDir、filesScanned、entriesWithUsage、malformedLines、totals(4 種類のトークン数と total_tokens)、および byModel(モデルごとの同じトークン数とエントリー数。合計トークン数の降順)が含まれます。効率レポートには、同じスキャン情報と合計に加えて、shares が含まれます。各カテゴリの合計トークン数に対する割合が、小数点以下 2 桁に丸められて表示されます。

エントリーのカウント方法:有効な JSON ではない(または JSON オブジェクトではない)ログ行はスキップされ、malformedLines にカウントされます。使用量オブジェクトがトップレベル、または message の下に含まれるエントリーがカウント対象です。input_tokens、output_tokens、cache_creation_input_tokens、cache_read_input_tokens の 4 種類を合計します。フィールドが存在しない場合や数値でない場合は、0 としてカウントされます。モデルは message.model を使用し、なければトップレベルの model、それもなければ unknown を使用します。使用量オブジェクトがないエントリーは無視されます。

ディレクトリが見つからない場合や、使用量エントリーが見つからない場合も、レポートはエラーになりません。また、数値を推測して補うこともありません。合計と割合はゼロになり、使用量エントリーが見つからなかったことと、検索した場所を示す note フィールドがレポートに含まれます。

MCP サーバー

1 つのバイナリで両方の機能を提供します。mcp サブコマンドを実行すると、stdio MCP サーバーが起動します。

npx -y @reneturcios/burnmeter mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "burnmeter": {
      "command": "npx",
      "args": ["-y", "@reneturcios/burnmeter", "mcp"]
    }
  }
}

デフォルト以外のディレクトリからログを読み込むには、このサーバーのクライアント設定の env に CONTEXTBURN_LOG_DIR を追加してください。

ツール

元のツールの公開仕様に記載されているとおり、どちらのツールもパラメーターを取りません。

ツール入力返される内容
run_efficiency(なし)効率レポート:合計と、各カテゴリの合計トークン数に対する割合です。
spend_breakdown(なし)詳細な内訳レポート:合計と、モデルごとの内訳です。

開発

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (temporary fixture logs only)
npm run dev     # run the CLI from source via tsx

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。