AI Wave

AI model releases, price changes and deprecations in one feed: chat, embedding, speech, video.

使うべきか

品質と安全性

A
説明の品質
96%
スキーマの完全性
85%
命名の品質
95%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(1)

  • LOWTool 'estimate_cost' description lacks action verbestimate_cost 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,251トークン数(ツール定義)
~966 B一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 0.98%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "ai-wave": {
      "command": "npx",
      "args": [
        "@elopstudio/ai-wave-mcp"
      ]
    }
  }
}

実行可能なパッケージ

npm@elopstudio/ai-wave-mcp1.0.3stdio

リモートエンドポイント

https://aiwave.elopstudio.com/api/mcpstreamable-http

できること

ツール一覧

ツール(8)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢list_model_changes(since, type, model, limit)

Changes across AI models: new releases, price changes, API changes and deprecations. Normalized from vendor release notes, Hugging Face, the OpenRouter catalog, GitHub and the LiteLLM price map, deduplicated per model, each marked official or pending review. Poll with `since` (unix seconds) and feed the returned `latest` back next time.

入力スキーマ

{
  "type": "object",
  "properties": {
    "since": {
      "type": "number",
      "description": "Unix seconds. Only changes detected after this, oldest first."
    },
    "type": {
      "type": "string",
      "enum": [
        "new_model",
        "price_change",
        "api_change",
        "open_source_surge",
        "deprecation"
      ]
    },
    "model": {
      "type": "string",
      "description": "Vendor slug, e.g. claude"
    },
    "limit": {
      "type": "number",
      "description": "1-100, default 20"
    }
  }
}
🟢get_model(id)

Pricing, context length and catalog status for one model. Accepts an OpenRouter id (anthropic/claude-opus-5) or a Hugging Face repo id.

入力スキーマ

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}
🟢get_price_history(id)

Price history for one model: when the price changed and to what. The public catalog only exposes the current price, so this answers 'was this cheaper last month?'. Each entry holds until the next one. History starts when AI Wave began recording, not when the model launched.

入力スキーマ

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "OpenRouter id or Hugging Face repo id"
    }
  },
  "required": [
    "id"
  ]
}
🟢search_models(vendor, maxInputPrice, minContext, minIntelligence, sortBy, ...)

Shortlist models by budget, context and capability, ranked by measured performance. Use this to answer 'which model should I use for X': it returns benchmark scores alongside price so the trade-off is visible in one call. Sort by a subject (math, coding, science, reading) to find a model good at one thing.

入力スキーマ

{
  "type": "object",
  "properties": {
    "vendor": {
      "type": "string",
      "description": "OpenRouter namespace, e.g. anthropic"
    },
    "maxInputPrice": {
      "type": "number",
      "description": "USD per 1M input tokens"
    },
    "minContext": {
      "type": "number"
    },
    "minIntelligence": {
      "type": "number",
      "description": "Lowest acceptable overall index. Leaders sit near 53; the median is 16."
    },
    "sortBy": {
      "type": "string",
      "enum": [
        "intelligence",
        "korean",
        "buzz",
        "science",
        "math",
        "coding",
        "reading",
        "knowledge",
        "instruction",
        "hardReasoning"
      ],
      "description": "Ranking basis. Default 'intelligence' (overall). 'buzz' is popularity, not skill."
    },
    "outputs": {
      "type": "string",
      "enum": [
        "text",
        "image",
        "audio",
        "video"
      ],
      "description": "What the model produces. A model that accepts video but writes text is 'text', not 'video': filter on what you need made, not what it can read."
    },
    "mode": {
      "type": "string",
      "enum": [
        "chat",
        "embedding",
        "rerank",
        "audio_transcription",
        "audio_speech",
        "video_generation"
      ],
      "description": "What the model does. Non-chat modes are priced in other units: check price.unit."
    },
    "accepts": {
      "type": "string",
      "enum": [
        "text",
        "image",
        "audio",
        "video",
        "file"
      ],
      "description": "What the model must be able to take in, e.g. image for vision tasks."
    },
    "limit": {
      "type": "number",
      "description": "1-50, default 10"
    }
  }
}
🟡compare_models(ids, monthlyMillionTokens)

Put two or more models side by side: price, context, benchmark scores per subject, and what each costs per month at a given volume. Use this instead of calling get_model repeatedly: it aligns the fields and marks which subjects a model has not been tested on, so a missing score is not read as a low one.

入力スキーマ

{
  "type": "object",
  "properties": {
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "2-6 OpenRouter ids, e.g. ['anthropic/claude-opus-5','openai/gpt-5.2']"
    },
    "monthlyMillionTokens": {
      "type": "number",
      "description": "Volume for the cost estimate. Default 10 (10M tokens a month)."
    }
  },
  "required": [
    "ids"
  ]
}
⚪estimate_cost(id, monthlyMillionTokens, inputShare)

What one model costs per month at a given token volume, in USD and KRW. Token prices are per million and hard to reason about directly; this turns them into a monthly bill. Input and output are mixed 75/25 unless you pass your own split.

入力スキーマ

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "OpenRouter id or Hugging Face repo id"
    },
    "monthlyMillionTokens": {
      "type": "number",
      "description": "Default 10"
    },
    "inputShare": {
      "type": "number",
      "description": "0-1, share of tokens that are input. Default 0.75"
    }
  },
  "required": [
    "id"
  ]
}
🟢get_today

Today in one call: the top 5 models, which ones climbed, whose pricing changed in the last 24h, and what was newly listed in the last 7 days. Use this instead of paging list_model_changes and re-deriving the summary: price changes are already collapsed to one per model, with the raw count kept.

入力スキーマ

{
  "type": "object",
  "properties": {}
}
🟢find_replacement(id)

What to switch to when a model is gone or you need a fallback. Ranked by closeness in measured performance, not by vendor or price: what you usually need to preserve first is the quality of the output. Candidates whose context window is less than half the original are excluded. Returns the score, price and context deltas so you can judge; we do not pick for you.

入力スキーマ

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "OpenRouter id or Hugging Face repo id"
    }
  },
  "required": [
    "id"
  ]
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 8 件
検証済みバージョンは記録されていませんツール 8 件