Modelpulse

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 7, 2026

AI model releases, price changes, comparisons and cost estimates in one normalised feed.

VerifiedSTDIODesktop onlyData & AnalyticsAI & ML

Overview

AI-generated overview

Local bridge to a hosted feed of AI model releases, price changes, comparisons and cost estimates, exposed as MCP tools.

What you can do
  • List and filter the change feed of new releases, price changes, API changes and deprecations
  • Look up one model's pricing, context length and catalogue status, plus its price history
  • Search and shortlist models by budget, context, capability and benchmark scores
  • Compare two to six models side by side and estimate monthly cost in USD and KRW
  • Get a daily digest of top models, climbers and recent changes, and find replacements for retired models
When to use it
Useful when choosing between AI models, tracking vendor releases and price moves, budgeting token spend, or finding a substitute after a model is deprecated. It is a read-only information feed rather than a tool for running models.
Requirements
Runs locally via npx (Node.js) or the published Docker image; no credentials are required by default. It needs network access to the upstream hosted MCP endpoint, which can be overridden with AIWAVE_MCP_URL. An optional AIWAVE_API_KEY is sent as a bearer token when set.
Before you install
Every tool call is forwarded to a third-party hosted endpoint, so queries leave your machine. The optional AIWAVE_API_KEY is sent upstream as an Authorization bearer header. Cost figures are estimates from the upstream feed, and price history only starts when the upstream began recording.

Installation

In SourceWeft

  1. Open Modelpulse in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

modelpulse

modelpulse is a thin local bridge to AI Wave's hosted MCP server, a single normalised feed over the AI model landscape: vendor release notes, the Hugging Face and OpenRouter catalogues, GitHub and the LiteLLM price map, deduplicated per model. It tracks what changed, what things cost, and what to switch to when a model goes away.

The bridge keeps no catalogue and computes nothing. It serves the upstream server's tool list locally — exactly as captured from the live endpoint — and forwards each tool call upstream, returning the result untouched.

Tools

  • list_model_changes — the change feed: new releases, price changes, API changes and deprecations, each entry marked official or pending review. Optional: since (unix seconds; poll by feeding the returned latest back in), type (new_model, price_change, api_change, open_source_surge, deprecation), model (vendor slug, e.g. claude), and limit (1-100, default 20).
  • get_model — pricing, context length and catalogue status for one model (id, required: an OpenRouter id such as anthropic/claude-opus-5, or a Hugging Face repo id).
  • get_price_history — when one model's price changed and to what (id, required). History starts when AI Wave began recording, not when the model launched.
  • search_models — shortlist models by budget, context and capability, with benchmark scores next to prices. Optional: vendor, maxInputPrice (USD per 1M input tokens), minContext, minIntelligence, sortBy (a subject such as coding or math, or buzz for popularity), outputs, mode, accepts, and limit (1-50, default 10).
  • compare_models — two to six models side by side (ids, required): price, context, per-subject scores (untested subjects are marked, not zeroed), and the monthly cost at a volume (monthlyMillionTokens, default 10).
  • estimate_cost — one model's monthly bill in USD and KRW (id, required), from monthlyMillionTokens (default 10) and an inputShare split (0-1, default 0.75 input / 0.25 output).
  • get_today — today in one call: the top 5 models, climbers, pricing changes from the last 24h, and new listings from the last 7 days. No arguments.
  • find_replacement — what to switch to when a model is gone (id, required), ranked by closeness in measured performance, with score, price and context deltas. Candidates with less than half the original's context window are excluded.

Configuration

  • AIWAVE_MCP_URL (optional) — override the upstream endpoint. Defaults to https://aiwave.elopstudio.com/api/mcp. (The override hook is this rebuild's own labelled reconstruction.)
  • AIWAVE_API_KEY (optional) — when set, every upstream request carries Authorization: Bearer <key>. When it is unset, no auth header is sent; the capture this rebuild is based on was taken keyless. (This forwarding is this rebuild's own labelled reconstruction.)

Forwarding mechanics

On the first tool call the client opens a streamable HTTP session with the upstream: a JSON-RPC initialize request (protocolVersion 2025-03-26, clientInfo name modelpulse), then a notifications/initialized notification, then the tools/call request carrying the caller's arguments unchanged. When the upstream answers initialize with an Mcp-Session-Id header, that value rides on every later request of the session, which is reused for the life of the process. Replies may arrive as plain JSON or as server-sent events; both are read.

Successful upstream results pass through verbatim, including any isError flag the upstream sets. Failures — a JSON-RPC error, a non-2xx status, an unreadable response, or a request that cannot be completed — come back as an isError result whose text starts with modelpulse error: (this rendering is this rebuild's own labelled reconstruction).

CLI

Each tool is also a subcommand taking one JSON argument string (omit it for tools that take none):

bash
npx @reneturcios/modelpulse get_todaynpx @reneturcios/modelpulse get_model '{"id":"anthropic/claude-opus-5"}'npx @reneturcios/modelpulse compare_models '{"ids":["anthropic/claude-opus-5","openai/gpt-5.2"]}'npx @reneturcios/modelpulse --version

Exit codes: 0 on success, 1 on an isError result, 2 on a usage error.

MCP server

bash
npx -y @reneturcios/modelpulse mcp

MCP client config:

json
{  "mcpServers": {    "modelpulse": {      "command": "npx",      "args": ["-y", "@reneturcios/modelpulse", "mcp"]    }  }}

Docker

bash
docker run -i ghcr.io/cloudcorprecords/modelpulsedocker run --rm ghcr.io/cloudcorprecords/modelpulse --version

The container's default command is mcp, so the first form is a stdio MCP server; any other arguments reach the CLI normally.

Development

bash
npm installnpm run buildnpm testnpm run dev

The test suite runs entirely against a stubbed JSON-RPC upstream — no live network calls.

License

MIT — see LICENSE.

Source: README.md at commit a3ae0f0

Tools

8

list_model_changes

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.

Parameterstypelimitmodelsince

get_model

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

Parametersidrequired

get_price_history

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.

Parametersidrequired

search_models

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.

ParametersmodelimitsortByvendoracceptsoutputsminContextmaxInputPriceminIntelligence

compare_models

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.

ParametersidsrequiredmonthlyMillionTokens

estimate_cost

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.

ParametersidrequiredinputSharemonthlyMillionTokens

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.

Takes no parameters.

find_replacement

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.

Parametersidrequired

Version history

1
  1. v0.1.0LatestNov 4, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts