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.
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.
- 01
Option A — Create a Chutes API key
Atchutes.ai/app/api→ API Keys, click Create API Key, name it (e.g.cursor), and copy thecpk_key. It is shown only once.📹 The 90s @chutes_ai walkthrough shows this flow end-to-end. - 02
Option A — Point Cursor at the Chutes endpoint
In Settings (gear) → Models → API Keys: enable Override OpenAI Base URL and set it tohttps://llm.chutes.ai/v1, then enable OpenAI API Key and paste yourcpk_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 modelThe override repoints Cursor's OpenAI provider — while it is on, OpenAI models route to Chutes. Toggle it off to go back to OpenAI. - 03
Option A — Add a model and select it
Copy a full model ID from achutes.aimodel 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. - 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 installbashuv tool install chutes-mcp-server \ --from plugins/chutes-ai/skills/chutes-mcp-portability/mcp-serverThe package is not on PyPI — the--from <local path>form is required. Thechutes-mcp-serverbinary lands in~/.local/bin; make sure that is on your PATH. - 05
Option B — Generate the workspace config
Run the generator with--target cursor. It writes.cursor/mcp.jsonin your workspace:generate + .cursor/mcp.jsonjsonpython 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}" } } } } - 06
Option B — Set the key, restart, and verify
ExportCHUTES_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 thechutesserver, and callchutes_list_modelswith limit 1.bashexport CHUTES_API_KEY=cpk_..."Command not found: chutes-mcp-server" → add~/.local/binto 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.