mcpField
A
agentburn

agentburn

ローカル
github.comデータ・分析1132 日前に更新

agentburn について

agentburn は、対応するコーディングエージェントが記録した使用量とコストを調べる、ローカルで読み取り専用の分析サーバー兼 CLI です。高負荷の使用時間帯、トークンや金額のコスト、調整可能な設定項目を把握でき、MCP サーバー経由でレポートも提供します。

主な機能

  1. 01エージェントログのローカル読み取り専用分析
  2. 02ピークと通常の使用ウィンドウを比較
  3. 03モデル、発生元、プロジェクト別の内訳
  4. 04コンテキスト、コミット、夜間コストの分析
  5. 05ドライラン形式の設定パッチ生成
  6. 06MCP サーバー経由のレポート提供

活用シーン

  1. 01上限に達した使用ウィンドウの特定
  2. 02使用上限までの残り時間の推定
  3. 03夜間のエージェント支出やリトライループの調査
  4. 04リポジトリのコミットごとの使用コスト確認

MCP 対応

agentburn は MCP サーバーを通じて MCP クライアントに分析結果を提供し、エージェントが自身の使用コストを報告できるようにします。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"socialpranker-agentburn": {
"command": "uvx",
"args": [
"agentburn"
]
}
}
}
起動コマンドuvx agentburn

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

パッケージ
pypiagentburn0.14.0

ツール

6

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

パラメーター型必須説明
daysintegerいいえ対象期間(日数、デフォルトは 30、0 = 全期間)
agentstringいいえhermes | openclaw | claude-code(デフォルト:最初に検出されたもの)
sourcestringいいえtelegram / cron / heartbeat / subagent など、単一のソースを詳しく調べます

詳細

agentburn — AI エージェントが眠っている間にどこでお金を使っているのか?

PyPI Python 依存関係ゼロ テスト MIT



uvx agentburn — アニメーションデモ:判定、ピーク使用時間帯、消費の理由、変更すべき点

Claude Code · Codex CLI · Gemini CLI · opencode · OpenClaw · Hermes Agent — 正規化された単一のコア、ローカル、読み取り専用、依存関係ゼロ

uvx agentburn

▶  ブラウザーで試す — インストール不要


平均的な日に使い切ったわけではありません

使い切ったのは、ある時間帯です。このマシンでは、その時間帯の使用量は中央値の5.4倍でした。同じ人、同じ週、同じサブスクリプションです。

アシスタント自身のログには、どの時間帯だったのか、何が使用量を占めたのかがすでに記録されています。マシン上のほかのものには、それが分かりません。内蔵カウンターが示すのは合計で、請求書が示すのも合計です。どちらにも、どの5時間で使い切ったのかは書かれていません。

⏳ agentburn limits — claude-code · rolling 5-hour windows

   PEAK WINDOW        Aug 04 12:45–17:45 · 555M weighted
                      opus 91% · sonnet 9%   ·   cli 93% · subagent 7%
   TYPICAL WINDOW     104M    median of 83 active 5h slots
   PEAK / TYPICAL     5.4×    a wall is hit by the peak, not by the median

   WHAT FILLS THE WINDOW
   cache reads     64%   ·   cache writes 25%   ·   output 11%

コマンドを1つ実行するだけです。アカウントは不要で、データがコンピューターの外に出ることもありません。

uvx agentburn            # where it burns, and what to change
uvx agentburn limits     # how fast you fill a usage window, and how long until the wall
uvx agentburn context    # what long contexts cost — and what a /clear at 150k would have saved

エージェントにかかるコストは2種類、知りたいことも2つ

支払い方法…実際に使い切るもの確認するコマンド
サブスクリプション(Claude Code Pro/Max)ローリング方式の使用量ウィンドウ — 請求額は固定ですが、上限は固定ではありませんagentburn limits
トークンごとの従量課金(APIキー、OpenClaw、Hermes)お金。主に眠っている間に使われますagentburn

どちらも同じローカルログを読み取ります。どちらも、データにない数値を作り出すことはありません。

agentburn limits — ピーク時のウィンドウ、通常のウィンドウ、その使用量を占める要因 ### `agentburn limits` — サブスクリプションの状況

