AI Stupid Level

io.github.StudioPlatforms由 GitHub 账号 StudioPlatforms 发布v0.1.1更新于 Oct 26, 2026

LLM benchmark rankings, drift status, incidents and Smart Router previews from AI Stupid Level.

概览

AI 生成的概览

读取 AI Stupid Level 的大模型排行榜、漂移状态、故障与供应商状态,并可预览或经其 Smart Router 发送提示词。

可以做什么
  • 读取排行榜与模型信息:按综合、编程、推理或工具调用得分排名,查看单个模型详情、得分历史与漂移状态
  • 查看可靠性:近期供应商级与模型级故障、供应商 API 健康探测结果,以及 ASL 全球指数
  • 获取推荐:当前最佳编程、最可靠、最快、最超值、性价比差、暂避等推荐及理由
  • 预览路由:查看 Smart Router 会为某提示词选择哪个模型,含得分、预估成本、原因与备选链
  • 经路由器发送提示词并查看用量:返回答案、所用模型、延迟与 token 数,以及本月路由用量和今日剩余数据请求数
  • 提供 choose_model 提示词,引导助手为任务挑选模型
适用场景
适合需要以基准数据为依据做模型选择时:比较编程或推理用哪个模型、判断某模型近期是否变差,或在真正发起请求前先看路由器会选哪个模型。
运行要求
通过 npx 以 stdio 在本地运行,需要 Node.js 18 或更高版本。排行榜、历史、漂移、故障、供应商状态、推荐和全球指数需要 ASL_DATA_KEY 数据密钥;preview_route、ask_router 和路由用量需要 ASL_ROUTER_KEY 路由密钥,且路由账户中至少有一个供应商密钥。两个密钥可只配其一,缺少密钥的工具会返回提示说明需要哪个密钥。
安装前请注意
需要两个密钥:ASL_DATA_KEY 与 ASL_ROUTER_KEY。ask_router 不是只读操作:它会把提示词经路由器发送,路由器用你自己的供应商密钥调用模型,因此供应商会向你计费,请求也计入你的套餐;可用沙箱模式获得零成本的模拟回答。免费数据密钥每天限 10 次请求、每分钟 1 次,因配额被拒的请求仍计入配额。转载数据须注明来源 aistupidlevel.info。

安装

在 SourceWeft 中

  1. 打开 控制台中的 AI Stupid Level,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

@aistupidlevel/mcp

An MCP server for AI Stupid Level (ASL). It lets Claude, Cursor, VS Code or any other MCP client read ASL's LLM leaderboard, score history, drift status, incidents and provider status. With a router key it can also ask the ASL Smart Router which model it would pick for a prompt, or send the prompt through the router.

Ask your assistant things like:

  • "Which model is best for coding right now, according to AI Stupid Level?"
  • "Has Claude Opus 5.5 got worse this week?"
  • "Were there any provider incidents in the last few days?"
  • "Which model would the Smart Router pick for this prompt, and why?"

It runs locally over stdio and needs Node.js 18 or later.

Keys

The tools use two different keys, and you only need the one for the tools you want.

KeyUsed byWhere to get it
ASL_DATA_KEY (asl_live_…)leaderboard, model, history, drift, incidents, providers, recommendations, global indexhttps://aistupidlevel.info/account/data-keys (free tier available)
ASL_ROUTER_KEY (aism_…)preview_route, ask_router, router usagehttps://aistupidlevel.info/router/keys, plus at least one provider key in your account

A tool whose key is missing does not fail the server. It answers with a message that says which key it needs and where to create it.

ASL_API_KEY is also accepted: it is used as the data key if it starts with asl_, and as the router key if it starts with aism_.

Free-tier limits

A free Data API key allows 10 requests a day and 1 a minute. Paid plans allow 10,000 a day or more (pricing). The free tier is meant for trying the API, so the server is careful with it:

  • Every answer is cached in memory for 15 minutes (ASL_CACHE_TTL). Asking the same question again, or for another vendor or a shorter list from the same leaderboard, makes no request, and model names are looked up in the cached leaderboard.
  • One tool call makes at most one Data API request. The exception is a model given by name before any leaderboard has been fetched, which takes one extra request to look up the model ids.
  • Once the daily quota is used up, the server stops sending requests until 00:00 UTC. A request refused for quota still counts against it.
  • If a fresh answer cannot be fetched, the server returns the last cached answer (up to 24 hours old) and says how old it is.
  • Every answer ends with the number of requests left today.

On a free key, calling several different data tools within a minute hits the per-minute limit. The tool then says when to try again. If the wait is 15 seconds or less (ASL_MAX_WAIT), the server waits and retries once by itself.

The newest-run view (period: "latest") needs a paid key. Free keys read the 24-hour, 7-day and 30-day views.

preview_route and get_usage are not counted against your Smart Router plan. ask_router is a real routed request: the router calls the model with your own provider key, so the provider bills you and the request counts against your plan. Pass sandbox: true, or set ASL_SANDBOX=true, to get mock answers from the real routing at no cost.

Install

The package runs with npx, so there is nothing to install first. Put your keys in place of the placeholders, and leave out any key you do not have.

Claude Code

sh
claude mcp add aistupidlevel -e ASL_DATA_KEY=asl_live_... -e ASL_ROUTER_KEY=aism_... -- npx -y @aistupidlevel/mcp

Add -s user to make it available in every project.

Claude Desktop

Settings → Developer → Edit Config, then add the server to claude_desktop_config.json:

