aistupidlevel-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ASL_SANDBOX | No | Set to true to make every Smart Router call return a mock answer, so nothing is spent | |
| ASL_DATA_KEY | No | Data API key (asl_live_...) for rankings, history, drift, incidents and provider status. Free key: https://aistupidlevel.info/account/data-keys | |
| ASL_ROUTER_KEY | No | Smart Router key (aism_...) for preview_route, ask_router and get_usage. Create one at https://aistupidlevel.info/router/keys |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_leaderboardA | 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. |
| get_modelA | 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. |
| get_model_historyA | 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. |
| get_drift_statusA | 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?". |
| get_incidentsB | 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. |
| get_provider_statusA | 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. |
| get_recommendationsA | 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?". |
| get_global_indexA | 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?". |
| preview_routeA | 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). |
| ask_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). |
| get_usageA | 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| choose_model | Pick the LLM API to use for a task, from AI Stupid Level's rankings, recommendations and drift data. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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.