サブスクリプションを最適化しても、請求額は変わりません。利用停止になるまでにどれだけ使えるかが変わります。これはウィンドウの問題であり、ウィンドウを把握するにはセッション内の解像度が必要です。1つのセッションが複数のウィンドウにまたがることはよくあります。

  • ピークと典型値。 最も負荷の高いローリング5時間ウィンドウと、自分のアクティブなウィンドウの中央値を比較します。重要なのはその比率です。ピークに達すると壁にぶつかります。

  • 何がウィンドウを埋めたか — モデル別、ソース別(あなた/サブエージェント/スケジュールされた作業)、種類別(キャッシュ読み取り/キャッシュ書き込み/出力)。

  • 自分の上限との比較 — 自動で測定。 Anthropic はこれらの上限の計算式を公開していないため、agentburn はしきい値を勝手に作りません。ただし、Claude Code は制限に達したことをトランスクリプトに記録します("セッションの上限に達しました · 午後8:30にリセット")。そのような時点は、いずれも測定された上限です。複数ある場合、上限にはその中央値を使います。

    YOUR MEASURED CEILING
    median of 35 cut-offs Claude Code recorded itself
    ceiling                146M   weighted tokens
    peak window            137%   of your ceiling
    last 5h                 16%   of your ceiling
    TIME TO WALL          2.7 h   at the pace of the last 30 min
    

    まだログに制限到達の記録がありませんか? --hit "2026-08-20 14:30" で手動で指定できます。測定された上限は ~/.agentburn/ceiling.json に保存されるため、下のステータスラインにも反映されます。

  • Codex:プロバイダー独自の測定値。 Codex CLI は各リクエストの横に rate_limits.used_percent を記録します。agentburn は各測定値を同じウィンドウの加重使用量と組み合わせ、その中央値を求めます。これは制限到達の記録ではなく、プロバイダーの計算に基づく上限です。あくまで推定値として扱ってください。この割合にはアカウント上のすべてのデバイスとアプリが含まれますが、ローカルのロールアウトはその一部にすぎません。また、Codex がウィンドウの報告を停止した場合(プランまたはクライアントの変更)、その後のピークは超過としてではなく、以前のウィンドウで測定されたものとして示されます。

  • 上限までの時間。 上限から現在のウィンドウの使用量を引き、直近30分のペースで割った値です。作業中に知りたいのはこの数値です。

  • 週単位の状況も。 最も負荷の高いローリング7日間の期間、そのうち今週すでに使った量、Claude Code が週次の制限到達を記録している場合は週次の上限を表示します。

  • プロジェクト別。 セッションには作業ディレクトリが記録されるため、ピークウィンドウをディレクトリ別に分けられます。

agentburn statusline — Claude Code 内で上限をリアルタイム表示

Claude Code の statusLine 向けに作られた、色なしの1行表示です。

⏳ 5h 63% · wall in 47 min · week 71%
{ "statusLine": { "type": "command", "command": "uvx agentburn statusline" } }

ログの直近3日分だけを読み取ります(上限は状態ファイルから取得するため)。そのため、毎ターン実行しても十分に軽量です。

agentburn context — 長いコンテキストのコスト

呼び出しのたびにコンテキスト全体が再読み込みされます。サブスクリプションでは、この再読み込みがそのままウィンドウの使用量になります。つまり、コンテキスト300kでの1ターンは、100kでの3ターン分のコストになります。Claude Code は各呼び出しの正確なコンテキストサイズを記録するため、これはモデルによる推定ではなく測定値です。

📏 agentburn context — claude-code · what a long context costs

   CALLS                        156,226   median context 143K · p90 316K · max 704K

   WHERE THE WINDOW GOES, BY CONTEXT SIZE
   100–200k     ██████············   35%    59,780 calls
   200–400k     ████████··········   43%    42,420 calls
   >400k        ██················   11%     7,257 calls

   IF YOU HAD RESTARTED AT…
   /clear at 100K     →   41% of the window not spent   (108,573 calls were past it)
   /clear at 150K     →   26% of the window not spent   (73,600 calls were past it)

   WHAT A SKILL COSTS
   handoff                                 7.96K per load ×  226 =     1.8M
   claude-api                              33.6K per load ×   14 =     470K
  • /clear の計算 — しきい値を超える各呼び出しのコンテキスト部分に、キャッシュ読み取りの料金を適用します。同じ作業をより短いセッションで行うと仮定した場合、再起動の習慣によって実際にどれだけ節約できるかを示します。
  • 測定されたスキルのコスト — 単独の Skill 呼び出し直後に増えたコンテキスト量を、最近の読み込みから中央値として算出します。バンドルされたスキルはディスクにアクセスしませんが、トランスクリプトにはすべて記録されます。
  • effort レベル別 — 各 effort 設定がウィンドウの使用量のうちどれだけを占めたかを示します。
  • 対策がある調査結果は agentburn fix に表示されます。対象は再起動のしきい値と、負荷の高いスキルです。
