Cursor, sans la facture par siège
Cursor parle Anthropic Messages API quand on choisit un modèle Claude. LMbox intercepte ces appels, route vers le tier qui suffit (local ou Bedrock EU), et expose les connecteurs internes via MCP. Vous gardez Cursor, vous arrêtez de payer 20 $/dev/mois en plus du prix Anthropic.
Cursor en équipe : double facture, code chez Anthropic
20 $/dev/mois Cursor
Cursor Pro facture par siège, 20 $/utilisateur/mois (Pro) ou 40 $ (Business). Pour une équipe de 30 développeurs, c'est 7 200 $/an avant même le premier appel API.
+ la facture API en sus
Le siège Cursor ne couvre qu'un quota fast-mode. Au-delà, et pour Claude Sonnet en particulier, votre carte de crédit est appelée à chaque chat. Pas de plafond visible côté DSI.
Vos repos chez Anthropic
Cursor envoie le contexte de fichiers ouverts + sélections + recherches @ vers les API du modèle choisi. Pour un repo confidentiel, c'est rédhibitoire sans contrôle réseau intermédiaire.
Comment Cursor se branche sur la Box
Cursor accepte un endpoint Anthropic-compatible et un serveur MCP custom. La Box couvre les deux. Activez ce qui correspond à votre niveau de souveraineté.
Proxy local pur
Cursor pointe sur la Box pour les modèles Claude. Aucune sortie internet. Bon pour les sessions courtes et l'auto-complétion via Mistral / Codestral, limité sur les chats agentic 20+ tours.
Cursor → Settings → Models → Override OpenAI/Anthropic Base URL → https://lmbox.local. La Box répond en /v1/messages avec Mistral Large 2.
Cascade routée (recommandé)
Le routeur LMbox lit chaque requête (turns, tokens, mots-clés, outils) et choisit fast / medium / frontier. Cursor ne voit qu'une URL ; le scoring détaille la décision dans l'audit log. ~75 % du trafic reste local.
Identique au Pattern B Claude Code. Le routeur lmbox-router est protocole-agnostique, peu importe que le client soit Claude Code ou Cursor.
MCP @ sur connecteurs internes
Cursor supporte MCP nativement. Vous ajoutez lmbox-mcp dans .cursor/mcp.json et les 4 outils search / read_doc / list_sources / find_similar apparaissent. Tapez @LMbox dans une session pour invoquer SharePoint, Confluence, Jira sans que le contenu sorte de la Box.
Streamable HTTP transport. Auth master-key v1 (OIDC roadmap). Top-K classé renvoyé au modèle, doc bodies bruts ne quittent jamais l'appliance.
Une équipe de 30 dev, 3 scénarios
Hypothèses : 30 développeurs Cursor Pro (20 $/siège), usage agentic intensif, ratio observé en cascade 65/25/10 (fast/medium/frontier). Tarifs Bedrock EU au 6 mai 2026, parité € ≈ 1,08 $.
| Scénario | Sièges Cursor | API Anthropic | Coût LMbox | Total mensuel |
|---|---|---|---|---|
| Cursor Pro direct (sans LMbox) | ≈ 555 € | ≈ 6 000 € | — | ≈ 6 555 € · soit 78 660 €/an |
| Cascade LMbox (75 % local) | ≈ 555 € | ≈ 1 200 € | Box amortie 36 mois | ≈ 1 850 € · soit 22 200 €/an |
| 100 % local (Mistral) — fallback Cursor désactivé | ≈ 555 € | 0 € | Box amortie 36 mois | ≈ 600 € · soit 7 200 €/an |
Le siège Cursor reste une contribution aux features IDE (autocomplete inline, agent-mode, multi-cursor edit). Ce qu'on coupe, c'est la facture API en sus, pas l'abonnement éditeur lui-même.
Pointer Cursor sur la Box
1. Override de la base URL Anthropic
Dans Cursor → Settings → Models → Override Anthropic API. La clé peut être n'importe quelle valeur non vide (la Box ne valide que via X-LMbox-* headers en interne).
Anthropic Base URL: https://lmbox.local Anthropic API Key: $(lmbox vault get cursor_passthrough_key)
2. Sélectionner un modèle Claude dans Cursor
Choisir 'claude-sonnet-4.5' dans Cursor. La Box réécrit le model name selon le tier décidé (Mistral / Qwen / Sonnet).
$ lmbox router test "Refactor cross-fichiers le module billing"
{ "tier": "frontier", "score": 18, "would_route_to": "bedrock/anthropic.claude-sonnet-4-5-20250929-v1:0" }
3. Vérifier les coûts en fin de semaine
Au bout d'une semaine, l'audit log montre qui a routé où — utile pour calibrer le scoring si l'équipe trouve qu'un modèle local prend trop de requêtes 'difficiles'.
$ lmbox router stats 7 TIER REQ ERR TIN/M TOUT/M P50ms P95ms COST€ fast 4 230 1 2.84 0.51 78 142 0.00 medium 1 102 0 5.71 1.42 1430 2810 0.00 frontier 303 2 4.21 1.32 340 980 58.74 TOTAL 5 635 58.74
Brancher Cursor sur les connecteurs LMbox
Pattern C — Cursor supporte MCP nativement depuis la version 0.49. Trois étapes pour exposer SharePoint / Confluence / Jira / GitLab via @LMbox dans le chat Cursor.
1. Déclarer le serveur MCP dans Cursor
Créer .cursor/mcp.json à la racine du projet (par-projet) ou dans ~/.cursor/mcp.json (global). La clé sort du coffre age-chiffré.
{
"mcpServers": {
"LMbox": {
"url": "https://lmbox.local/mcp",
"headers": {
"x-lmbox-mcp-key": "${LMBOX_MCP_KEY}"
}
}
}
}
2. Vérifier les outils côté Box
Le serveur expose 4 outils. Cursor les voit après reload de la fenêtre.
$ lmbox mcp tools • search args=(query, source, top_k) • read_doc args=(doc_id, source) • list_sources args=() • find_similar args=(text, source, top_k)
3. Utiliser @LMbox dans le chat Cursor
Tapez @LMbox suivi d'une recherche. Cursor invoque l'outil search, la requête s'exécute dans la Box, seul le top-K est passé au modèle.
> @LMbox cherche dans Confluence le flux SSO Azure AD [tool] LMbox.search confluence "flux SSO Azure AD" → 8 hits [model] Le flux SSO est documenté sur 3 pages…
Cursor + MCP : pas d'exfiltration côté éditeur
Cursor exécute lui-même les appels MCP côté client — la requête part de votre poste vers la Box, jamais via Anthropic. Combiné avec le proxy LLM, ça veut dire qu'aucun byte de Confluence ou de SharePoint ne touche les serveurs Cursor ou Anthropic.
Ce que les équipes nous demandent avant de signer
+ Cursor envoie-t-il quand même des données chez eux ?
+ Quels modèles Cursor peuvent être routés ?
+ Comment je coupe le passthrough Anthropic en cas d'incident ?
+ Cursor accepte-t-il un base URL non-Anthropic ?
+ Depuis quand Cursor supporte MCP ?
On installe la Box, on connecte Cursor
POC 30 jours sur site avec une équipe de 10 à 30 développeurs. On mesure le ratio local/frontier réel + on désactive le tracking cloud Cursor partout où c'est possible. Si l'équipe râle, on remballe.