Skip to content

Cursor [BETA]

Run Chutes models in Cursor.

Two paths: point Cursor’s OpenAI provider at https://llm.chutes.ai/v1 to run open-source models in chat/agent (Option A), or generate a .cursor/mcp.json to expose Chutes tools over MCP (Option B). Read tools are active; write paths keep [BETA] labels.
Cursor setupWalkthrough videoMCP server READMEMCP tool map
Status
Model provider + MCP read tools; write tools [BETA]
Base URL
https://llm.chutes.ai/v1
Live model example
Qwen/Qwen3-32B-TEE
Catalog checked
Jul 19, 2026; context 40K

Full setup walkthrough

Everything you need is on this page — no need to leave for the toolkit. Each step is copy-paste runnable and uses a live model id from the catalog.

  1. 01

    Option A — Create a Chutes API key

    At chutes.ai/app/api → API Keys, click Create API Key, name it (e.g. cursor), and copy the cpk_ key. It is shown only once.
    📹 The 90s @chutes_ai walkthrough shows this flow end-to-end.
  2. 02

    Option A — Point Cursor at the Chutes endpoint

    In Settings (gear) → Models → API Keys: enable Override OpenAI Base URL and set it to https://llm.chutes.ai/v1, then enable OpenAI API Key and paste your cpk_ key.
    Settings → Models (OpenAI-compatible)
    text
    # Cursor → Settings (gear) → Models → API Keys
    
    Override OpenAI Base URL  ✓   https://llm.chutes.ai/v1
    OpenAI API Key            ✓   cpk_...        # your Chutes key
    
    # Add a custom model, then select it
    Add or search model → Qwen/Qwen3-32B-TEE → + Add Custom Model
    Switch Model (⌘/)    → pick your custom Chutes model
    The override repoints Cursor's OpenAI provider — while it is on, OpenAI models route to Chutes. Toggle it off to go back to OpenAI.
  3. 03

    Option A — Add a model and select it

    Copy a full model ID from a chutes.ai model card, type it into Add or search model, click + Add Custom Model, then pick it from Switch Model (⌘/) and send a test message.
    Use the exact ID — custom models are not validated until first use, so a typo just fails at request time.
  4. 04

    Option B — Install the Chutes MCP server

    Prefer Chutes as agent tools (chutes_list_models, chutes_get_quota, …) instead of a chat model? Install the MCP server:
    uv tool install
    bash
    uv tool install chutes-mcp-server \
      --from plugins/chutes-ai/skills/chutes-mcp-portability/mcp-server
    The package is not on PyPI — the --from <local path> form is required. The chutes-mcp-server binary lands in ~/.local/bin; make sure that is on your PATH.
  5. 05

    Option B — Generate the workspace config

    Run the generator with --target cursor. It writes .cursor/mcp.json in your workspace:
    generate + .cursor/mcp.json
    json
    python plugins/chutes-ai/skills/chutes-mcp-portability/scripts/generate_agent_config.py \
      --target cursor --out /path/to/your/workspace
    
    # Writes .cursor/mcp.json:
    {
      "mcpServers": {
        "chutes": {
          "command": "chutes-mcp-server",
          "env": { "CHUTES_API_KEY": "${env:CHUTES_API_KEY}" }
        }
      }
    }
  6. 06

    Option B — Set the key, restart, and verify

    Export CHUTES_API_KEY=cpk_... in the shell profile Cursor inherits (Cursor reads ${env:CHUTES_API_KEY} from the environment, not .env.local). Restart Cursor (File → Restart Window), open the MCP panel, expand the chutes server, and call chutes_list_models with limit 1.
    bash
    export CHUTES_API_KEY=cpk_...
    "Command not found: chutes-mcp-server" → add ~/.local/bin to PATH. A 401 means the key is empty or the wrong profile.

MCP tool boundary

Read tools
Model discovery, quota, aliases, usage, discounts, chutes, and API key reads.
Status
Active through the MCP server.
Write tools
Any action that mutates account or compute state.
Status
[BETA] and should require explicit user confirmation.

Troubleshooting

Symptom
The model ID fails
Likely cause
The catalog changed or the client cached model metadata.
Fix
Refresh /v1/models and update the config.
Symptom
Auth falls into anonymous limits
Likely cause
The key is missing or not sent as Bearer auth.
Fix
Export CHUTES_API_KEY=cpk_... and send Authorization: Bearer.
Symptom
Routing aliases fail
Likely cause
Saved default aliases need a dashboard Model Routing pool.
Fix
Use a concrete model ID or an inline comma-separated pool first.