agentburn commits — コミットにかかったコスト

セッションには作業ディレクトリとブランチが記録され、各コミットの日時はリポジトリに記録されます。連続する2つのコミット間の使用量が、2つ目のコミットにかかったコストです。読み取り専用の git log を使い、書き込みは行いません。

   COSTLIEST COMMITS
       124M   33_Thoforge        1f7a31a1  Aug 30  fix(ui): правки UX-аудита — раскладка, навигация
      81.2M   33_Thoforge        ad19bff7  Aug 28  feat(ui): цель над деревом и развилка в карточке

   BY REPOSITORY
   33_Thoforge                 1.95M median ·  287 commits ·    1.52B total

加重トークン数 = トークン数 × 公開済みの価格比率(キャッシュ読み取りは0.1倍、キャッシュ書き込みは1.25倍、出力はモデルごとに異なります)。これを基準モデルの入力トークン1個分に換算します。すべての比率は公開されており、プロバイダーがどのように計算しているかを推測したものはありません。

agentburn — コストを可視化
  • どこでコストが発生するか — ソース別:cron / subagent / gateway:telegram|discord|whatsapp / cli。常時稼働 ≠ 無料です。
  • 🌙 睡眠中のコスト — 夜間の請求額を切り分けて表示します(--night 23-7)。
  • 固定オーバーヘッド — API 呼び出しごと、ソースごとの未キャッシュ入力トークン数を、公開ベンチマークを基準に調整して表示します。
  • サブエージェントの集計 — 委任にかかったコストを、起動元のセッションに紐付けます。
  • agentburn why — 動作のフォレンジック分析:再読み込みループ、リトライの集中、アイドル状態のハートビート、cron ごとの明細、コンテキストの頻繁な切り替え。
  • agentburn fix — そのまま貼り付けられる設定パッチを生成します。設計上、ドライランで動作します。

agentburn fix — 検出結果を助言ではなく設定に反映

「より安価なモデルを検討してください」ではなく、対象のファイルと行を正確に示します。パッチ生成機能があるのは、エージェント自身のソースコードまたは文書化された設定で確認済みの調整項目のみです。

🔧 agentburn fix — claude-code · DRY-RUN (nothing was changed)

   1. Drop 2 MCP server(s) you never called
      why    : registered but not called once in the last 30d: blender-mcp, pixellab.
               Every registered server ships its tool definitions with the context
               of every session that loads it.
      proposed:
        claude mcp remove blender-mcp

   2. Trim the always-loaded memory files (2,254 tokens)
      why    : loaded into every session's context and re-sent whenever the prompt
               cache expires or the context is compacted — at least 3,565× this window.
エージェント確認済みの調整項目
Claude Code登録済み MCP サーバー(~/.claude.json、.mcp.json)、常時読み込まれる CLAUDE.md メモリファイル、セッション再起動のしきい値(実測値)、負荷の高いスキル(読み込みごとに実測)
Hermesジョブごとの model / enabled_toolsets(cron/jobs.py)、プラットフォームごとのツールセット(gateway/run.py)
OpenClawheartbeat.{every, activeHours, model, lightContext}(config/types.agent-defaults.ts)

意図的に --apply は用意していません。エージェントの設定はあなたのものです。自分で貼り付けてから、--save-baseline → --compare で節約額を確認してください。

数値の信頼性

