mcpField
P
Passive Cost Memory for Agent Development

Passive Cost Memory for Agent Development

ローカル
github.com/RaleighSFAI・エージェント031 週間前に更新

Passive Cost Memory for Agent Development について

burnwatchは、AI支援開発プロジェクト内の有料サービスを追跡し、開発コストを推定します。サービス検出、請求マニフェスト、コードに基づく利用予測に加え、支出情報と分析ツールを提供するMCPサーバーを備えています。

主な機能

  1. 01プロジェクトのファイルやプロンプトから有料サービスを検出
  2. 02支出と予算の確度を追跡
  3. 03コードパターンやスケジュールからコストを予測
  4. 04料金モデルをJSONマニフェストで管理
  5. 05MCP経由で支出・コスト分析ツールを提供

活用シーン

  1. 01プロジェクトの支出と予算状況の確認
  2. 02新しいSDK呼び出しや定期ジョブの費用推定
  3. 03新たに追加された有料サービスの検出
  4. 04MCP対応LLMへのサービス支出情報の提供

MCP 対応

burnwatchはMCPサーバーを備え、支出概要、サービス別支出、コスト影響分析、利用状況、請求マニフェスト、サービス検出のツールを公開します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

burnwatch

コーディング速度が10倍になっています。支出も10倍になっているかもしれません。

AI 支援開発のコストをさりげなく把握できます。

Version Downloads License Zero Runtime Dependencies


╔══════════════════════════════════════════════════════════════
║  BURNWATCH — your-app — March 2026
╠══════════════════════════════════════════════════════════════
║  Service        Spend       Conf      Budget  Left
║  ──────────────────────────────────────────────────────────
║  anthropic      $47.20      ✅ LIVE    $100    53%
║  vercel         $20.00      🟡 CALC    $20     flat — on plan
║  scrapfly       $127.00     ✅ LIVE    $100    ⚠️ OVER
║  browserbase    ~$12.40     ✅ LIVE    $99     87%
║  supabase       $25.00      🟡 CALC    $25     flat — on plan
║  posthog        $0.00       🟡 CALC    $0      —
║    ↳ 234K/1M events (23%)
╠══════════════════════════════════════════════════════════════
║  TOTAL: ~$231.60   Untracked: 0 ✅   Est margin: ±$12
║  🚨  scrapfly 127% OVER BUDGET - review before use
╚══════════════════════════════════════════════════════════════

これは毎回のセッションで自動的に表示されます。確認するダッシュボードも、覚えておくタブもありません。いつもの作業場所で、さりげなく状況を把握できます。


問題

よくある流れを見てみましょう。

あなたは集中して作業しています。Claude が機能を書き、あなたが承認し、コードベースは大きくなり、すべてが順調に感じられます。火曜日にウェブスクレイピング用の Scrapfly キーを追加します。水曜日には、ブラウザー自動化のために Browserbase を組み込みます。金曜日までには、エージェントが1日おきに競合他社のページを1,000件スクレイピングする cron ジョブを作っています。コードは完璧に動作します。

3週間後、請求書が届きます。「完璧に動作する」ために月額340ドルかかり、契約したのは月額99ドルのプランだったとわかります。

これが AI 支援開発における新しい日常です。料金が発生するサービスは、コストをまったく把握していないエージェントによって組み込まれます。Scrapfly のボット対策回避が基本クレジットの25倍を消費することも、Anthropic Opus のトークン単価が Haiku の15倍であることも、API 呼び出しが1,000回に達すると上限になる無料プランを使っていることも、エージェントにはわかりません。

さらに厄介なのは、登録時にはこうしたサービスのほとんどが安く見えることです。月額20ドル。月額99ドル。定額料金だから安心です。しかし、料金ページの3ページ目に超過料金がひっそり記載されています。登録ページを離れるときは月額20ドルで安心していても、含まれる利用量を超えたことを誰にも知らされず、戻ってきたときには月額数百ドルの請求が届きます。

