Context7
Up-to-date docs for AI agents
作者による説明(英語の原文)
LLM benchmark rankings, drift status, incidents and Smart Router previews from AI Stupid Level.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
ASL_DATA_KEY, ASL_ROUTER_KEY, ASL_SANDBOX「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"aistupidlevel": {
"command": "npx",
"args": [
"-y",
"@aistupidlevel/mcp"
],
"env": {
"ASL_DATA_KEY": "your-value",
"ASL_ROUTER_KEY": "your-value",
"ASL_SANDBOX": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add aistupidlevel --env ASL_DATA_KEY=your-value --env ASL_ROUTER_KEY=your-value --env ASL_SANDBOX=your-value -- npx -y @aistupidlevel/mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"aistupidlevel": {
"command": "npx",
"args": [
"-y",
"@aistupidlevel/mcp"
],
"env": {
"ASL_DATA_KEY": "your-value",
"ASL_ROUTER_KEY": "your-value",
"ASL_SANDBOX": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"aistupidlevel": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@aistupidlevel/mcp"
],
"env": {
"ASL_DATA_KEY": "your-value",
"ASL_ROUTER_KEY": "your-value",
"ASL_SANDBOX": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
ASL_SANDBOX envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント StudioPlatforms で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:ASL_DATA_KEY, ASL_ROUTER_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.1)がレジストリに届いたのは17 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Context7, Codebase Memory, Exa
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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:
It runs locally over stdio and needs Node.js 18 or later.
The tools use two different keys, and you only need the one for the tools you want.
| Key | Used by | Where to get it |
|---|---|---|
ASL_DATA_KEY (asl_live_…) | leaderboard, model, history, drift, incidents, providers, recommendations, global index | https://aistupidlevel.info/account/data-keys (free tier available) |
ASL_ROUTER_KEY (aism_…) | preview_route, ask_router, router usage | https://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_.
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:
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.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.
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 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.
Settings → Developer → Edit Config, then add the server to claude_desktop_config.json:
{
"mcpServers": { "aistupidlevel": { "command": "npx", "args": ["-y", "@aistupidlevel/mcp"], "env": { "ASL_DATA_KEY": "asl_live_...", "ASL_ROUTER_KEY": "aism_..." } } } }
Restart Claude Desktop afterwards.
Add the following to ~/.cursor/mcp.json (for all projects) or .cursor/mcp.json (for one project):
{
"mcpServers": { "aistupidlevel": { "command": "npx", "args": ["-y", "@aistupidlevel/mcp"], "env": { "ASL_DATA_KEY": "asl_live_...", "ASL_ROUTER_KEY": "aism_..." } } } }
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:
{
"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}" } } } }
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.
The image builds the server from source. From the repository root:
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
All tools except ask_router are read-only.
| Tool | Key | What it returns |
|---|---|---|
get_leaderboard | data | Tracked 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_model | data | One model's details: vendor, version, notes, tool-calling support and days tracked. |
get_model_history | data | One model's score for each run in the window, with a summary and the per-axis results of the newest run. |
get_drift_status | data | One 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_incidents | data | Recent incidents (provider-wide and per model) with severity, the models affected, when each was detected and when it was resolved. |
get_provider_status | data | Each provider's API status from ASL's health probes, with the probe's response time and the last error. |
get_recommendations | data | ASL'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_index | data | ASL's global index across the tracked models, now and over the last 24 hours. |
preview_route | router | The 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_router | router | Sends 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_usage | either | This 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.
| Variable | Default | Meaning |
|---|---|---|
ASL_DATA_KEY | none | Data API key (asl_live_…) |
ASL_ROUTER_KEY | none | Smart Router key (aism_…) |
ASL_SANDBOX | false | true puts every Smart Router call in sandbox mode: real routing, mock answer, nothing spent or counted |
ASL_CACHE_TTL | 900 | Seconds a Data API answer is reused |
ASL_MAX_WAIT | 15 | When the per-minute limit asks for a wait this short (seconds) or shorter, wait and retry once. 0 turns this off |
ASL_TIMEOUT_MS | 300000 | Timeout for a Smart Router request |
Keys are never logged. The server writes its diagnostics to stderr, because stdout carries the MCP protocol.
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.
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:
ASL_ROUTER_KEY=aism_... npm test # Smart Router, sandbox only: nothing is spent or counted
ASL_DATA_KEY=asl_live_... npm test # Data API: one request
MIT licence.