json
{  "mcpServers": {    "aistupidlevel": {      "command": "npx",      "args": ["-y", "@aistupidlevel/mcp"],      "env": {        "ASL_DATA_KEY": "asl_live_...",        "ASL_ROUTER_KEY": "aism_..."      }    }  }}

Restart Claude Desktop afterwards.

Cursor

Add the following to ~/.cursor/mcp.json (for all projects) or .cursor/mcp.json (for one project):

json
{  "mcpServers": {    "aistupidlevel": {      "command": "npx",      "args": ["-y", "@aistupidlevel/mcp"],      "env": {        "ASL_DATA_KEY": "asl_live_...",        "ASL_ROUTER_KEY": "aism_..."      }    }  }}

VS Code

Add the following to .vscode/mcp.json (or to your user configuration with MCP: Open User Configuration). VS Code prompts for the keys and stores them securely:

json
{  "inputs": [    { "type": "promptString", "id": "asl-data-key", "description": "AI Stupid Level Data API key (asl_live_...)", "password": true },    { "type": "promptString", "id": "asl-router-key", "description": "AI Stupid Level router key (aism_...)", "password": true }  ],  "servers": {    "aistupidlevel": {      "type": "stdio",      "command": "npx",      "args": ["-y", "@aistupidlevel/mcp"],      "env": {        "ASL_DATA_KEY": "${input:asl-data-key}",        "ASL_ROUTER_KEY": "${input:asl-router-key}"      }    }  }}

Other clients

Any client that can start a stdio server can run it: the command is npx -y @aistupidlevel/mcp, and the keys go in the environment variables listed under Configuration.

Docker

The image builds the server from source. From the repository root:

sh
docker build -f packages/mcp/Dockerfile -t aistupidlevel-mcp .docker run -i --rm -e ASL_DATA_KEY=asl_live_... -e ASL_ROUTER_KEY=aism_... aistupidlevel-mcp

Tools

All tools except ask_router are read-only.

ToolKeyWhat it returns
get_leaderboarddataTracked models ranked by combined, coding, reasoning or tool-use score, or by score per list-price dollar. Each row has the score, trend, status and stability, and the model ids the other tools take. Filter by vendor; choose the view (24h, 7d, 1m, or latest on a paid key).
get_modeldataOne model's details: vendor, version, notes, tool-calling support and days tracked.
get_model_historydataOne model's score for each run in the window, with a summary and the per-axis results of the newest run.
get_drift_statusdataOne model's drift signature: regime, current score against its baseline, the change-point detector for each suite, the last significant change, and which axes moved.
get_incidentsdataRecent incidents (provider-wide and per model) with severity, the models affected, when each was detected and when it was resolved.
get_provider_statusdataEach provider's API status from ASL's health probes, with the probe's response time and the last error.
get_recommendationsdataASL's current picks (best for coding, most reliable, fastest, best value, poor value, avoid now), each with its reason and the evidence behind it.
get_global_indexdataASL's global index across the tracked models, now and over the last 24 hours.
preview_routerouterThe model the Smart Router would pick for a prompt, its score and estimated cost, the reason, and the fallback chain. Nothing is called or counted.
ask_routerrouterSends a prompt through the Smart Router and returns the answer, the model and provider that answered, why it was chosen, the latency and the tokens used. Set sandbox: true for a mock answer at no cost.
get_usageeitherThis month's router usage and budget, and the Data API requests left today.

Models can be given by numeric id, by name (claude-opus-5-5) or by display name (Claude Opus 5.5).

preview_route and ask_router take a routing mode (auto, auto-best, auto-coding, auto-reasoning, auto-tooling, auto-task, auto-value, auto-value-coding, auto-value-reasoning, auto-value-tooling, auto-fastest-quality, auto-consistent, auto-fastest, auto-cheapest), or pin_model to name a model directly. The router documentation explains each mode.

The server also provides one prompt, choose_model, which walks the assistant through choosing a model for a task you describe.

Answers from the Data API end with a source line. The data is licensed with attribution required: cite aistupidlevel.info when you republish it.

Configuration

VariableDefaultMeaning
ASL_DATA_KEYnoneData API key (asl_live_…)
ASL_ROUTER_KEYnoneSmart Router key (aism_…)
ASL_SANDBOXfalsetrue puts every Smart Router call in sandbox mode: real routing, mock answer, nothing spent or counted
ASL_CACHE_TTL900Seconds a Data API answer is reused
ASL_MAX_WAIT15When the per-minute limit asks for a wait this short (seconds) or shorter, wait and retry once. 0 turns this off
ASL_TIMEOUT_MS300000Timeout for a Smart Router request

Keys are never logged. The server writes its diagnostics to stderr, because stdout carries the MCP protocol.

Use as a library

ts
import { createServer } from '@aistupidlevel/mcp';import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
const server = createServer({ dataKey: process.env.ASL_DATA_KEY, cacheTtlSeconds: 600 });await server.connect(new StdioServerTransport());

createServer accepts the same settings as the environment variables, plus a custom fetch.

Development

sh
npm ci && npm run build && npm test

The unit tests start the server in-process, connect an MCP client to it over an in-memory transport, and replay real API responses from test/fixtures. The live tests are skipped unless keys are set:

sh
ASL_ROUTER_KEY=aism_... npm test    # Smart Router, sandbox only: nothing is spent or countedASL_DATA_KEY=asl_live_... npm test  # Data API: one request

Links

MIT licence.

来源:packages/mcp/README.md,提交 b58a173

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.1.1最新Oct 20, 2026
  2. v0.1.0Oct 20, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分