Smart Router · Editors

Cursor with the AI Stupid Level Smart Router

Cursor’s Override OpenAI Base URL points chat and plan mode at the router: your own provider keys, no token markup, and auto-coding as the model name. The MCP server adds rankings and route previews to the editor.

Get a free router key

1,000 routed requests a month free · your own provider keys · no card

Part of Smart Router integrations · About the Smart Router · Help centre

Cursor settingsSettings
Settings → Override OpenAI Base URL
Base URL:  https://aistupidlevel.info/v1
API Key:   aism_your_key_here
Model:     auto-coding   (or auto, auto-reasoning, etc.)

01

What Cursor gets from the Smart Router

Cursor’s Override OpenAI Base URL points chat and plan mode at the router: your own provider keys, no token markup, and auto-coding as the model name. The MCP server adds rankings and route previews to the editor.

Routing on benchmark results
A routing mode as the model name sends each request to the model placing highest on the relevant board — coding, reasoning or tool use — ranked on the average of its last five benchmark runs, never a single run. Statistically tied leaders are split by your tie-break preference, the cheaper measured cost per task by default. Drift-aware routing moves a model whose drift detector has fired for that skill behind every unflagged model.
Your own provider keys
You pay OpenAI, Anthropic, Google, DeepSeek, Moonshot AI (Kimi) or Z.ai (GLM) directly for tokens. Provider keys are encrypted at rest (AES-256-GCM) and never shown again.
No token markup
The router adds nothing to token prices. Free includes 1,000 routed requests a month, and only successful requests count.
The model that answered, every time
Every response carries X-AISM-Model and X-AISM-Reasoning: which model answered and why, including any fallback. If the chosen model fails before answering, the router tries your own fallback order, then up to 2 automatic fallbacks from different providers.

02

How to set up Cursor with the Smart Router

Every value below is the one in the router documentation; paste it as shown.

  1. Create a router key

    Go to API keys, click Create key and copy it somewhere safe. The key starts with aism_ and is the one key for every tool you connect.

  2. Add your provider keys

    Under Providers, add keys for OpenAI, Anthropic, Google, DeepSeek, Kimi or GLM. The more providers you add, the better the routing. You pay them directly for tokens; the router adds nothing to token prices, and provider keys are encrypted at rest (AES-256-GCM) and never shown again.

  3. Override the OpenAI base URL

    In Cursor’s settings, turn on Override OpenAI Base URL, enter https://aistupidlevel.info/v1 and paste your aism_ key as the OpenAI key. If the field insists on an sk- prefix, enter sk-aism_…: the prefix is stripped automatically.

    Cursor settingsSettings
    Settings → Override OpenAI Base URL
    Base URL:  https://aistupidlevel.info/v1
    API Key:   aism_your_key_here
  4. Use a routing mode as the model name

    Enter auto-coding as the model name (or auto, auto-reasoning, and so on). The router picks the model from the benchmark results on every request and names it in the X-AISM-Model response header; any real model id from GET /v1/models pins that model instead.

  5. Optional: add the MCP server to Cursor

    Rankings, drift, incidents, route previews and router answers become tools in the editor. The benchmark tools take a Data API key (asl_live_…) from Data API keys; the router answers use your aism_ key.

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

03

Which routing mode should Cursor use?

A routing mode goes where the tool asks for a model name. The quality modes read the same scores the leaderboard shows; the value modes choose among models within 5 points of the best and take the lowest measured cost per run. Every mode is described in the Virtual models section of the docs.

auto-coding
Coding. Best for code generation, debugging, refactoring.Top of the Coding board in the last 24 hours: DeepSeek V4.1 Flash, in a statistical tie for first place, of 22 ranked models.
auto-value-coding
Value. Most coding points per dollar (measured cost of a coding run), near-top models only.
auto-reasoning
Reasoning. Best for complex analysis, math, logic.Top of the Reasoning board in the last 24 hours: Claude Fable 5.1, in a statistical tie for first place, of 22 ranked models.
auto-best
Overall. Best combined score regardless of category; among statistically tied leaders, your tie-break decides (the cheaper by default).Top of the Combined board in the last 24 hours: DeepSeek V4.1 Flash, in a statistical tie for first place, of 22 ranked models.

24-hour boards as of 26 Oct 2026, 10:51 UTC · places follow the leaderboard’s statistical ties · the full leaderboard

