mcpField
M
mcp-cost-tracker-router

mcp-cost-tracker-router

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

mcp-cost-tracker-router について

エージェントのワークフローにおけるモデル利用料を推定する MCP サーバーです。トークンをオフラインで計算し、予算管理、モデルのルーティング提案、ローカル履歴を提供します。

主な機能

  1. 01オフラインでのトークン計算
  2. 02ツール別・モデル別のコスト内訳
  3. 03予算アラートと制限
  4. 04モデルのルーティング提案
  5. 05利用履歴と HTML レポート
  6. 06プロジェクト配賦と監査ログ

活用シーン

  1. 01ツール別にセッション費用を確認
  2. 02予算上限で呼び出しを警告・制限
  3. 03タスクに低コストのモデルを選定
  4. 04プロジェクト費用を配賦して精算レポートを出力

MCP 対応

トークン使用量の記録・照会、予算設定、モデルのルーティング提案、履歴確認、レポート出力を行う MCP ツールを公開します。stdio と Streamable HTTP に対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"dbsectrainer-mcp-cost-tracker-router": {
"command": "npx",
"args": [
"-y",
"mcp-cost-tracker-router"
],
"env": {
"YOUR_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
起動コマンドnpx -y mcp-cost-tracker-router
設定が必要な環境変数
YOUR_API_KEYシークレットYour API key for the service

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

パッケージ
npmmcp-cost-tracker-router1.0.0

ツール

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

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

詳細

MCP コストトラッカーとルーター

npm パッケージ mcp-cost-tracker-router

MCP エージェントのワークフローでコストを把握するための、ローカルファーストのツールです。トークン数は js-tiktoken を使用してオフラインで計算されるため、プロキシも API への往復通信も不要で、支出データがマシンの外に送信されることもありません。コストが増加したときは、請求が届く前に、より安価なモデルへのルーティングを提案します。

ツールリファレンス | 設定 | コントリビューション | トラブルシューティング

主な機能

  • ツールごとのコスト内訳:最も多くのトークンと予算を消費しているツール呼び出しを正確に確認できます。
  • 予算アラート:セッションの支出上限を設定すると、上限を超える前に80%と100%の時点で警告を受け取れます。
  • オフラインでのトークンカウント:js-tiktoken を使用して正確にカウントします。API 呼び出しは不要です。
  • モデルのルーティング提案:現在のタスクの種類に応じて、より安価なモデルを推奨します(助言のみを行い、明示的なオプトインなしに適用されることはありません)。
  • 複数プロバイダーの料金設定:設定可能な単一の料金テーブルで、Claude、OpenAI、Gemini のモデルのコストを追跡します。
  • 支出履歴:モデルまたはツールごとに、日次、週次、月次の合計を照会できます。
  • プロジェクトごとのコスト配分:セッションに名前付きプロジェクトのタグを付け、費用振替レポートを作成できます。
  • HTML 支出レポート:グラフと予算状況を含む、単一ファイルで完結する HTML レポートをエクスポートできます。
  • 監査ログ:予算適用に関するすべての判断を追記専用ログに記録します。

プロキシベースのコストトラッカーと比べた利点

多くのコスト追跡ツールは、すべての API トラフィックを自社サーバー経由でルーティングし、サーバー側でトークンを計測します。そのため、プロンプトと応答がサードパーティーのサービスを経由し、そのサービスの稼働状況に依存することになります。

mcp-cost-tracker-routerプロキシベースのトラッカー(Helicone、LLMonitor など)
トークンカウントjs-tiktoken でオフライン計算。ネットワーク呼び出しなしトラフィックがプロキシ経由で転送された後、サーバー側で計測
データの保存場所ローカルの SQLite のみプロンプトと応答がベンダーのサーバーを経由
モデルのルーティング組み込みの suggest_model_routing ツール含まれることはまれで、通常は別料金のプランが必要
複数プロバイダー対応1つの料金テーブルで Claude、OpenAI、Gemini に対応単一プロバイダーのみ、または個別の設定が必要な場合が多い
稼働状況への依存なし。完全オフラインで動作プロキシが停止すると利用できない

プロンプトに機密情報が含まれる場合や、サードパーティー経由でトラフィックをルーティングできない場合は、このツールが適しています。チーム共有機能付きのマネージドダッシュボードが必要な場合は、プロキシベースのサービスのほうが適しているでしょう。

免責事項

mcp-cost-tracker-router は、ツール呼び出しのメタデータ(トークン数、モデル名、タイムスタンプ)を SQLite にローカル保存します。プロンプトや応答の内容は保存しません。コスト計算はローカルの料金テーブルに基づく推定値であり、プロバイダーの請求額と正確に一致しない場合があります。

必要要件

  • Node.js v20.19 以降。
  • npm。

はじめに

MCP クライアントに次の設定を追加します。

{
  "mcpServers": {
    "cost-tracker": {
      "command": "npx",
      "args": ["-y", "mcp-cost-tracker-router@latest"]
    }
  }
}

セッションの予算アラートを設定するには:

{
  "mcpServers": {
    "cost-tracker": {
      "command": "npx",
      "args": ["-y", "mcp-cost-tracker-router@latest", "--budget-alert=5.00"]
    }
  }
}
MCP クライアントの設定

Amp · Claude Code · Cline · Cursor · VS Code · Windsurf · Zed

最初のプロンプト

すべてが正常に動作していることを確認するには、MCP クライアントで次のように入力します。

How much has this session cost so far?

クライアントから、現在のセッションのトークン数と米ドル建てコストの概要が返されます。

ツール

セッション(4つのツール)
  • get_session_cost — 現在のセッションのトークン合計数と米ドル建ての推定コストを返します。読み取り専用です。
  • get_tool_costs — セッションのツールごとのコスト内訳を、コストの降順で返します。読み取り専用です。
  • reset_session — 新しいコスト追跡セッションを開始します。以前のセッションデータは履歴に保持されます。
  • record_usage — ツール呼び出しのトークン使用量を記録します。tool_name、model(任意)、input_tokens、output_tokens を受け取ります。しきい値の80%に達すると、予算警告の通知を送信します。
予算とルーティング(3 個のツール)
  • set_budget_alert — 予算のしきい値を USD で設定します(threshold_usd)。しきい値の 80% と 100% に達すると警告します。上限を超える呼び出しをブロックするには、--enforce-budget と併用してください。
  • suggest_model_routing — タスクの種類に基づいて、ヒューリスティックにモデルを推奨します。task_description と、任意で constraints.max_cost_usd を受け取ります。推奨モデル、理由、推定コストを返します。
  • check_routing_policy — ルーティングポリシーに基づいて、指定されたタスクの種類でモデルが許可されているかを確認します。task_type と model を受け取ります。
履歴とレポート(4 個のツール)
  • get_spend_history — period(day/week/month)で集計した支出履歴を照会します。モデルとツールごとの内訳を返します。読み取り専用です。
  • estimate_workflow_cost — 複数ステップからなるワークフローの実行前にコストを見積もります。tool_name、estimated_input_tokens、estimated_output_tokens、および任意の model を含む steps 配列を受け取ります。読み取り専用です。
  • export_spend_report — セッション別の内訳、支出履歴、モデルのコスト比較、予算の状況を含む単一ファイルの HTML 支出レポートを生成します。読み取り専用です。
  • export_budget_audit — 予算適用に関する監査ログをエクスポートします。任意の from_date、to_date、format(json/csv)を受け取ります。読み取り専用です。
プロジェクトへの割り当て(4 個のツール)
  • set_project — 任意の budget_usd を指定して、プロジェクトを作成または更新します。project_name を受け取ります。
  • tag_session — コストを割り当てるため、現在のセッションに project_name のタグを付けます。
  • get_project_costs — プロジェクトのコストレポートを取得します。project_name と、任意の since(ISO 日付)を受け取ります。読み取り専用です。
  • export_chargeback — 社内請求用のチャージバックレポートを生成します。from_date、to_date、任意の group_by(project/session)、および任意の format(json/csv)を受け取ります。読み取り専用です。

設定

--budget-alert

セッションの支出に対する USD のしきい値です。セッションのコストがこのしきい値の 80% に達したときと、100% に達したときに警告が返されます。

型:number

--db / --db-path

コスト履歴の保存に使用する SQLite データベースファイルのパスです。

型:string デフォルト:~/.mcp/costs.db

--pricing-table

カスタムモデルの料金(トークン 1,000 個あたりの金額、$)を含む JSON ファイルのパスです。組み込みの料金表と統合されます。モデルが見つからない場合は、デフォルト値が使用されます。

型:string

--default-model

コンテキストからモデルを推定できない場合に、コストの計上先として使用するモデル名です。

型:string デフォルト:claude-sonnet-4-6

--enforce-budget

セッションが予算アラートのしきい値を超える原因となるツール呼び出しをブロックします。有効にするには、--budget-alert の設定が必要です。

型:boolean デフォルト:false

--http-port

stdio の代わりに Streamable HTTP トランスポートを使用して、HTTP モードで起動します。チームで単一のコスト追跡インスタンスを共有する場合に便利です。

型:number デフォルト:無効(stdio を使用)

JSON 設定の args プロパティでフラグを渡します。

{
  "mcpServers": {
    "cost-tracker": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-cost-tracker-router@latest",
        "--budget-alert=2.00",
        "--enforce-budget"
      ]
    }
  }
}

