Skip to content

Anthropic built Scion for itself. Carbon Forge is yours →

Carbon Forge
Menu

Guide

Connecter Cursor, Codex et tout client MCP à un seul workspace Carbon Forge

Quand Cursor, Codex et Claude Code gardent chacun leurs propres notes, chaque outil connaît un projet différent. Pointez-les tous vers un seul workspace Carbon Forge et ils lisent et écrivent le même registre, que les personnes peuvent ouvrir aussi.

Aussi en: English, Español, Português, 日本語, Deutsch, 한국어, 简体中文, Italiano, हिन्दी · Tous les guides en français

Transparence : nous développons Carbon Forge chez 100monkeys.ai, lisez donc ceci comme le récit de son fabricant. Ce guide a été rédigé par l'un de nos agents d'IA puis relu par l'entreprise ; cette édition française est une traduction du guide original en anglais. Les étapes Carbon Forge citent la documentation publique, en anglais avec la traduction à côté ; la configuration de chaque client est copiée de la documentation de ce client, liée à côté. La dernière section liste ce à quoi la documentation ne répond pas.

Ce que vous construisez

Un workspace, plusieurs clients, un jeton chacun. Le serveur Carbon Forge parle Streamable HTTP, "binds every call to a workspace via a bearer token" (rattache chaque appel à un workspace via un bearer token), et "tools honor the cap exactly as a human session does: there is no agent-only privilege" (les outils respectent le plafond exactement comme une session humaine : il n'y a aucun privilège réservé aux agents) (MCP overview). Tout client capable d'envoyer un en-tête HTTP peut se brancher. Claude Code a son propre guide : Connecter Claude Code à Carbon Forge par MCP.

Étape 1. Créer un jeton par client

Connectez-vous sur carbonforge.dev/login, ouvrez les paramètres, choisissez API tokens, le workspace, un plafond de rôle et une portée d'outils, et "name the token after the agent or environment that will hold it" (nommez le jeton d'après l'agent ou l'environnement qui le détiendra) (MCP tokens). Un jeton par client signifie que le journal d'audit, qui enregistre "every tool call ... under the token identity" (chaque appel d'outil sous l'identité du jeton), vous dit quel outil a fait quoi, et vous pouvez en révoquer un sans toucher aux autres.

Choisissez les portées selon le travail (MCP token scopes) : Basic LLM memory pour un assistant qui prend des notes, Read-only memory ou SCM reader pour un client qui ne fait que lire, SCM agent pour un client qui écrit du code sur des lanes. La documentation conseille : "Default to the narrowest preset that still covers what the client needs." (Partez par défaut du préréglage le plus étroit qui couvre encore ce dont le client a besoin.)

Étape 2. Garder chaque jeton dans une variable d'environnement

Le secret "is shown once, then only the prefix." (est affiché une fois, puis seulement le préfixe.) Les deux clients ci-dessous peuvent le lire depuis l'environnement, pour qu'il ne se retrouve jamais dans un fichier de configuration qui finit dans un commit :

export CARBON_FORGE_TOKEN=‹token for this client›

Étape 3. Configurer Cursor

Cursor lit les serveurs MCP dans mcp.json : ~/.cursor/mcp.json pour tous les projets, ou .cursor/mcp.json dans un seul projet. Un serveur distant prend url et headers, et Cursor résout ${env:NAME} dans les deux (documentation MCP de Cursor) :

{
  "mcpServers": {
    "carbon-forge": {
      "url": "https://carbonforge.dev/api/mcp",
      "headers": {
        "Authorization": "Bearer ${env:CARBON_FORGE_TOKEN}"
      }
    }
  }
}

Étape 4. Configurer Codex

Codex garde les serveurs MCP dans ~/.codex/config.toml, ou .codex/config.toml dans un projet de confiance. Un serveur Streamable HTTP prend url, et bearer_token_env_var donne le "environment variable name for a bearer token to send in Authorization" (nom de la variable d'environnement du bearer token à envoyer dans Authorization) (documentation MCP de Codex) :

[mcp_servers.carbon_forge]
url = "https://carbonforge.dev/api/mcp"
bearer_token_env_var = "CARBON_FORGE_TOKEN"

Étape 5. Configurer tout autre client MCP

Pour Claude Desktop, la documentation de Carbon Forge dit : "add an MCP server entry pointing at the instance URL with the token in the Authorization header." (ajoutez une entrée de serveur MCP pointant vers l'URL de l'instance avec le jeton dans l'en-tête Authorization.) Pour les plugins d'IDE : "point the plugin at the same MCP endpoint; Streamable HTTP works over plain HTTPS." (pointez le plugin vers le même endpoint MCP ; Streamable HTTP fonctionne en HTTPS simple.) Quel que soit le format de fichier du client, voici les trois valeurs à saisir :

Endpoint:  https://carbonforge.dev/api/mcp
Transport: Streamable HTTP
Header:    Authorization: Bearer ‹token for this client›

Étape 6. Vérifier chaque client avec cortex.ground

Demandez à chaque client d'appeler cortex.ground. Il renvoie "the calling identity, what the bearer can do, what is reachable" (l'identité appelante, ce que le porteur peut faire, ce qui est accessible) (cortex.ground). Comparez les réponses : chaque client doit montrer le même workspace et les capacités que sa portée autorise. Un client au jeton erroné est refusé ; la documentation dit qu'un mauvais jeton est "refused outright rather than quietly treated as anonymous" (refusé d'emblée plutôt que traité en silence comme anonyme).

Étape 7. Nommer le workspace à chaque appel

Chaque jeton retient son propre workspace courant, donc "every agent has its own active workspace and they do not collide" (chaque agent a son propre workspace actif et ils ne se gênent pas) (MCP token scopes). Cela veut aussi dire que deux clients peuvent pointer sans bruit vers des workspaces différents. Demandez à chaque agent de passer workspace à chaque appel : les outils l'acceptent et il ne déplace jamais le pointeur.

Étape 8. Donner à chaque agent qui écrit sa propre lane

Les notes partagées sont des pages ; le code partagé est l'endroit où les clients se heurtent. Dans Carbon Forge, un agent ouvre une lane au lieu de cloner : "A lane costs nothing to open and holds no copy, so one per task, or one per agent, is the expected use" (ouvrir une lane ne coûte rien et elle ne contient aucune copie : une par tâche, ou une par agent, est l'usage prévu) (Working in lanes). Carbon Forge ne fusionne jamais le texte tout seul ; un patch qui ne s'applique plus revient comme un conflit nommé, et une intégration est un seul changeset, tout ou rien. L'agent de Cursor et Codex peuvent travailler sur le même trunk sans fusion silencieuse entre eux.

Ce que la documentation laisse sans réponse

Guides liés

Un seul workspace pour chaque agent que vous faites tourner.