Any real model id from GET /v1/models pins that model and bypasses routing; your plan allowance and key budgets still apply. Unknown auto-* names get a 400 model_not_found that lists the valid ones.

04

What Cursor supports behind the router

  • Only chat/plan mode uses your base URL — Composer, inline edit, and autocomplete are locked to Cursor’s backend.
  • The router is an OpenAI Chat Completions endpoint; it has no Responses API. Cursor features that talk to Cursor’s own backend are not affected by the override.
  • Some tools enforce an sk- prefix for API keys. The router accepts sk-aism_…; the prefix is stripped automatically.
  • The MCP server runs in Cursor from ~/.cursor/mcp.json: rankings, drift, incidents, route previews and router answers as tools.
  • Text only: a request with images, audio or files gets a 400 unsupported_content rather than a routing decision the benchmarks cannot back.

05

Cursor not working with the router?

The errors a tool shows, with the fix from the docs’ error table and the help centre.

401 invalid_api_key
Missing or invalid aism_ key. Check the key is correct and not revoked, and that the tool sends it as Authorization: Bearer aism_…. If a field insists on an sk- prefix, sk-aism_… is accepted: the prefix is stripped automatically. A key that had an expiry date and passed it gets 401 expired_api_key, and the message says when.
400 model_not_found
An unknown auto-* name is a 400 that lists the valid routing modes. For a real model id, check the spelling: direct pin routing infers the provider from the model name prefix, and GET /v1/models lists every id you can use.
No models in the dropdown
The tool fills its list from GET /v1/models, which requires a valid aism_ key. Check that the key and the base URL https://aistupidlevel.info/v1 are both in place.
400 provider_key_rejected or no_provider_keys
Your provider key is missing or was refused. Add or update it under Providers, re-check it on the provider’s dashboard, and make sure it has active credits and the right permissions.
Streaming
Set stream: true. Text arrives as the model writes it (X-AISM-Streaming-Mode: native); tool calls arrive in one chunk each once the model has finished them, then the finish reason, then usage if you set stream_options.include_usage. If the chosen model fails before sending anything, or its provider sends nothing for 120 seconds, the next fallback is tried.
400 unsupported_content
The router routes text only, on purpose: it picks a model from benchmark results for coding, reasoning and tool use, and none of those measure image, audio or file understanding. Send such requests to the provider directly.
429 allowance_exhausted
This month’s requests are used up and you have no prepaid credits. Credits top up the allowance; moving up a plan is the cheaper way to buy regular volume.

06

Questions about Cursor and the Smart Router

Which Cursor features use the custom OpenAI endpoint?

Only chat/plan mode uses your base URL. Composer, inline edit and autocomplete are locked to Cursor’s backend, so they keep using Cursor’s own models whatever the override says. For agent-style work on routed models, the coding agents on this site — Cline, Kilo Code and Roo Code, OpenCode, Aider — take the base URL for everything they do.

What model name do I enter in Cursor?

A routing mode. auto-coding is best for code generation, debugging and refactoring; auto-value-coding picks the most coding points per dollar among near-top models; auto-reasoning is best for complex analysis. Any real model id listed by GET /v1/models pins that model and bypasses routing.

Does this cost extra?

No. You pay the providers directly for tokens, with your own keys; the router adds nothing to token prices. The Free plan includes 1,000 routed requests a month (Pro Intelligence 10,000, Developer 100,000, Teams 1,000,000), and prepaid credits cover any beyond that at $5 per 10,000. Only successful requests count. No card for the Free plan.

Cursor says the key is invalid. What now?

Check that the aism_ key is correct and not revoked, and that the base URL is exactly https://aistupidlevel.info/v1. If the key field wants an sk- prefix, enter sk-aism_…; the router strips the prefix automatically.

Can Cursor see the leaderboard?

Yes, through the MCP server @aistupidlevel/mcp, listed in the official MCP Registry. Add it to ~/.cursor/mcp.json and rankings, drift, incidents, route previews and router answers become tools in the editor. The benchmark tools take a Data API key (asl_live_…) from Data API keys.

07

Other tools that work with the Smart Router

Every tool takes the same base URL and key. The integrations hub lists them all; the docs add samples for frameworks and SDKs.

Connect Cursor in a few minutes

A free account gives you a router key, the Providers page for your own keys, and the request allowance. No card.

Get a free router key

1,000 routed requests a month free · your own provider keys · no card