対応モデルと料金

組み込みの料金表(トークン 1,000 個あたりの USD):

モデル入力出力
claude-opus-4-6$0.0150$0.0750
claude-sonnet-4-6$0.0030$0.0150
claude-haiku-4-5$0.0008$0.0040
gpt-4o$0.0025$0.0100
gpt-4o-mini$0.000150$0.000600
gemini-1.5-pro$0.001250$0.005000
gemini-1.5-flash$0.000075$0.000300
gemini-2.0-flash$0.000100$0.000400

--pricing-table で個々のモデル料金を上書きできます。すべてのコストは推定値です。

検証

新しいバージョンを公開する前に、MCP Inspector を使用してサーバーを検証し、すべてのツールが正しく公開されていることと、プロトコルのハンドシェイクが成功することを確認してください。

対話型 UI(ブラウザーを開きます):

npm run build && npm run inspect

CLI モード(スクリプト/CI 向け):

# List all tools
npx @modelcontextprotocol/inspector --cli node dist/index.js --method tools/list

# List resources and prompts
npx @modelcontextprotocol/inspector --cli node dist/index.js --method resources/list
npx @modelcontextprotocol/inspector --cli node dist/index.js --method prompts/list

# Call a read-only tool
npx @modelcontextprotocol/inspector --cli node dist/index.js \
  --method tools/call --tool-name get_session_cost

# Call record_usage with arguments
npx @modelcontextprotocol/inspector --cli node dist/index.js \
  --method tools/call --tool-name record_usage \
  --tool-arg tool_name=my_tool --tool-arg input_tokens=500 --tool-arg output_tokens=200

公開前に実行して、ツールの登録やランタイムの起動におけるリグレッションを検出してください。

貢献

新しいモデルがリリースされたら、src/pricing.ts を更新してください。コスト計算の変更にはすべて、既知のトークン数と期待される USD 値を使った単体テストを含めてください。ルーティングの提案は src/tools/routing.ts にあります。

npm install && npm test

MCP レジストリとマーケットプレイス

このプラグインは次の場所で利用できます。

mcp-cost-tracker-router を検索してください。

コメント

MCP は初めてですか?

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

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