トークン追跡ツールは、気づかれないまま互いに数値が食い違います(公開されているイシュースレッドでは 2~91 倍)。agentburn はその逆を行います。

  • 数値はエージェント自身の会計データを読み取り専用で取得します。スクレイピング、プロキシ、推測はありません。
  • 返信は 1 回だけ計上します。 Claude Code はコンテンツブロックごとに 1 行のトランスクリプトを書き込み、各行に同じ usage を含めます。行を合計すると、呼び出し数とトークン数が約 1.8 倍に膨らみます。agentburn は requestId で重複を排除します(この問題は 0.14.0 で発見・修正されました。このツールがそれ以前に出していた絶対合計値は、その倍率分だけ過大でしたが、比率は過大ではありません)。
  • プロバイダーが請求したコストはそのまま表示し、推定値には ~ を付け、混在データには混在と明記します。
  • 価格が存在しない場合、価格を捏造しません。 Claude Code はコストを記録せず、サブスクリプションの利用状況にはトークンごとの正直な価格がないため、このアダプターはトークン数と利用枠を報告し、金額は表示しません。
  • メッセージはあるのに記録済みトークン数が 0のセッション(既知の会計上の欠落。例:hermes-agent #12023)を検出します。合計は明示的な下限値として扱い、会計情報の修正が推奨事項の第 1 位になります。
  • 重みを記録しないエージェントの結果の重みは推定値と明記し、検出結果同士の順位付けにのみ使用します。

速度

トランスクリプトは追記のみなので、一度だけ解析します。各ファイルの解析結果は、サイズと mtime をキーに ~/.agentburn/cache にキャッシュされ、変更されていないファイルはすべて次回以降の実行で再利用されます。

30 日分の Claude Code ログ(3.1 GB)
初回実行(すべて解析してキャッシュに書き込み)約 190 秒
それ以降の実行約 3 秒
キャッシュサイズ29 MB(ログの 0.9%)

サイズが大きくなったファイルは再解析して再キャッシュします。それ以外のファイルには触れません。--no-cache(または AGENTBURN_NO_CACHE=1)を指定すると全件を再解析し、--clear-cache はキャッシュを削除します。キャッシュは派生データです。削除しても余分に時間がかかるだけで、ほかには何も起きません。

プライバシー

すべてローカルで動作し、ログを読み取り専用で参照します。ネットワークへの呼び出し、テレメトリー、アカウントはありません。レポートはあなたのものです。ネットワークに接続するコマンドは、そのことを明示します。drift は公開トレンドファイルを GET し、--submit はあなたが確認して送信する、内容を事前入力したイシューを開きます。

~/.agentburn/cache(モード 0700)の解析キャッシュには、レポートに表示されるものと同じツール名と、切り詰められた引数キーが含まれます。これはこのマシン上にすでにあるログから生成され、メッセージ本文は含みません。--clear-cache で削除できます。

なぜこのプロジェクトがあるのか

常時稼働するエージェントは、昼夜を問わず料金が発生します。しかも、組み込みのカウンターで分かるのは合計だけです。

「すべての API 呼び出しの 73% は固定オーバーヘッドです。ツール定義とシステムプロンプトの約 13.9K トークンが、呼び出しのたびに再送されます。」 — hermes-agent #4379

「ある参加者は、夜間の実行後に目を覚ますと、47 ドルの予想外の請求が届いていたと書いていました。これは珍しい失敗ではなく、監視されていないループのデフォルトの動作です。」 — dev.to

比較

agentburnccusagecodeburn組み込みの /usage
使用状況のウィンドウ(ピークと通常時、何が使用量を占めたか)✅——現在のウィンドウのみ
自分で記録した上限から測る上限値 · 制限までの時間 · ステータスライン✅——現在のウィンドウの割合
長いコンテキストの料金 · /clear で節約できた金額 · 読み込みごとのスキル料金✅———
Git コミットごとのコスト✅———
ソース別の消費量(cron · heartbeat · ゲートウェイ · サブエージェント)✅——割合のみ、7 日間
🌙 夜間の請求額を個別に表示✅———
動作のフォレンジック分析(why:ループ、リトライの集中、失敗した実行のコスト)✅———
すぐに使える設定パッチ(fix、検証済みの調整項目)✅———
MCP サーバー(エージェントが自分の請求額に回答)✅———
合計 / ライブブロック / 多数の CLI基本機能✅ 業界最高水準✅ TUI、25 のプロバイダー合計

ccusage と codeburn は、それぞれの機能において優れています。agentburn は、意図的にその先から始めています(ccusage ではツール別分析の対象範囲外)。

対応エージェント

正規化された共通モデルと、エージェントごとのアダプターを採用しています。agentburn を実行すると、マシン上で見つかった各エージェントのレポートが生成されます。

エージェント状態データソース備考
Claude Code✅~/.claude/projects/**.jsonlトークンとウィンドウを扱います。設計上、ローカルコストはなく、サブスクリプションの正確なトークン単価もありません
OpenClaw✅~/.openclaw/agents/*/sessions/sessions.jsonheartbeat は独立したカテゴリです。有名なあの項目です
Hermes Agent✅~/.hermes/state.db(+任意のリクエストダンプ)エージェント自身の計算に基づくコストです
Codex CLI✅~/.codex/sessions/**/rollout-*.jsonlトークンとウィンドウを扱います。各リクエストについて、**プロバイダー自身の使用率 %**を記録する唯一のエージェントです
Gemini CLI✅~/.gemini/tmp/*/chats/session-*.json思考トークンを含むターンごとのトークン数を扱います。projects.json 経由で作業ディレクトリを取得します
opencode✅~/.local/share/opencode/opencode.dbエージェント自身の価格表に基づくコストです。無料またはセルフホスト可能なプロバイダーでは、トークン数のみを表示します

アダプターは共通モデル上に約 150 行で実装できます。次のエージェントへの対応 PR を歓迎します。

アーキテクチャ:エージェントのデータ → アダプター → 正規化モデル → レポート/制限/理由/修正/説明/診断/MCP
## その他
🔌 agentburn mcp — エージェントが自分の請求額を回答

依存関係ゼロの MCP stdio サーバーで、burn_report / burn_limits / burn_context / burn_commits / burn_why / burn_card を公開します。登録して 「どこでお金を使っているの?」 と尋ねると、自身のデータベースを分析して説明します。

claude mcp add agentburn -- agentburn mcp
# Hermes / OpenClaw: add an stdio MCP server with command `agentburn mcp`

スキルをお好みですか?~/.claude/skills/agentburn/(または Hermes/OpenClaw に相当する場所)向けの SKILL.md をすぐに使えます。

📤 --share — 安全に投稿できる匿名化カード

カテゴリ、モデル、合計のみを表示し、セッションタイトル、パス、内容は設計上除外されます。--svg card.svg を指定すると、同じカードを画像として描画します。

🔥 my claude-code agent · last 30d
3.01B tokens · 19,255 API calls
where it burns: cli 77% · subagent 23%
⏳ my peak 5h window: 555M weighted tokens — 5.4× my own median window
🌙 while I slept (00–08): 75.3M tokens — 3% of everything
— agentburn · local & private

バーンカードのサンプル

📐 --save-baseline / --compare — 節約を実証

利用ペースのスナップショットを保存し、設定を変更すると、agentburn --compare が差分を表示します。ペースで正規化されるため、7日間のベースラインと30日間の期間を公平に比較できます。すべての推奨事項が検証可能な約束になります。

🧭 agentburn drift — あなたの支出 × 世界の動向

世界が使わなくなりつつあるモデルに料金を払っていませんか?あなた側の情報はローカルで計算され、世界側の情報は token-historyの公開トレンド JSON(OpenRouter のランキングを毎日アーカイブしたもの)への読み取り専用 GET で取得します。あなたに関する情報が外部に送信されることはありません。--trends FILE を使えば完全にオフラインで動作します。

🧠 agentburn explain — LLM による解釈、ローカル優先
agentburn explain --model llama3.1          # local ollama — nothing leaves the machine
agentburn explain --llm https://openrouter.ai/api/v1 \
  --model deepseek/deepseek-chat --yes-remote --lang ru

デフォルトのエンドポイントは localhost です。リモートのエンドポイントを使うには --yes-remote が必要で、秘匿化された概要を受け取ります(タイトルは session-N に、パスはベース名に置き換えられ、内容はそもそも含まれません)。

🩺 agentburn doctor + 🚨 センチネルモード

doctor は、利用量ゼロや価格未設定のセッションの原因となっている組み合わせ(プロバイダー × モデル × ソース)を特定し、そのまま貼り付けられる上流向けバグ報告を生成します。含まれるのはカウンターのみです。

センチネルモードはサーバーエージェント向けの予算ガードです。

agentburn --agent openclaw --budget-night 5 --fail-over --no-color \
  || notify-send "🚨 agent is burning money at night"
📊 agentburn rank — Burn Index(コミュニティのパーセンタイル)

効率性の匿名パーセンタイルを提供します。ベンチマークの利用量ランキングとは異なり、ここでは利用量を増やしても評価されません。参加はクリックによる同意です。agentburn --submit を実行すると、匿名化されたペイロード(比率と大まかな支出区分のみ。生の利用量、タイトル、パスは含まれません)と、事前入力済みの GitHub イシューへのリンクが表示されます。そのイシューを開いて送信するのはあなたです。パーセンタイルが意味を持つには、各指標につき5件以上の設定が必要です。

関連項目

token-history — マクロな視点:世界がどのエージェントを使っているかを毎日アーカイブします。agentburn はミクロな視点:あなたのエージェントがどこで使っているかを示します。

ライセンス

MIT

mcp-name: io.github.Socialpranker/agentburn


token-* ファミリー · token-history — 世界で稼働しているエージェント · agentburn — あなたのエージェントがどこで使っているか

これで1ウィンドウ分の作業が節約できたなら、⭐を付けると次の人が見つけやすくなります

コメント

MCP は初めてですか?

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

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