mcpField
S
statlyte — live LLM pricing

statlyte — live LLM pricing

ローカル
statlyte.comAI・エージェント011 週間前に更新

statlyte — live LLM pricing について

statlyteは、複数プロバイダーが公開するLLMの価格、コンテキストウィンドウ、モデルIDを提供するJavaScriptパッケージ兼MCPサーバーです。開発者やエージェントが最新情報を照会し、費用を見積もり、告知済みの価格変更を確認できます。

主な機能

  1. 01モデルIDと詳細の検索
  2. 02ベンダー公開価格の取得
  3. 03ワークロード費用の見積もり
  4. 04コストによるモデルの順位付け
  5. 05予定価格変更の確認
  6. 06同梱データによるオフライン利用

活用シーン

  1. 01ワークロードのAPI費用を見積もる
  2. 02アプリで使うモデルのコストを比較する
  3. 03ビルド時に予定された値上げを確認する
  4. 04アプリのモデル価格データを更新する

MCP 対応

MCPサーバーは、モデル一覧、価格取得、費用見積もり、ワークロード向けの低コスト候補検索、予定価格変更の確認に使うツールを提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"richardwilkinson9-statlyte": {
"command": "npx",
"args": [
"-y",
"statlyte"
]
}
}
}
起動コマンドnpx -y statlyte

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

パッケージ
npmstatlyte0.1.1

ツール

5

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

パラメーター型必須説明
providerstringいいえ例:anthropic、openai、google、mistral
includeRetiredbooleanいいえ非推奨および廃止されたモデルを含めます

詳細

statlyte

主要なLLM APIの最新料金、コンテキストウィンドウ、識別子を取得できるため、古くなるモデル一覧をコードにハードコードせずに済みます。

LLMを扱うアプリには、次のようなコードが貼り付けられていることがよくあります。

const PRICES = {
  'gpt-4o': { input: 2.5, output: 10 },
  'claude-3-5-sonnet': { input: 3, output: 15 },
  // …written once, wrong within a month
};

その後、モデルが廃止され、新モデルが登場し、導入時の料金が終了すると、コストダッシュボードは知らないうちに誤った情報を表示するようになります。このパッケージは、代わりに最新の数値を取得します。

  • 13のプロバイダーにまたがる159モデル — Anthropic、OpenAI、Google、xAI、DeepSeek、Mistral、Together AI、Voyage AI、Groq、Cohere、Fireworks AI、Deepgram、AssemblyAI
  • 各ベンダーの公式料金ページを3時間ごとに読み取り、参照元URLを記録します
  • 依存関係ゼロ。 Node、Bun、Deno、Cloudflare Workers、ブラウザーに対応
  • バンドルされたスナップショットにフォールバックするため、ネットワークが不安定でもリクエスト処理が失敗しません
  • MIT。 データは無料で、APIキーも不要です
npm i statlyte

使い方

import { getModel, costOf, rankByCost, scheduledChanges } from 'statlyte';

// What does this actually cost me?
await costOf('claude-sonnet-5', { input: 12_000, output: 800 });
// => 0.032

// Look up by statlyte id or the vendor's own API id
const m = await getModel('gpt-5-mini');
m.contextWindow;        // 400000
m.prices.input;         // 0.25  (USD per million tokens)
m.prices.cache_read;    // 0.025

// Cheapest model for a real monthly workload
const ranked = await rankByCost({ inputPerMonth: 620e6, outputPerMonth: 210e6 });
ranked[0].name;         // cheapest first
ranked[0].monthlyCost;  // USD/month

// Price rises vendors have already announced
await scheduledChanges();
// [{ name: 'Claude Sonnet 5', effectiveOn: '2026-09-01',
//    from: { input: 2, output: 10 }, to: { input: 3, output: 15 },
//    reason: 'Introductory pricing ends' }]