IT リーダーの78%が、過去12か月間に従量課金または AI 料金に関連する予想外の請求を経験しました(Zylo 2026 SaaS Management Index)。

burnwatch はエージェントとあなたの財布の間に位置します。ファイルの保存をすべて監視し、各サービスの課金モデルを把握して、被害が出る前に知らせます。


インストール

npx burnwatch init

以上です。burnwatch がプロジェクトをスキャンして有料サービスを検出し、フックを登録します。次のセッションから、支出状況が表示されます。

要件: Node.js 18+ · Claude Code、MCP、またはスタンドアロン CLI で動作します


仕組み

1. 検出

npx burnwatch init を実行すると、burnwatch はすぐに次の4つの場所をスキャンします。

確認対象例タイミング
package.json依存関係内の "@anthropic-ai/sdk"初期化時、ファイル変更時
環境変数.env 内の SCRAPFLY_KEYセッション開始時
import 文import { Resend } from "resend"初期化時、ファイル変更時
プロンプト内の記述「スクレイピングに Browserbase を使って…」各プロンプト
🔍 Scanning project for paid services...

   Found 6 paid services:

   ● Anthropic (Claude)        ✅ LIVE API available
     Detected via: package.json, env vars, imports
   ● Scrapfly                  ✅ LIVE API available
     Detected via: env vars, imports
   ● Browserbase               ✅ LIVE API available
     Detected via: package.json, imports
   ● Supabase                  ✅ LIVE API available
     Detected via: package.json, env vars
   ● Vercel                    🟡 Flat plan
     Detected via: package.json
   ● PostHog                   🟡 Free tier
     Detected via: package.json, imports

🔗 Registering hooks...
✅ burnwatch initialized!
2. ヒアリング

CLI フラグも YAML 設定ファイルも必要ありません。エージェントに話しかけるだけです。

You: "Let's set up burnwatch for this project"

エージェントが対話形式でヒアリングを行い、リスクカテゴリ別に各サービスを確認します(まず LLM、次に従量課金、最後に定額制のインフラ)。

Agent: I found 6 services. Let me walk through each one.

       Anthropic — I probed your API key. You're on API Usage,
       $47.23 spent this billing period. Default budget: $100/mo.
       Does that feel right?

You:   Yeah that's fine.

Agent: ✅ Anthropic set to $100/mo budget.

       Scrapfly — Probe detected Pro plan (1M credits).
       You've used 742K/1M credits. Budget: $100/mo.

You:   Keep it.

Agent: ✅ Scrapfly set to Pro, $100/mo.

       Vercel — You're on Pro ($20/mo flat).
       PostHog — Free tier.
       I'll set these as flat plans with matching budgets.
       Skip?

You:   Yep.

Agent: ✅ Vercel $20, PostHog $0 — all set.

回答はその都度すぐに書き戻されます。全体で約90秒です。

3. 課金マニフェスト

ここからが本題です。追跡対象のサービスにはそれぞれ課金マニフェストがあります。これは、料金モデル全体を定義する、コミュニティによって保守されている JSON ファイルです。

{
  "serviceId": "browserbase",
  "billingDimensions": [
    {
      "id": "browser_hours",
      "name": "Browser hours",
      "unit": "hour",
      "ratePerUnit": 0.10,
      "ratePer": 1,
      "variants": [
        { "id": "standard", "ratePerUnit": 0.10, "codePatterns": ["createSession"] }
      ]
    },
    {
      "id": "proxy_bandwidth",
      "name": "Proxy bandwidth",
      "unit": "GB",
      "ratePerUnit": 10.00,
      "ratePer": 1
    }
  ],
  "plans": [
    { "id": "startup", "monthlyBase": 99, "included": { "browser_hours": 500 } }
  ],
  "costMultipliers": [
    { "id": "long_session", "factor": 10, "codePatterns": ["keepAlive", "waitForTimeout"] }
  ]
}

