Configurer le serveur MCP carbon-llm dans Claude Code & Cursor

Les URL publiques utilisent /mcp et /v1/session (réécrites vers /api/mcp et /api/v1/session sur ce site). Utilisez votre clé existante isv_live_sk_ / isv_test_sk_. Les estimations s'appuient sur le même modèle token × coefficient que la production /v1/track (indicatif ; pas un wattmètre).

Vue d'ensemble
Nouveau dans ce flux ? Lisez d'abord la page produit courte, puis revenez ici pour les URL exactes et les extraits IDE.
1. Ce que vous obtenez
Après chaque appel d'outil, nous enregistrons les tokens de prompt/complétion, attribuons le CO₂e, et agrégeons par session et par développeur et par jour. L'« équivalent » streaming est une comparaison à l'ordre de grandeur (voir méthodologie).
2. Endpoints
URL publiques (les réécritures retirent /api lorsque configuré).

GET https://carbon-llm.com/mcp/manifest, manifeste d'outils (sans auth)

POST https://carbon-llm.com/api/mcp, Authorization: Bearer isv_…

GET https://carbon-llm.com/api/v1/session/<developer_id>/today , agrégats du jour (encoder les emails en URL)

3. Corps de requête (POST /mcp)
{
  "tool": "track_carbon",
  "input": {
    "prompt_tokens": 1200,
    "completion_tokens": 400,
    "model": "claude-3-5-sonnet-20241022",
    "session_id": "2026-03-30-my-repo",
    "developer_id": "you@company.com"
  }
}

session_id et developer_id prennent une valeur par défaut s'ils sont omis (voir le comportement de l'API).

4. Configuration Claude Code (exemple)
Pointez MCP vers votre hôte déployé ; utilisez la même clé Bearer que pour l'API REST.
// ~/.claude/config.json (exemple, les noms de champ dépendent de la version de Claude Code)
{
  "mcpServers": {
    "carbon-llm": {
      "url": "https://carbon-llm.com/mcp",
      "headers": {
        "Authorization": "Bearer isv_live_sk_…"
      }
    }
  }
}
5. Cursor & autres clients (exemple)
L'emplacement du fichier et la forme JSON dépendent de la version de votre éditeur, vérifiez auprès de la documentation MCP actuelle de Cursor. Le libellé du connecteur (ex. carbon-llm) est local uniquement ; le service est carbon-llm.
// .cursor/mcp.json (indicatif, vérifiez le chemin avec la doc Cursor)
{
  "mcpServers": {
    "carbon-llm": {
      "url": "https://carbon-llm.com/mcp",
      "headers": {
        "Authorization": "Bearer isv_test_sk_…"
      }
    }
  }
}
6. Vérifier votre déploiement
Utilisez la même origine que celle définie dans NEXT_PUBLIC_APP_URL (hôte de production).

Manifeste (sans auth) : ouvrez https://carbon-llm.com/mcp/manifest dans un navigateur ou curl -sS https://carbon-llm.com/mcp/manifest.

POST avec Bearer : voir le README pour un curl minimal vers https://carbon-llm.com/api/mcp.

Le chemin public /mcp est réécrit vers /api/mcp, les deux pointent vers le même gestionnaire.

7. Dépannage

401 / clé invalide : utilisez une clé depuis Tableau de bord → Clés API ; les clés de test et live fonctionnent toutes deux pour MCP, préfixe isv_test_sk_ ou isv_live_sk_.

Mauvais hôte : l'URL MCP doit correspondre à l'origine carbon-llm déployée (sans faute, https en production).

Aucun événement : vérifiez que l'IDE appelle bien l'outil après les réponses ; consultez l'usage du tableau de bord en cas de doute.