mcp-cost-tracker-router について
エージェントのワークフローにおけるモデル利用料を推定する MCP サーバーです。トークンをオフラインで計算し、予算管理、モデルのルーティング提案、ローカル履歴を提供します。
主な機能
- 01オフラインでのトークン計算
- 02ツール別・モデル別のコスト内訳
- 03予算アラートと制限
- 04モデルのルーティング提案
- 05利用履歴と HTML レポート
- 06プロジェクト配賦と監査ログ
活用シーン
- 01ツール別にセッション費用を確認
- 02予算上限で呼び出しを警告・制限
- 03タスクに低コストのモデルを選定
- 04プロジェクト費用を配賦して精算レポートを出力
MCP 対応
トークン使用量の記録・照会、予算設定、モデルのルーティング提案、履歴確認、レポート出力を行う MCP ツールを公開します。stdio と Streamable HTTP に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
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 を検索してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。