これは推測ではありません。burnwatch は、Browserbase がセッション単位ではなくブラウザー時間単位で課金すること、Startup プランには 500 時間が含まれること、超過分は 1 時間あたり $0.10 であること、そして keepAlive を使った長時間セッションではコストが 10 倍に膨らむ可能性があることを把握しています。Anthropic Opus の料金が Sonnet の 5 倍であることも把握しています。Scrapfly のアンチボット回避では、基本クレジットの 5~25 倍が消費されることも把握しています。

本番環境で検証済みのマニフェストが付属するサービスは 12 個あります。新しいサービスの追加は、JSON ファイルを 1 つ作成するだけです。

4. パッシブモニタリング

コードを書くのはあなたです。監視するのは burnwatch です。ファイルが保存されるたびに、3 つの処理がバックグラウンドで実行されます。

コスト影響分析では、変更されたファイルをスキャンして SDK の呼び出し箇所を特定し、倍率を検出します(ループ、.map()、Promise.all、cron スケジュールなど)。変数で指定されたループ回数を解決し、コード内のモデルの種類を照合して、月額コストを予測します。

[BURNWATCH] ⚠️ Cost impact estimate for scraper.ts
  Browserbase: ~15,000 calls/mo → $37-$375/mo (Long-running sessions)
  Current: $12/$99 budget (12%)

使用率の追跡では、プロジェクト全体のすべての呼び出し箇所を追跡し、超過分を予測しながら、情報を逐次更新します。

[BURNWATCH] ⚠️ Browserbase utilization: ~750 browser-hours/mo
  (plan includes 500) → ~$25.00/mo overage

新しいサービスの検出は、ファイルの変更によって burnwatch がまだ認識していないものが追加された場合に実行されます。

[BURNWATCH] 🆕 New paid service detected: twilio
  Run 'burnwatch add twilio' to configure budget and tracking.
5. 介入(実際にコストを節約できる部分)

重要なのは、次のようなシナリオです。5 回のセッションを重ね、コードが 4,000 行に達したところで、Claude にウェブスクレイパーを作るよう指示します。

You: "Create a scraper that uses Browserbase to scrape 1000 competitor
      pages every other day on a cron job"

Claude がコードを書きます。ファイルが保存された瞬間に、burnwatch が動作します。

[BURNWATCH] ⚠️ Cost impact estimate for scraper.ts
  Browserbase: ~15,000 sessions/mo → $37-$375/mo (Long-running sessions)
  Current: $12/$99 budget (12%)

[BURNWATCH] ⚠️ Browserbase utilization: ~750 browser-hours/mo
  (plan includes 500) → ~$25.00/mo overage

Claude はシステムメッセージとして挿入された内容を、自身のコンテキスト内で確認します。あなたからコストについて尋ねられるのを待たず、自発的に対応します。

Agent: I built the scraper, but heads up — burnwatch flagged this:

       At 1,000 pages every other day, you're looking at ~750
       browser-hours/month. Your Startup plan includes 500 hours,
       so you'd hit ~$25/mo in overage on top of the $99 base.

       A few options:
       1. Reduce to 500 pages per run (stays within plan)
       2. Use Playwright locally for non-JS pages (free)
       3. Batch into fewer longer sessions to reduce overhead

       Want me to adjust?

このやり取りは burnwatch がなければ起こりません。 burnwatch がなければ、Claude がスクレイパーを書き、あなたがそれをリリースし、3 週間後に請求書が届いて初めて超過分に気付きます。その頃には cron ジョブがずっと動き続けています。


倍率の検出

burnwatch は API 呼び出しの数を数えるだけではありません。呼び出しの周辺にあるコードの構造も読み取ります。

