Compute Finance Oracle について
Compute Finance Oracle は、最新の AI モデル価格を必要とする開発者やエージェント向けの stdio MCP サーバーです。ライブ価格、履歴データ、モデルの利用可能性、ローカルの Claude Code セッション費用分析を提供します。
主な機能
- 01複数プロバイダーの最新モデル価格
- 02SCU と価格指数データ
- 03価格履歴の照会
- 04モデルの利用可能性データ
- 05ローカルの Claude Code 費用分析
活用シーン
- 01現在のモデル価格の比較
- 02モデルの計算コストの見積もり
- 03ルーティング前のモデル利用可否確認
- 04Claude Code セッション費用の確認
MCP 対応
stdio サーバーとして、Compute Finance Oracle の公開データとローカルセッション分析ツールを MCP クライアントに提供します。アプリの許可を接続した場合に限り、許可範囲に応じたアカウントツールも利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
22掲載時のツール一覧 · 今日に更新
このツールにパラメーターはありません。
詳細
@compute-finance/mcp
ライブ AI コンピューティング料金オラクル — Compute Finance Oracle を通じて、9 社のベンダー(Anthropic、OpenAI、Google、DeepSeek、xAI など 4 社)の LLM モデル料金をリアルタイムで取得できます。
stdio MCP サーバーです。あらゆる MCP クライアントで動作します。セッションのコスト分析に使える Claude Code スキルもオプションで含まれています。
クイックスタート
Claude Code(推奨)
npx @compute-finance/mcp setup
このコマンド 1 つで、次の処理が行われます。
- ユーザースコープに MCP サーバーを登録します(
claude mcp add) - Claude Code スキルをインストールします(
/cf-session-management、/cf-session-consumption、/cf-active-sessions、/cf-account) - コストフックをインストールします。これは、セッションのコストを Claude のコンテキストに追加する
UserPromptSubmitフックです。これにより、すべての応答で使用金額を表示できます。
セットアップ後、Claude Code を再起動してください。
ご自身の Compute Finance アカウントについても回答できるようにするには、アカウントを一度接続してください。アカウントを参照してください。
または、スキルやフックを使わずに手動で登録します。
claude mcp add --scope user compute-finance -- npx @compute-finance/mcp
Cursor / VS Code / あらゆる MCP クライアント
MCP 設定(.cursor/mcp.json、VS Code の設定など)に追加します。
{
"mcpServers": {
"compute-finance": {
"command": "npx",
"args": ["@compute-finance/mcp"]
}
}
}
ソースから
git clone https://github.com/compute-finance/mcp.git
cd mcp
npm install && npm run build
npx . setup
ツール
ツールはレイヤーのプレフィックスで命名されており、3 つのグループに分かれています。公開グループとローカルグループでは、API キーもアカウントも必要ありません。
| グループ | プレフィックス | ツールがアクセスする対象 |
|---|---|---|
| 公開データ | data_get_*, compute_* | 認証なしの GET リクエストを通じて、ライブの Compute Finance Oracle を読み取ります |
| ローカルセッション | render_*, analyze_*, telemetry_get_* | このマシン上の Claude Code のトランスクリプトを読み取り、ライブのオラクル料金で価格を計算して、測定値を ~/.compute-finance/ 配下のセッションログに追記します。telemetry_get_history はそのログを読み返します。データはアップロードされません |
| ご自身のアカウント | account_* | アプリの許可を接続した場合にのみ登録され、その許可で認められたツールだけが利用できます。読み取りアクセスがある場合、アカウントの残高、支出、キー、履歴を読み取ります。実行アクセスがある場合、ツールの一部を使ってアカウントに操作を行い、API キーの作成、キーの凍結または凍結解除、予算上限の設定、自動チャージの設定ができます |
account_* ツールは以下に記載されていません。取引所がこれらのツールを公開しており、このパッケージには含まれていないためです。アカウントを参照してください。
データ(ライブオラクル)
| ツール | 説明 |
|---|---|
data_get_basket | 現在の SCU インデックスに含まれるすべてのモデル。プロバイダー、ファミリー(例:openai.gpt、anthropic.claude)、100 万トークンあたりの base_* および billed_* の USD 価格、コンポーネント別のキャッシュ料金(読み取り、write-5m、write-1h)、推論出力価格、長文コンテキストの価格段階を含みます |
data_get_price | 単一モデルの価格(例:anthropic/claude-opus-4.8)。インデックス登録モデルとカタログのみのエントリーを同じ条件で扱い、コンポーネント別のキャッシュ料金、推論価格、長文コンテキストの価格段階も含みます |
data_get_scu | 現在の標準計算ユニット。値に加え、ファミリー代表モデルをすべて列挙した、方法論バージョン付きの breakdown を返します |
data_get_breakdown | ファミリーごとのブレンドコスト内訳のみを返します。方法論バージョン付きの判別共用体で、ファミリー代表モデルごとに 1 エントリーを含みます |
data_get_cpi | オンチェーンで最後に証明された完全な Compute Price Index。scuUsd、revisionVersion、およびそのリビジョンで公開された未加工価格とマークアップ後の価格を含みます |
data_get_reconstitutions | インデックスの過去の変更。モデルの入れ替え、変更前後の SCU を含みます |
data_get_methodology | 方法論の変更履歴。数式の概要と仕様へのリンクを含むすべてのバージョンに加え、現在適用されているバージョンを含みます |
data_get_history | 指定した期間の SCU インデックス時系列。粒度は per-revision、daily、weekly から選択でき、日次/週次バケットでは空のバケットにも最後のリビジョンの値が引き継がれます |
data_get_model_price_history | Oracle が追跡する任意のモデルについて、モデルごとの入力/出力 USD 価格の時系列を返します。粒度の仕様は data_get_history と同じで、キャッチアップの欠落は unavailableRevisions に表示されます |
data_get_catalog | 価格が記録されているすべてのモデル。インデックス登録モデルと非登録エントリーの両方を含み、indexMember フラグ、出所のペアを伴う現在価格、キャッシュと推論の各コンポーネント、未加工の上流 contextTiers/maxInputTokens を返します |
data_get_model_price_at | 指定したタイムスタンプで有効な、モデルごとの入力/出力 USD 価格を返します。その時点で有効なリビジョンにおいてモデルがファミリーを代表していた場合は manifest を、そうでない場合は catalog をソースとして返します |
data_get_baseline | computeIndex の基準となる固定 SCU 分母。最初に確認されたリビジョンの SCU で、一度設定された後は再計算されません |
data_get_scu_at | 段階関数を使って、指定したタイムスタンプで有効な SCU 値を返します。補間は行わず、ジェネシスリビジョンより前は null です |
data_get_model_availability | 現在利用可能なモデル。routable フラグ付きのカタログ内全モデル、auto が指定するモデル、および回答の有効期間を示す computedAt/ttlSeconds を返します |
モデルは、ベンダー名を接頭辞に持つ正規 ID(anthropic/claude-opus-4.8、openai/gpt-5.5、qwen/qwen-3.5-flash)で識別されます。モデルを受け取るすべてのツールでは、ベンダー名のない名前(gpt-5.5)も指定でき、正規 ID で回答します。ベンダーのスラッグは常にプロバイダーキーと一致するとは限りません(alibaba → qwen、xai → x-ai、moonshot → moonshotai)。そのため、ID を組み立てるのではなく、API が返した ID を再利用してください。例外は data_get_scu、data_get_breakdown、data_get_reconstitutions です。これらは証明済みのマニフェストをそのまま渡すため、/ は有効なマニフェストキーではなく、モデルキーをベンダー名なしで返します。
キャッシュ料金は Compute Finance Oracle から取得します。Oracle が関連するキャッシュコンポーネントを公開している場合、セッションレポートと消費レポートにはキャッシュを考慮した実効コストが表示されます。そうでない場合は、すべての入力バリエーションに入力レートを適用した名目コストを表示し、そのモデルでは実効コストが利用できないことを示します。
キャッシュに加えて、Oracle は推論出力価格(reasoning.reasoningOutput)も公開します。他のすべてのコンポーネントと同じ基準で設定されます。利用可能な推論価格がないモデルでは、reasoning ブロック全体が null になります。これはカタログデータです。セッションレポートと消費レポートでは課金されません。Claude Code のトランスクリプトでは推論トークンではなく思考ブロックを数え、これらのトークンはすでに output_tokens に含まれているためです。
すべての価格は、2つの基準で報告されます。base_*はプロバイダーの定価で、オラクルが追跡するすべてのモデルで同一です。billed_*はcompute.financeが請求する金額で、base × (1 + routing_fee_rate)です。モデルの比較にはbase_*を、予算の計算にはbilled_*を使用してください。レートは各レスポンスで1回だけ提供され、オラクルが公開していない場合、billed_*はnullになります。セッションレポートと消費レポートは、すべてbase基準です。
現在の価格に関する回答は、すべて1か所、つまり取引所が請求に使用するライブカタログに基づいています。インデックスへの登録によって決まるのは、data_get_basketとcompute_compareが一覧表示するモデルであり、モデルの価格ではありません。そのため、カタログで同じ価格が設定されている2つのモデルは、同じ価格が表示されます。例外は設計上の仕様であるdata_get_cpiです。このツールは、最新のオンチェーンリビジョンで証明された価格を提供します。この価格はオペレーターが次のリビジョンを公開するまで変わらないため、カタログの価格より遅れている場合があります。価格の見積もりではなく、証明の履歴として参照してください。
一部のモデルでは、コンテキスト長が長くなると価格が高くなります。data_get_basketとdata_get_priceは、これをcontext_tiersとして公開します。これはfrom_input_tokensの昇順に並んだ段階の一覧で、常に少なくとも1段階あります。最初の段階は0から始まり、固定レートを再掲します。そのため、どのサイズでも同じ価格のモデルには段階がちょうど1つだけあり、モデルが段階制かどうかで処理を分ける必要はありません。各段階には、ほかのすべての価格と同様にbase_*とbilled_*が含まれます。SCUインデックスに反映されるのは固定レートのみです。compute_estimateとcompute_compareは、リクエストの入力全体(プロンプト、キャッシュ読み取り、キャッシュ書き込みの合計)に基づいて段階を選びます。どちらのツールもキャッシュ割引を適用しないため、これらすべてに通常の入力レートが適用されます。段階は上限を含まない範囲で選択されるため、入力がしきい値とちょうど一致する場合は、そのしきい値から始まる段階が適用されます。また、両ツールは選択した段階をapplied_context_tierとして返すため、数値の根拠となるレートを確認できます。data_get_catalogはオラクルのドキュメントを変更せずに返すため、固定価格のモデルでは1段階のcontextTiersではなく、contextTiers自体が存在しません。
段階の情報はカタログのエンドポイントから取得します。モデルについてカタログが回答できない場合(読み取りに失敗した場合、または読み取りに成功したもののモデルが含まれていなかった場合)、2種類のツールでは動作が異なります。後者は上流との不整合であり、固定価格を意味するものではありません。data_get_basketとdata_get_priceは引き続き価格を返し、context_tiersをnullに設定します。これは段階が不明であることを示し、読み取れなかった段階を1段階で代用するものではありません。一方、compute_estimateとcompute_compareはエラーを返します。固定レートで見積もると、段階制がまさに価格を設定する対象である長いコンテキストのコストを過小評価するためです。
max_input_tokensは、モデルが受け付ける入力の最大値です。モデルが独自のコンテキストウィンドウを宣言していない場合はnullです。これは無制限という意味ではありません。リクエスト本文の上限は引き続き適用されますが、モデルごとの制限がないということです。宣言されたウィンドウを超えると、オラクルはリクエストを拒否するため、compute_estimateとcompute_compareはexceeds_max_input_tokensを設定します。それでもコストは見積もられます。これらのツールは読み取り専用であり、コンテキストのサイズを調整するエージェントには、リクエストを作り直す前に数値が必要です。ただし、このフラグによって、指定どおりのリクエストが拒否されることが明確に示されます。
価格には、数値がどの程度確認されているかを示す provenance マークも付いています。verified は、オペレーターがその価格のベンダーソースを記録したことを示します。inferred は、関連する別の数値またはベンダーのデフォルト値から算出され、ソースが記録されていないことを示します。promotional は、終了が見込まれる割引後の定価を示します。どの値も表示どおりに課金されます。このマークが示すのは価格への信頼度であり、料金ではありません。 マークは手動で設定され、ベンダーに対するリアルタイムの確認ではなく、オペレーターが最後に確認した時点の状態を示します。キャッシュと推論の各コンポーネントには、表示されるすべての箇所で個別のマークが付いており、すべての基本価格にもマークが付いています。data_get_catalog は、インデックスに含まれるかどうかにかかわらず、すべてのモデルについて currentPrice.provenance を示します。一方、data_get_basket、data_get_price、compute_estimate は、同じ組み合わせを base_price_provenance として示します。段階価格にも同じルールが適用されます。最初の段階には基本価格のマークが引き継がれ、それより上の段階は常にカタログ価格となり、ベンダーが提示する単一のマークで両方向に示されます。セッションレポートと消費レポートでは、各キャッシュ乗数とそのマークが表示されます。オラクルがモデルのキャッシュ価格を公開していない場合は、その旨を示し、マークは表示しません。
価格はモデルの料金を示すものであり、モデルがリクエストに応答できるかどうかを示すものではありません。後者には data_get_model_availability が回答します。これはパブリックプールでルーティング可能なモデルの一覧で、すべてのカタログモデルが正規 ID と routable フラグ付きで含まれ、auto が指すモデルも含まれます。モデルを決める前に呼び出し、応答できないモデルはリクエスト前に候補から除外してください。そうしないと、リクエスト後に 503 が返されてから判明することになります。この情報は参考値です。computedAt 時点の状態を示し、その時点から ttlSeconds の間のみ有効です。キャパシティは独立して変化するため、ルーティング可能と報告されたモデルでも送信に失敗することがあります。呼び出し元はリクエスト自体でエラーを処理する必要があります。応答はエクスチェンジ独自の情報をそのまま提供し、ここでは稼働状況を計算しないため、それを実際に尊重する必要があるルーターの情報と食い違うことはありません。公開された ttlSeconds の期間だけキャッシュされ、その値が欠落しているか使用できない場合は、他の読み取り処理で使われる期間ではなく、キャッシュされません。
プライベートオファーは一覧に表示されません。サプライヤーが handle/alias ID でプライベートプールに提供するモデルは、パブリックカタログには追加されません。プールの所有者がオファーを承認した場合にのみ一覧に追加され、そのプールに紐付けられた API キーにだけ表示されます。このサーバーは、接続済みアカウントの有無にかかわらず、そのようなキーを送信しません。確認するには、プールに紐付けられた ct_live_* キーを使って GET /v1/models を呼び出してください。
計算
| ツール | 説明 |
|---|---|
compute_estimate | 入力/出力トークン数に基づくモデルの概算 USD コスト — 入力サイズに応じて選択された段階価格での base_usd_cost、routing_fee_usd、billed_usd_cost |
compute_compare | 現在の SCU インデックス内のすべてのモデルをワークロードのコスト順に並べ、ファミリー別にグループ化 — 各行には同じ3つのコスト値を、そのモデル固有の段階価格で表示 |
レンダリング(Claude Code スキル)
| ツール | 説明 |
|---|---|
render_session_report | 書式設定済みのセッションコストレポート — /cf-session-management で使用 |
render_consumption_report | 書式設定済みの推論ごとの内訳 — /cf-session-consumption で使用 |
render_active_sessions | プロジェクト横断で最近のセッションをまとめた概要 — /cf-active-sessions で使用 |
レポートには、互いに独立した3種類のカウントが表示されます。プロンプト(入力した内容)、推論(アシスタントの応答 — ツールループを含むセッションでは、1つのプロンプトにつき複数回発生します)、ツール呼び出し(tool_use ブロック)です。同じセッションであれば、この3つのカウントは3種類すべてのレポートで一致します。
分析
| ツール | 説明 |
|---|---|
analyze_session | 生の JSON セッション分析(カスタム UI 用。スキル用ではありません) |
analyze_inferences | 推論ごとの生の JSON 内訳(カスタム UI 用。スキル用ではありません) |
analyze_session の反実仮想では、各モデルの基本料金を使用し、長コンテキストの料金段階は使用しません。料金段階はリクエストごとに選ばれます。また、セッション全体の入力トークン数の合計が巨大な単一リクエストになるわけではありません。5k トークンの呼び出しを100回行っても、500k トークンの呼び出し1回にはなりません。そのため、合計をより高い料金段階で計算すると過剰請求になります。コンテキスト長を超えると料金が高くなるモデルでは、これらの行は compute_compare より低くなるはずです。
履歴
| ツール | 説明 |
|---|---|
telemetry_get_history | 記録されたセッション全体の集計統計情報 — 累計コスト、プロファイルごとの中央値、インサイト |
あなたのアカウント
上記はすべて公開データまたはローカルファイルです。あなたの Compute Finance アカウントの支出額、現在有効なキー、上限に達するまでの残り枠を確認するには、アプリ許可でアカウントを接続します。
接続
- compute.finance を開き、Settings → Connected apps で Grant access を押します。アプリに名前を付け、許可する操作を選びます。Read(アカウント残高、使用状況、履歴の参照)および/または Act(アカウントのキーと上限の管理)を選択できます。組織で作業している場合は、許可の対象となるアカウントを選んでください。許可はそのアカウントに固定され、別の場所にあるセッションから対象を変更することはできません。
cfa_live_…トークンをコピーします。トークンが表示されるのは一度だけです。- 保存します。
npx @compute-finance/mcp setup --account
セットアップでは stdin からトークンを入力します。入力内容は非表示になり、トークンが引数に含まれることもないため、シェル履歴や MCP 設定ファイルに残ることはありません。トークンは、OS に標準搭載されている資格情報ストアに保存されます。macOS Keychain(security)、Windows DPAPI(%APPDATA% 内に保存され、復号できるのはその Windows ユーザーだけの BLOB)、または Linux の Secret Service(libsecret に含まれる secret-tool)が使われます。いずれの場合も、ネイティブの npm 依存関係は追加されません。
保存する前に、セットアップはトークンを交換サービスで検証します。交換サービスが拒否したトークンは保存されません。交換サービスに接続できない場合は警告を表示してトークンを保存し、オフライン中に入力されたトークンはサーバーの初回起動時に検証されます。これらのストアがどれもないシステムでは、セットアップは何も保存せず、CF_APP_GRANT_COMMAND(下記)を案内します。
MCP クライアントを再起動してください。account_* ツールが表示されます。資格情報がない場合、これらのツールは登録されず、オラクルとセッションのツールはこれまでどおり動作します。
サーバーがトークンを探す場所
起動時に以下の順で確認し、最初に応答したものを使用します。
| ソース | 用途 |
|---|---|
CF_APP_GRANT_COMMAND | 標準出力にトークンを出力するシェルコマンドです。op read op://Private/compute-finance/token、pass show compute-finance、bw get password … などを指定できます。どの OS のどのシークレットマネージャーでも使えます。このパッケージは何も保存しません。 |
| OS の資格情報ストア | setup --account が書き込んだ値です。 |
CF_APP_GRANT | 環境変数です。対話型ストアがない CI 向けです。 |
取得元にかかわらず、トークンの送信先は https のオリジンに限られます。ただし、ローカル API を利用できるよう、ループバックホスト上の http は許可されます。これ以外の場所を指す CF_API_BASE は起動時に拒否され、トークンは送信されません。
グラントでできること、できないこと
- グラントで許可される操作は、作成時にチェックしたものに限られ、指定した1つのアカウントでのみ有効です。アカウントから資金を引き出すことは決してできません。引き出し、送金、ウォレット署名が必要な操作はできません。これらは引き続きウォレットで行います。
- **Act アクセスは無害ではありません。**これを持つアプリは、アカウント残高を消費する API キーを作成したり、その支出を制限する予算上限を変更または解除したり、自動チャージを設定したりできます。グラントを組織に紐付けている場合でも、自動チャージは常にご自身の個人アカウントに適用されます。この3つを任せてもよいアプリに限り Act にチェックを入れ、それ以外には Read のみを許可してください。
- 各グラントが呼び出せる内容は、取引所が決定します。
GET /v1/account-toolsは、そのグラントにアクセスが許可されているツールと、その説明および入力スキーマのみを返します。呼び出しはPOST /v1/account-tools/callを介して行われます。このパッケージにはこれらの仕様が複製されていないため、取引所側で変更があれば、このパッケージのリリースを待たずに反映されます。 - 拒否された場合は、そのまま拒否として扱われます。取引所がリクエストを拒否した場合(グラントが凍結または取り消されている場合、あるいはツールに必要なアクセス権がない場合)、ツールは不足しているものを示す取引所独自の文言を返します。残高が空、キーの一覧が空などと書き換えたり、推測したりすることはありません。起動時にグラントが拒否された場合は、アカウントがないと報告する代わりに、その文言を含む単一の
account_statusツールが登録されます。
取り消し
取り消しは、グラントを作成した場所で行います:Settings → Connected apps → Revoke。取り消しは恒久的で、ただちに有効になります。ご自身のセッションや他のアプリには影響しません。代わりに Freeze を使うと、グラントを一時停止でき、後から解除できます。
その後、ローカルに保存されたトークンのコピーを削除します:
npx @compute-finance/mcp setup --forget-account
これは OS の認証情報ストアのみを消去します。CF_APP_GRANT_COMMAND または CF_APP_GRANT で指定したトークンは、指定した場所に残ります。その場所から削除してください。
コストフック
setup コマンドは、~/.claude/settings.json に UserPromptSubmit フックをインストールします。メッセージを送信するたびに、このフックは現在のセッションのトランスクリプトを読み取り、稼働中のオラクルで価格を算出して、additionalContext を介してコストの概要を Claude のコンテキストに挿入します。その後、Claude は応答の末尾に 💰 Compute.Finance · … の行を追加します。
実行条件 — 次の3つの条件をすべて満たした場合にのみ、フックが実行されます:
- セッションのコストが $1 を超えている
- セッションにユーザープロンプトが 5件以上ある
- 前回の実行から 10分以上経過している(セッションごと)
いずれかの処理に失敗した場合(オラクルの停止、トランスクリプトの欠落、解析エラー)、フックは何も表示せずに終了します。プロンプトを妨げることはありません。
手動インストール
setup で settings.json に書き込めない場合は、フックを手動で追加します:
{
"hooks": {
"UserPromptSubmit": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "npx @compute-finance/mcp hook-prompt"
}
]
}
]
}
}
アンインストール
~/.claude/settings.json から UserPromptSubmit エントリーを削除します。
プライバシー
すべてのデータはお使いのマシン内にとどまります。アカウントを接続していない場合、ネットワーク呼び出しは api.compute.finance への認証不要の GET リクエストのみです。具体的には、/v1/oracle/* 配下のオラクルエンドポイントと、オラクルの応答形式を記録するために起動時に一度だけ読み込まれる /openapi.json です。セッションログ(~/.compute-finance/sessions.jsonl、~/.compute-finance/inferences.jsonl)がアップロードされることはありません。
アカウントを接続すると、グラントトークンは /v1/account-tools および /v1/account-tools/call に対する Authorization: Bearer ヘッダーとして api.compute.finance に送信されます。それ以外に送信されることはありません。トークンが設定ファイルに書き込まれること、プロセス引数として渡されること、標準出力、標準エラー出力、ツールの回答に表示されることはありません。診断情報に含まれる場合も、書き込む前に伏せ字にされます。セッションログには引き続きローカルでの測定値のみが記録され、アップロードされることはありません。
リンク
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。