AI Stupid Level について
@aistupidlevel/mcpは、MCPクライアントからAI Stupid Levelのモデルランキング、スコア推移、インシデント、プロバイダー状態を参照できるサーバーです。ルーターキーがあれば、モデル選択のプレビューやSmart Router経由のプロンプト送信もできます。
主な機能
- 01モデルランキングとスコアの取得
- 02モデル履歴とドリフトの追跡
- 03インシデントとプロバイダー状態の確認
- 04モデル推薦とグローバル指数の取得
- 05Smart Routerの選択プレビューと実行
活用シーン
- 01コーディングや推論向けモデルの比較
- 02モデルのスコア変動の確認
- 03最近のプロバイダーインシデントの確認
- 04プロンプトに対するモデル選択とコストのプレビュー
MCP 対応
stdioのMCPサーバーとして動作し、データツール、Smart Routerツール、モデル選択用プロンプトをMCPクライアントに提供します。データ参照にはデータキー、ルーター機能にはルーターキーが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @aistupidlevel/mcpASL_DATA_KEYシークレットData API key (asl_live_...) for rankings, history, drift, incidents and provider status. Free key: https://aistupidlevel.info/account/data-keys (10 requests a day, 1 a minute).ASL_ROUTER_KEYシークレットSmart Router key (aism_...) for preview_route, ask_router and usage. Create one at https://aistupidlevel.info/router/keys.ASL_SANDBOXtrue: every Smart Router call returns a mock answer from real routing, so nothing is spent or counted.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
11掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | 表示するモデルの数(デフォルトは 10)。 |
| period | enum | いいえ | スコアの期間:24 時間、7 日間、1 か月(30 日間)の平均、または latest(最新の実行)。省略すると、キーのデフォルトが使われます。無料の Data API キーでは 24 時間、有料キーでは latest です。latest には有料キーが必要です。24h | 7d | 1m | latest |
| vendor | string | いいえ | このベンダーのモデルのみを表示します:openai、anthropic、google、deepseek、kimi、glm。 |
| sort_by | enum | いいえ | ランキングの種類:combined(デフォルト、全スイート)、coding、reasoning、tooling(ツール使用/エージェントタスク)、price(定価 1 ドルあたりのスコア)。combined | coding | reasoning | tooling | price |
詳細
@aistupidlevel/mcp
AI Stupid Level(ASL)用のMCPサーバーです。 Claude、Cursor、VS Code、その他のMCPクライアントが、ASLのLLMリーダーボード、スコア履歴、ドリフト状況、インシデント、プロバイダーのステータスを確認できます。ルーターキーを設定すると、プロンプトに対してどのモデルを選ぶかをASL Smart Routerに尋ねたり、ルーター経由でプロンプトを送信したりすることもできます。
アシスタントに次のような質問をしてみましょう。
- 「AI Stupid Levelによると、今コーディングに最適なモデルはどれですか?」
- 「Claude Opus 5.5は今週、性能が落ちましたか?」
- 「ここ数日でプロバイダーのインシデントはありましたか?」
- 「このプロンプトに対してSmart Routerはどのモデルを選びますか?その理由は何ですか?」
stdio経由でローカル実行され、Node.js 18以降が必要です。
キー
ツールでは2種類のキーを使用します。使いたいツールに対応するキーだけを用意すれば十分です。
| キー | 使用する機能 | 入手先 |
|---|---|---|
ASL_DATA_KEY(asl_live_…) | リーダーボード、モデル、履歴、ドリフト、インシデント、プロバイダー、推奨、グローバルインデックス | https://aistupidlevel.info/account/data-keys(無料プランあり) |
ASL_ROUTER_KEY(aism_…) | preview_route、ask_router、ルーターの使用状況 | https://aistupidlevel.info/router/keys。アカウントにプロバイダーキーが1つ以上必要です |
必要なキーがないツールを呼び出しても、サーバーは停止しません。必要なキーと、その作成先を示すメッセージを返します。
ASL_API_KEYも使用できます。asl_で始まる場合はデータキーとして、aism_で始まる場合はルーターキーとして使われます。
無料プランの制限
無料のData APIキーでは、1日10リクエスト、1分あたり1リクエストが可能です。有料プランでは1日10,000リクエスト以上が可能です(料金)。無料プランはAPIを試すためのものなので、サーバーではリクエストを慎重に管理します。
- 各回答はメモリに15分間キャッシュされます(
ASL_CACHE_TTL)。同じ質問を再度した場合や、同じリーダーボードから別のベンダーを指定したり、より短いリストを求めたりしても、リクエストは発生しません。また、モデル名はキャッシュされたリーダーボードから検索されます。 - 1回のツール呼び出しで発生するData APIへのリクエストは最大1件です。ただし、リーダーボードを一度も取得していない状態でモデルを名前で指定した場合は、モデルIDの検索に追加で1件のリクエストが発生します。
- 1日の上限に達すると、サーバーは00:00 UTCまでリクエストの送信を停止します。クォータ超過で拒否されたリクエストも上限にカウントされます。
- 新しい回答を取得できない場合、サーバーは最後にキャッシュした回答(最長24時間前)と、その経過時間を返します。
- 各回答の末尾には、その日に残っているリクエスト数が表示されます。
無料キーでは、1分以内に複数の異なるデータツールを呼び出すと、1分あたりの上限に達します。その場合、ツールは再試行できる時刻を伝えます。待ち時間が15秒以下の場合(ASL_MAX_WAIT)、サーバーは待機して自動的に1回再試行します。
最新の実行結果を表示するビュー(period: "latest")には有料キーが必要です。無料キーでは、24時間、7日、30日のビューを利用できます。
preview_routeとget_usageはSmart Routerのプランの使用量にカウントされません。ask_routerは実際にルーティングを行うリクエストです。ルーターはお客様自身のプロバイダーキーを使ってモデルを呼び出すため、料金はプロバイダーから請求され、リクエストはプランの使用量にカウントされます。sandbox: trueを渡すか、ASL_SANDBOX=trueを設定すると、実際のルーティングを使わず、モック回答を無料で取得できます。
インストール
このパッケージはnpxで実行できるため、事前のインストールは不要です。プレースホルダーをお手持ちのキーに置き換え、持っていないキーは省略してください。
Claude Code
claude mcp add aistupidlevel -e ASL_DATA_KEY=asl_live_... -e ASL_ROUTER_KEY=aism_... -- npx -y @aistupidlevel/mcp
すべてのプロジェクトで使用するには、-s userを追加してください。
Claude Desktop
設定 → Developer → Edit Configを開き、claude_desktop_config.jsonにサーバーを追加します。
{
"mcpServers": {
"aistupidlevel": {
"command": "npx",
"args": ["-y", "@aistupidlevel/mcp"],
"env": {
"ASL_DATA_KEY": "asl_live_...",
"ASL_ROUTER_KEY": "aism_..."
}
}
}
}
その後、Claude Desktopを再起動してください。
Cursor
~/.cursor/mcp.json(すべてのプロジェクト用)または.cursor/mcp.json(1つのプロジェクト用)に次の内容を追加します。
{
"mcpServers": {
"aistupidlevel": {
"command": "npx",
"args": ["-y", "@aistupidlevel/mcp"],
"env": {
"ASL_DATA_KEY": "asl_live_...",
"ASL_ROUTER_KEY": "aism_..."
}
}
}
}
VS Code
.vscode/mcp.jsonに次の内容を追加します(または、MCP: Open User Configurationを使ってユーザー設定に追加します)。VS Codeがキーの入力を求め、安全に保存します。
{
"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}"
}
}
}
}
その他のクライアント
stdio サーバーを起動できるクライアントであれば、どれでも実行できます。コマンドは npx -y @aistupidlevel/mcp で、
キーは設定に記載された環境変数に設定します。
Docker
イメージはソースからサーバーをビルドします。リポジトリのルートから実行します。
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
ツール
ask_router を除くすべてのツールは読み取り専用です。
| ツール | キー | 返される内容 |
|---|---|---|
get_leaderboard | data | 追跡対象モデルを、総合、コーディング、推論、ツール使用のスコア、またはリスト価格あたりのスコアでランキング表示します。各行にはスコア、傾向、ステータス、安定性、およびほかのツールで使用するモデル ID が含まれます。ベンダーで絞り込み、表示期間(24h、7d、1m、または有料キーで最新)を選択できます。 |
get_model | data | 1つのモデルの詳細(ベンダー、バージョン、注記、ツール呼び出しのサポート状況、追跡日数)です。 |
get_model_history | data | 指定期間における1つのモデルの各実行時のスコアと、最新実行の概要および軸ごとの結果です。 |
get_drift_status | data | 1つのモデルのドリフト状況(レジーム、ベースラインに対する現在のスコア、各スイートの変化点検出器、最後に検出された有意な変化、変動した軸)です。 |
get_incidents | data | 最近のインシデント(プロバイダー全体およびモデルごと)と、その重大度、影響を受けたモデル、検出日時、解決日時です。 |
get_provider_status | data | ASL のヘルスプローブによる各プロバイダーの API ステータスと、プローブの応答時間および最後に発生したエラーです。 |
get_recommendations | data | ASL の現在の推奨モデル(コーディング向け、最も信頼性が高い、最速、コストパフォーマンスが最も高い、コストパフォーマンスが低い、現時点で避けるべきモデル)と、それぞれの理由および根拠です。 |
get_global_index | data | 追跡対象モデル全体における ASL のグローバルインデックス(現在の値と過去24時間の推移)です。 |
preview_route | router | スマートルーターがプロンプトに対して選択するモデル、そのスコアと推定コスト、選択理由、フォールバックチェーンです。呼び出しもカウントも行われません。 |
ask_router | router | スマートルーター経由でプロンプトを送信し、回答、回答に使用したモデルとプロバイダー、選択理由、レイテンシ、使用トークン数を返します。sandbox: true を設定すると、費用のかからないモック回答を取得できます。 |
get_usage | either | 今月のルーター使用量と予算、および本日残っている Data API リクエスト数です。 |
モデルは数値 ID、名前(claude-opus-5-5)、または表示名(Claude Opus 5.5)で指定できます。
preview_route と ask_router は、ルーティングの 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)、またはモデルを直接指定する pin_model を受け取ります。
各モードの詳細はルーターのドキュメントをご覧ください。
このサーバーは、タスクの内容を説明すると、アシスタントがモデルを選択できるように案内する choose_model プロンプトも1つ提供します。
Data API の回答には、末尾にソース行が付きます。データは帰属表示が必要なライセンスで提供されています。再公開する場合は、aistupidlevel.info を出典として記載してください。
設定
| 変数 | デフォルト | 意味 |
|---|---|---|
ASL_DATA_KEY | none | Data API キー(asl_live_…) |
ASL_ROUTER_KEY | none | Smart Router キー(aism_…) |
ASL_SANDBOX | false | true にすると、すべての Smart Router 呼び出しがサンドボックスモードになります。実際のルーティングを行い、モック回答を返しますが、費用は発生せず、使用量にもカウントされません |
ASL_CACHE_TTL | 900 | Data API の回答を再利用する秒数 |
ASL_MAX_WAIT | 15 | 1分あたりの制限によって待機が必要な場合、待機時間がこの秒数以下であれば、待機して1回再試行します。0 にすると無効になります |
ASL_TIMEOUT_MS | 300000 | Smart Router リクエストのタイムアウト |
キーがログに記録されることはありません。サーバーは診断情報を stderr に書き込みます。stdout は MCP プロトコルが使用するためです。
ライブラリとして使用
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 は、環境変数と同じ設定に加えて、カスタム fetch を受け付けます。
開発
npm ci && npm run build && npm test
ユニットテストでは、サーバーをプロセス内で起動し、メモリ内トランスポート経由で MCP クライアントを接続して、test/fixtures に保存された実際の API レスポンスを再生します。キーが設定されていない場合、ライブテストはスキップされます。
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 ライセンス。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。