パターン例検出内容
リテラルのループ境界for (let i = 0; i < 1000; i++)倍率:1000
変数のループ境界const PAGES = 1000; for (i < PAGES)PAGES を 1000 として解決
配列の反復処理urls = Array(500) のときの urls.map(async (u) => scrape(u))倍率:500
for...ofpages のサイズが既知の場合の for (const page of pages)サイズを解決
Promise.allPromise.all(urls.map(...)).map() との二重カウントなし
名前付き定数const NUM_REQUESTS = 5000倍率のヒントとして検出
Cron:5 分ごと// every 5 minutes または */5 * * *倍率:月あたり 8640
Cron:2 日ごと// every other day または */2倍率:月あたり 15
Cron:毎週// every week または 0 0 * * 0倍率:月あたり 4
バッチサイズconst batch_size = 50倍率:50

課金マニフェストにコードパターンを使ったコスト倍率(アンチボット回避を示す Scrapfly の asp.*true など)がある場合、それらも検出されます。これにより、単一の数値ではなく、コストの範囲が表示されます。


信頼度の段階

すべての支出額には信頼度バッジが付いています。burnwatch は、実際以上に把握しているように見せることはありません。

バッジ意味情報源
✅ LIVE実際の請求 API データあなたのキーでサービス API をポーリング
🟡 CALC固定の月額料金プラン料金を入力
🟠 EST計測に基づく推定値使用状況のシグナルと料金計算式
🔴 BLIND検出済み、未追跡サービスは存在するが、設定がない

サマリーには、常に未追跡の数が表示されます。見栄えのよいダッシュボードに不意の出費が隠れることはありません。


## 対応サービス
サービスティア課金モデル注意点
Anthropic✅ LIVEトークン単位Opus のトークン単価は Haiku の 15 倍です。使用するモデルはエージェントが選択します。
OpenAI✅ LIVEトークン単位GPT-4o-mini は o1 より 66 倍安価です。モデルの選択が大きく影響します。
Scrapfly✅ LIVEクレジットプールボット対策の回避には、基本クレジットの 5~25 倍が黙って消費されます。
Browserbase✅ LIVEブラウザー時間単位セッション数ではなく利用時間に応じて課金されます。セッションが長いほど費用が増えます。
Vercel✅ LIVEコンピューティング+超過料金Vercel の請求で最も予想外なのは、関数の GB 時間です。
Supabase✅ LIVE段階制+超過料金ベクトル埋め込みによってデータベースのサイズは急速に増加します。
Google Gemini🟡 CALCトークン単位無料枠は充実していますが、Flash 2.0 は非常に安価なため、確認を忘れがちです。
Voyage AI🟡 CALCトークン単位埋め込み専用です。費用はクエリ数ではなくコーパスのサイズに応じて増加します。
Upstash🟠 ESTコマンド単位10 万コマンドあたり 0.20 ドルです。無料枠は 1 日あたり 1 万コマンドです。従量課金であることを忘れがちです。
Resend🟠 ESTメール単位Pro では超過分が 1,000 通あたり 0.90 ドルです。アプリがバズるまでは問題ありません。
Inngest🟡 CALC実行単位実行回数とステップ数の両方がカウントされます。5 ステップの関数は 6 回の実行として数えられます。
PostHog🟡 CALCイベント単位月 100 万イベントまでは無料です。十分多いように思えますが、そうでなくなるときが来ます。

課金マニフェスト

billing/ ディレクトリには、サービスごとに 1 つの JSON ファイルが含まれます。各マニフェストには次の情報が記載されています。

  • 課金ディメンション:サービスが課金対象とするあらゆる軸(トークン、セッション、帯域幅など)
  • バリアント:自動検出用の正規表現コードパターンを含む、モデルごとの料金(Haiku と Sonnet と Opus など)
  • プラン:含まれる内容、超過料金、ハードキャップ
  • コスト倍率:費用を増加させる機能フラグ(ボット対策の回避、JS レンダリング、ステルスモード)
  • 一般的な開発時の使用量:より的確な予測に役立つ、現実的な使用パターン
