AI Model Watch

io.github.markksantos由 GitHub 帳號 markksantos 發布v1.2.0更新於 Nov 1, 2026

List the models each AI provider's API serves and see which are new since the last check.

發布方自己的服務:model.tools — Zero-Auth Agent Utilities

已驗證STDIO僅桌面開發者工具AI 與機器學習

概覽

AI 產生的概覽

本機 MCP 伺服器,讓助理列出各 AI 供應商 API 提供的模型,並查看自上次檢查以來新增的模型 ID。

可以做什麼
  • 列出指定供應商目前提供的模型 ID,可用子字串篩選
  • 比對已儲存的狀態檔,回報各供應商自上次檢查以來新增的模型 ID
  • 涵蓋 OpenRouter、OpenAI、Anthropic、Google Gemini、Mistral、xAI 與 DeepSeek,未設定金鑰的供應商會被略過
適用情境
適合讓助理直接回答某供應商的 API 清單中是否出現新模型,或在對話中比較多家供應商目前的模型目錄。
執行需求
以 stdio 在本機執行,透過 --mcp 參數啟動,可用 npx、Homebrew、Claude Desktop 安裝檔或 JSON 用戶端設定。npx 方式需要 Node 18+。OpenRouter 不需金鑰;其他供應商需在環境變數中提供金鑰(OPENAI_API_KEY、ANTHROPIC_API_KEY、GEMINI_API_KEY 或 GOOGLE_API_KEY、MISTRAL_API_KEY、XAI_API_KEY、DEEPSEEK_API_KEY)。需要連線至各供應商 API 的網路。
安裝前請注意
供應商 API 金鑰從環境變數讀取,只會傳送給對應的供應商;Claude Code 外掛會把環境中的金鑰傳給伺服器。它會寫入狀態檔(預設位於使用者快取目錄),該檔案決定什麼算作「新增」。清單中出現模型 ID 不代表該模型已能回應請求,created 日期也只是供應商自行回報的。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 AI Model Watch,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

ai-model-watch

List the models each AI provider's API serves, and see what's new since the last time you looked. One command, no dependencies, Node 18+. It also runs as an MCP server, so Claude or Cursor can check for you.

New models often show up in a provider's /models list before any announcement. ai-model-watch saves each provider's list, and on the next run prints only the model IDs that weren't there before. Run it by hand, from cron, or in CI with --exit-code.

[ai-model-watch recording a baseline of 470 OpenRouter models, then reporting 2 new ones]

$ ai-model-watch -p openrouter2026-10-17T09:26:01.231ZOpenRouter: 2 new  + deepseek/deepseek-v4.1-flash-1017  DeepSeek: DeepSeek V4.1 Flash 1017 (listed as created 2026-10-17)  + reflection/beam-1.0-501b-a23b  Reflection: Beam 1.0 501B A23B (listed as created 2026-10-16)

The first run records a baseline (OpenRouter: 470 models recorded as the baseline), so you only hear about changes after that.

Providers

ProviderEndpointKey
OpenRouterGET https://openrouter.ai/api/v1/modelsnone, works out of the box
OpenAIGET https://api.openai.com/v1/modelsOPENAI_API_KEY
AnthropicGET https://api.anthropic.com/v1/models (paginated)ANTHROPIC_API_KEY
Google GeminiGET https://generativelanguage.googleapis.com/v1beta/models (paginated)GEMINI_API_KEY or GOOGLE_API_KEY
MistralGET https://api.mistral.ai/v1/modelsMISTRAL_API_KEY
xAIGET https://api.x.ai/v1/modelsXAI_API_KEY
DeepSeekGET https://api.deepseek.com/modelsDEEPSEEK_API_KEY

Listing models is free on every one of these APIs. Nothing is generated and no tokens are spent. A provider whose key isn't set is skipped. Keys are sent only to that provider, never across a redirect, and never printed.

Install and run

