aistupidlevel-mcp
This MCP server exposes AI Stupid Level’s LLM benchmark, health, routing, and usage data, plus a Smart Router prompt tool.
Rank tracked LLMs by combined/coding/reasoning/tooling/price scores and filter by vendor or time window.
Get details and score history for a specific model, including per-axis results and trend over time.
Check whether a model’s performance has drifted or degraded.
View recent incidents and current provider API health/status.
Get model recommendations for coding, reliability, speed, value, overpricing, and models to avoid.
Read the global AI index for overall model performance now and over 24 hours.
Preview which model the Smart Router would choose for a prompt, including fallback chain, without spending.
Send a prompt through the Smart Router and get the answer, chosen model/provider, routing reason, and latency; sandbox mode gives free mock answers.
Check router and Data API usage, remaining limits, credits, and key validity.
Provides a Hermes Agent provider plugin (hermes plugins install aistupidlevel) that adds the AI Stupid Level router as a model provider for Hermes agents.
Provides an n8n community node (n8n-nodes-aistupidlevel) that lets n8n workflows send chat/LLM requests through the AI Stupid Level router, where each request is dispatched to the model measuring best for that kind of work.
Provides a Raycast extension that lets users query the AI Stupid Level router directly from the Raycast launcher, with requests automatically routed to the best-performing model.
Provides a Vercel AI SDK provider (@aistupidlevel/ai-sdk-provider) so AI SDK applications can use the router as a model backend, with requests routed to the best measured model and routing metadata returned alongside answers and streams.
AI Stupid Level SDKs
Official clients for the AI Stupid Level Smart Router, an OpenAI-compatible endpoint. Each request goes to the model measuring best for that kind of work, based on benchmarks that are re-run continuously. You call it with your own provider keys.
Package | Install | Source |
TypeScript / JavaScript |
| |
Python |
| |
Vercel AI SDK provider |
| |
MCP server (Claude, Cursor, VS Code, …) |
| |
n8n community node | n8n Cloud: search "AI Stupid Level" on the canvas (verified); self-hosted: Settings → Community Nodes → | StudioPlatforms/n8n-nodes-aistupidlevel (own repository, as n8n verification requires) |
Raycast extension | Raycast Store (in review) | |
LangChain chat model ( |
| |
Hermes Agent provider plugin |
| |
DeepSeek Harness plugin bundle |
| |
OpenClaw provider plugin |
| |
Pi provider extension |
| |
Langflow model provider + component |
| |
Open WebUI Function (manifold pipe) | Admin Panel → Functions → Import from URL |
openapi/router-v1.json describes the API in OpenAPI 3.1, for generating a
client in any other language. The live copy is at https://aistupidlevel.info/v1/openapi.json.
Quick start
import { ASLRouter } from '@aistupidlevel/router';
const router = new ASLRouter(); // ASL_ROUTER_KEY
const r = await router.chat.completions.create({ model: 'auto-coding', messages: [{ role: 'user', content: 'Fix this bug: ...' }] });
console.log(r.choices[0].message.content, r.routing.model, r.routing.reasoning);from aistupidlevel import ASLRouter
router = ASLRouter() # ASL_ROUTER_KEY
r = router.chat.completions.create(model="auto-coding", messages=[{"role": "user", "content": "Fix this bug: ..."}])
print(r.choices[0].message.content, r.routing.model, r.routing.reasoning)Related MCP server: AgentLayer MCP Server
Why use an SDK instead of an OpenAI client
Any OpenAI client works against https://aistupidlevel.info/v1. The SDKs add:
Routing info on every answer and stream: the model and provider that answered, why they were chosen, and whether a fallback answered.
Safe retries. An automatic
Idempotency-Keymeans a request is answered once, even if it is retried.Typed errors with
partyandretryable. An app can tell its user to top up, to fix a provider key, or simply to try again.runTools/run_tools, a tool-calling loop that stays on one model.Sandbox mode (mock answers through real routing, at no cost), route previews, and usage.
See the API documentation.
Development
# TypeScript (the router package runs on Node 18+; the AI SDK provider needs Node 22+)
cd packages/router && npm ci && npm run build && npm test
cd packages/ai-sdk-provider && npm ci && npm run build && npm test
cd packages/mcp && npm ci && npm run build && npm test
cd packages/openclaw-provider && npm ci && npm test # Node 24.16+, like OpenClaw
cd packages/pi-provider && npm ci && npm test # Node 22.19+, like Pi
# Python
cd python && pip install -e . && python -m unittest discover -s tests
cd langflow-python && pip install -e . pytest && pytest tests # in a venv with Langflow 1.12+The live tests run against the real router in sandbox mode, so nothing is spent. They need a router key and are skipped without one:
ASL_ROUTER_KEY=aism_... npm test
ASL_ROUTER_KEY=aism_... python -m unittest discover -s testsReleasing
Bump the version in every place it appears:
packages/router/package.jsonandpackages/router/src/core.ts;packages/ai-sdk-provider/package.jsonandpackages/ai-sdk-provider/src/index.ts;packages/mcp/package.json,packages/mcp/src/config.tsand both versions inpackages/mcp/server.json;python/src/aistupidlevel/_version.py.
npm:
npm publish --access publicin each package directory.prepublishOnlybuilds the package and runs its tests first.PyPI:
cd python && python -m build && twine upload dist/*.MCP Registry, after the npm release of
@aistupidlevel/mcp:cd packages/mcp && mcp-publisher login github && mcp-publisher publish.n8n node: released from its own repository, StudioPlatforms/n8n-nodes-aistupidlevel, by a
v<version>tag.Raycast: from
integrations/raycast/aistupidlevel,npm run publishopens a pull request to raycast/extensions.Pi:
cd packages/pi-provider && npm publish(Node 22.19+). Push first: the pi.dev gallery image is read frommain. Thepi-packagekeyword lists it on pi.dev/packages; there is nothing to submit.Langflow: bump
langflow-python/pyproject.toml,src/lfx_aistupidlevel/__init__.pyandsrc/lfx_aistupidlevel/extension.json(a test checks they match), thencd langflow-python && uv build && twine upload dist/*with twine 7 or later.
Licence
MIT
Available Tools
11 toolsask_routerAsk via Smart RouterA
Send a prompt through the AI Stupid Level Smart Router and return the answer, together with which model answered, its provider, why the router chose it and the latency. The router calls the model with the provider keys saved in the user's ASL account, so a real call is billed by that provider and counts against the router plan; set sandbox: true for a free mock answer. Needs a router key (ASL_ROUTER_KEY).
Inputs: prompt (required), mode, system, sandbox, +3 more.
get_drift_statusModel drift statusARead-onlyIdempotent
Whether an LLM's measured performance has shifted: AI Stupid Level's drift signature for one model, with its regime (stable, degrading, …), current score against its baseline, the change-point detector per benchmark suite, the last significant change and which axes moved. Use it to answer "has model X got worse?" or "is X being nerfed?".
Inputs: model (required).
get_global_indexGlobal AI indexARead-onlyIdempotent
AI Stupid Level's global index: one 0-100 number for the tracked models together, now and over the last 24 hours, with its trend and how many models are performing well. Use it for "are AI models worse today?".
Inputs: no named parameters.
get_incidentsRecent incidentsBRead-onlyIdempotent
Recent incidents AI Stupid Level recorded: provider-wide degradations and model-level problems, with severity, the models affected, when each was detected and whether and when it was resolved.
Inputs: limit, provider, open_only.
get_leaderboardLLM leaderboardARead-onlyIdempotent
Ranking of the LLM APIs AI Stupid Level tracks (OpenAI, Anthropic, Google, DeepSeek, Kimi, GLM models) by benchmark score, 0-100. Use it to find the best model overall or for coding, reasoning or tool use, to compare models, and to get the model ids the other tools accept. Each row has the score, trend, status, stability and when it was last updated.
Inputs: limit, period, vendor, sort_by.
get_modelModel detailsARead-onlyIdempotent
Details AI Stupid Level holds on one tracked LLM: vendor, version, notes on how it is called and priced, tool-calling support, how long it has been tracked, and its leaderboard row when one has been fetched.
Inputs: model (required).
get_model_historyModel score historyARead-onlyIdempotent
Score history of one LLM on AI Stupid Level: each benchmark run in the window with its score, plus the newest run's per-axis results (correctness, code quality, efficiency, …). Use it to see whether a model got better or worse over time.
Inputs: model (required), period, max_points.
get_provider_statusProvider statusARead-onlyIdempotent
Current status of each LLM provider's API as AI Stupid Level's health probes see it (OpenAI, Anthropic, Google, DeepSeek, Kimi, GLM): operational or not, probe response time, the last error and when it was checked. For past outages use get_incidents.
Inputs: no named parameters.
get_recommendationsModel recommendationsARead-onlyIdempotent
AI Stupid Level's current picks: the best model for coding, the most reliable (steadiest score), the fastest, the best value (most points per measured dollar among near-top models), models that cost far more than an equally good alternative, and models to avoid right now. Each pick comes with the reason and the evidence it rests on. Use it for "which model should I use?".
Inputs: period.
get_usageASL usage and limitsARead-onlyIdempotent
This month's Smart Router usage for the configured router key (requests used and left, prepaid credits, the key's budget), and the Data API requests left today for the configured data key. Use it when a tool reports a limit, or to check the keys work.
Inputs: no named parameters.
preview_routePreview Smart Router choiceARead-onlyIdempotent
Which model the AI Stupid Level Smart Router would send a prompt to, and why: the routing strategy, the chosen model and provider with its benchmark score and estimated cost, and the fallback chain. Nothing is sent to a model and nothing is counted. Needs a router key (ASL_ROUTER_KEY).
Inputs: prompt (required), mode, system, sandbox, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
TDQS
Scored across 11 tools
Most tools target clearly distinct concerns, and descriptions actively disambiguate overlapping clusters (e.g. leaderboard vs recommendations vs global_index, and provider_status vs incidents vs drift_status). There is some residual overlap among the three 'model quality' tools and the three 'health' tools, but each states a specific use case that keeps selection reliable.
Nine tools follow a clean get_<noun> read-only convention (get_leaderboard, get_model, get_incidents, etc.), and the two router tools use action verbs (preview_route, ask_router) that correctly signal they perform a route/action. The mix is minor and semantically motivated rather than chaotic.
Eleven tools is well within the sweet spot for a model-intelligence service, and each maps to a distinct data surface (status, leaderboard, model detail, usage, history, drift, incidents, recommendations, index, routing preview, routing). No tool feels redundant or padded.
The surface covers the full lifecycle well: discovery (leaderboard/model), health (status/incidents/drift), trends (history/global_index), guidance (recommendations), usage/quota, and both dry-run and live routing. Minor gaps like an explicit model search-by-name or head-to-head compare tool exist but are workable via the leaderboard and get_model.
Maintenance
Related MCP Connectors
Source-backed AI model pricing, rankings, history, and benchmark data.
Daily LLM leaderboard from independent benchmarks: ranks, scores, prices, speed and comparisons.
Live status, API pricing and rate limits for ChatGPT, Claude, Gemini, Cursor and 42+ AI tools.
Live LLM API price + status radar across 11 providers, with public per-model price HISTORY.
Related MCP Servers
- AlicenseAqualityDmaintenanceGive your AI assistant real-time LLM/VLM knowledge. Pricing, benchmarks, and recommendations — updated every hour, not every training cycle.4119 npm2MIT
- FlicenseNot gradedqualityBmaintenanceProvides real-time AI infrastructure data including LLM costs, model benchmarks, API deprecations, quality scores, and agent spend tracking. Supports authentication, rate limiting, x402 micropayments, and Stripe billing.-
- AlicenseNot gradedqualityCmaintenanceProvides AI agents with honest benchmark rankings (Agentic Memory Index and Agentic Search Index) for AI tools, plus graded checks and telemetry for x402 endpoints.8 npmMIT
- AlicenseBqualityBmaintenanceal-time AI ecosystem intelligence for agents: 1,250+ classified AI security incidents, API pricing for 26 models across 7 providers, GPU cloud pricing, live provider status and cross-signal company analysis. No API key required.11MIT