新しいサービスの追加

billing/ に JSON ファイルを追加します。

{
  "$schema": "./billing.schema.json",
  "serviceId": "my-service",
  "name": "My Service",
  "lastVerified": "2026-03-25",
  "pricingUrl": "https://my-service.com/pricing",
  "billingDimensions": [
    {
      "id": "api_calls",
      "name": "API calls",
      "unit": "call",
      "ratePerUnit": 1.00,
      "ratePer": 1000
    }
  ],
  "plans": [
    {
      "id": "pro",
      "name": "Pro ($29/mo)",
      "monthlyBase": 29,
      "included": { "api_calls": 50000 },
      "overageRates": { "api_calls": 1.00 }
    }
  ]
}

コードの変更は不要です。コストエンジンが自動的に読み込みます。


MCP サーバー

burnwatch は、MCP に対応したあらゆる LLM で使用できる MCP サーバーを提供します。

claude mcp add burnwatch -- node ./node_modules/burnwatch/dist/mcp-server.js

公開されるツール:

ツール用途
get_spend_briefアラート付きの支出全体表
get_service_spend1 つのサービスに関する詳細情報
analyze_cost_impactコストに影響する SDK 呼び出しについて、ファイルを分析します
get_utilizationプロジェクト全体の使用状況と超過料金の予測
get_billing_manifest任意のサービスの課金マニフェスト(生データ)
detect_paid_servicesプロジェクト内の有料サービスをスキャンします
list_registry_servicesレジストリ内のすべてのサービス

Claude Code との統合

burnwatch は Claude Code hooks として動作します。セッションのライフサイクルイベントに応じて実行されるバックグラウンドスクリプトです。

フックイベント動作
セッション開始新しいセッションまたは再開したセッション課金 API をポーリングし、支出概要を表示します
プロンプト送信プロンプトを入力したときサービスへの言及を検出し、支出カードを挿入します
ファイル変更コードを書き込んだとき、または編集したときコスト影響分析、新しいサービスの検出、使用状況の更新を行います
セッション終了セッションが終了したとき支出台帳をディスクに書き込みます

burnwatch は 3 つの エージェントスキル もインストールします。

  • /setup-burnwatch:ガイド付きの初期設定
  • /burnwatch-interview:サービスごとに対話形式で設定
  • /spend:支出をすばやく確認(特定のサービスを確認する場合は /spend scrapfly)

CLI リファレンス

burnwatch init                              Initialize in current project
burnwatch setup                             Init + auto-configure all detected services
burnwatch add <service> [options]           Register a service for tracking
burnwatch configure [options]               Update service config (plan, budget, key)
burnwatch interview --json                  Export current state as JSON (for agent use)
burnwatch status                            Show current spend brief
burnwatch scan                              Full project utilization scan
burnwatch services                          List all services in registry
burnwatch reconcile                         Scan for untracked services
burnwatch version                           Show version

設定とセキュリティ

認証情報がプロジェクトディレクトリに保存されることはありません。

~/.config/burnwatch/
  config.json              API keys, tokens (chmod 600, never in git)

your-project/.burnwatch/
  config.json              Services, budgets, detection history
  spend-ledger.md          Human-readable spend report (git-committable)
  data/
    utilization.json       Code-derived usage projections
    events.jsonl           Append-only event log
    cache/                 Billing API response cache
    snapshots/             Point-in-time spend snapshots

## 貢献

最も手早く貢献する方法は、課金マニフェストを追加することです。

  1. リポジトリをフォークします
  2. billing/billing.schema.json に従って billing/<service-id>.json を作成します
  3. 課金項目、プラン、できればコスト倍率を含めます
  4. サービスの料金ページで料金を確認します
  5. PR を作成します

検出パターンを指定して registry.json にサービスを追加したり、コスト影響倍率の検出を改善したりすることもできます。


ライセンス

MIT

コメント

MCP は初めてですか?

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

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