brew install markksantos/tap/ai-model-watch   # macOS / Linux (Homebrew)# or, with Node 18+npx github:markksantos/ai-model-watch# orgit clone https://github.com/markksantos/ai-model-watch && node ai-model-watch/bin/ai-model-watch.js
ai-model-watch [options]  -p, --providers <list>  openrouter,openai,anthropic,gemini,mistral,xai,deepseek (default: all with a key)  -s, --state <file>      where the last-seen lists live (default: ~/.cache/ai-model-watch/state.json)  -w, --watch <seconds>   keep running and check every N seconds (minimum 60)      --removed           also print models that disappeared      --json              JSON output      --exit-code         exit 1 when anything new appears (for cron and CI)  -q, --quiet             print only new models      --mcp               run as an MCP server on stdio

MCP server (Claude, Cursor, VS Code)

--mcp runs it as a Model Context Protocol server on stdio, so an assistant can ask what's new itself. Two tools:

  • check_new_models: the model IDs each provider started listing since the last check (same state file as the CLI).
  • list_models: what one provider lists right now, with an optional substring filter.

Claude Code:

claude mcp add ai-model-watch -- npx -y github:markksantos/ai-model-watch --mcp

Or as a Claude Code plugin (this repo is its own marketplace):

/plugin install ai-model-watch --marketplace markksantos/ai-model-watch

On Claude Code versions older than 2.1.275, run /plugin marketplace add markksantos/ai-model-watch, then /plugin install ai-model-watch@ai-model-watch. The plugin passes any provider keys set in your environment through to the server, and adds an ai-model-watch skill so Claude reaches for the tools when you ask whether a model is out yet.

The skill on its own (Claude Code, Cursor, Codex and other agents), from claude-plugins.dev:

npx skills-installer install @markksantos/ai-model-watch/ai-model-watch

Claude Desktop, one click: download ai-model-watch-1.2.0.mcpb and open it. Desktop asks for the optional keys in its settings.

Claude Desktop, Cursor and other clients (mcpServers in their JSON config):

json
{  "mcpServers": {    "ai-model-watch": {      "command": "npx",      "args": ["-y", "github:markksantos/ai-model-watch", "--mcp"]    }  }}

OpenRouter works without a key. To include another provider, add its key from the Providers table to an env object in the same entry.

Cron

*/15 * * * * OPENAI_API_KEY=... ANTHROPIC_API_KEY=... ai-model-watch -q >> ~/model-drops.log

GitHub Actions

examples/github-action.yml runs the check on a schedule, caches the state file between runs, and fails the job (so GitHub emails you) when a new model appears.

Library

npm install github:markksantos/ai-model-watch, then:

js
const { check, fetchProvider } = require('ai-model-watch');
const report = await check({ providers: ['openrouter', 'anthropic'] });for (const p of report.providers) {  for (const m of p.added || []) console.log(p.label, m.id);}

fetchProvider(id, { env, fetch }) returns { status: 'ok' | 'skipped' | 'error', models: [{ id, name, created }] }. check() diffs against the state file and saves the new lists. A provider that errors keeps its last good list. Errors include HTTP and network failures, a redirect, a body that isn't that provider's list shape, a malformed model ID, and pagination that doesn't finish. So a bad response never empties the saved list or makes the next run report the whole catalog as new.

What a list can't tell you

A model ID in a /models list means the provider lists it. It doesn't prove the model answers requests yet, and some providers list models days before they are generally available. created is whatever date the provider reports, not when the model appeared.

The hosted version, ArtificialWatch, polls these APIs plus the public catalogs every 60 seconds and confirms a detection on a second sweep before anything fires. Then it alerts you by email and Chrome push (free), or by text or phone call. Use it if you'd rather not keep a cron job running.

License

MIT

來源:README.md,提交 bd4874c

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:該軟體包類型無法在沙箱中執行。

版本歷史

2
  1. v1.2.0最新Nov 1, 2026
  2. v1.1.0Oct 18, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Model 整合