すべてのデータはプロセス内で6時間キャッシュされます。どの呼び出しにも { offline: true } を渡すと、バンドルされたスナップショットのみを使い、ネットワークには一切アクセスしません。

音声・文字起こしモデル(Deepgram、OpenAI Whisper/TTS)はトークン単位の料金ではありません。代わりに m.nonTokenPrice({ unit: 'per_minute' | 'per_million_characters', amount })を持ち、m.prices は {} です。こうしたモデルに対して costOf() を呼び出すと、黙って0を返すのではなく、明確なエラーが発生します。まず m.nonTokenPrice を確認するか、m.prices.input != null で絞り込んでください。

料金が変更される前にビルドを失敗させる

これが実際に便利な機能です。scheduledChanges() は、ベンダーが発表済みでまだ適用していない値上げを返します。請求書が届く前に、ビルド時点で把握できます。

// scripts/check-model-costs.mjs
import { scheduledChanges } from 'statlyte';

const MODELS_WE_USE = ['anthropic/claude-sonnet-5', 'openai/gpt-5-mini'];
const soon = (await scheduledChanges())
  .filter((c) => MODELS_WE_USE.includes(c.id))
  .filter((c) => new Date(c.effectiveOn) - Date.now() < 60 * 86400_000);

if (soon.length) {
  console.error('Price change coming:');
  for (const c of soon) {
    console.error(`  ${c.name} on ${c.effectiveOn}: ` +
      `in $${c.from.input}→$${c.to.input}, out $${c.from.output}→$${c.to.output} per MTok`);
  }
  process.exit(1);
}

MCP サーバー

アシスタントの学習データに含まれる料金は数週間で古くなり、推測した数値は何もないより悪いものです。この機能を使えば、エージェントに最新の数値を提供できます。

claude mcp add statlyte -- npx -y statlyte
その他のMCPクライアント
{
  "mcpServers": {
    "statlyte": {
      "command": "npx",
      "args": ["-y", "statlyte"]
    }
  }
}

ツール:list_models、get_model_pricing、estimate_cost、cheapest_for_workload、scheduled_price_changes。

io.github.richardwilkinson9/statlyte として、公式MCP Registryにも掲載されています。

JSONだけを取得する

インストール不要、キー不要、CORSはオープンです。

https://statlyte.com/api/v1/models
https://statlyte.com/api/v1/models/anthropic/claude-opus-5
https://statlyte.com/api/v1/changes

生データセットはこのリポジトリ内の models.json と changes.json にもあり、コミットによって更新されます。そのため、差分を確認したり、バージョンを固定したり、ベンダーに取り込んだりできます。

数値の出所

ジョブが3時間ごとに各プロバイダーの公開料金ページを読み直します。数値が前回記録したものと異なる場合は、タイムスタンプと読み取り元のURLを添えて、新しい記録を作成します。推測も推定も行いません。料金が公開されていない場合は、掲載しません。

正直にお伝えしておきたい注意点が2つあります。

  1. 掲載しているのは定価です。 個別交渉料金、エンタープライズ料金、地域別料金、利用確約による料金は異なり、場合によっては大きく異なります。商用上の判断を行う前に、ベンダーにご確認ください。
  2. 安いからといって代替可能とは限りません。 ここで記録するのはモデルの料金であり、できることではありません。rankByCost は、8Bモデルが最先端モデルより安いとそのまま示します。それは算術であり、助言ではありません。

ベンダーのページと異なる数値を見つけた場合は、ベンダーの情報が正しく、こちらが誤っています。issueを作成してください。次回の実行で修正されます。

その他の情報

statlyte.comでは、人間向けの情報を提供しています。変更履歴、任意の利用量で2つのモデルを比較できる計算ツール、発表済みの変更をまとめたカレンダーがあります。無料で、アカウントも不要です。

MITライセンスです。表示していただけるとありがたいですが、必須ではありません。

コメント

MCP は初めてですか?

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

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