Skip to content

Anthropic built Scion for itself. Carbon Forge is yours →

Carbon Forge
Menu

Guia

Conecte Cursor, Codex e qualquer cliente MCP a um mesmo workspace do Carbon Forge

Quando Cursor, Codex e Claude Code guardam cada um as suas próprias notas, cada ferramenta conhece um projeto diferente. Aponte todos para um mesmo workspace do Carbon Forge e eles leem e escrevem o mesmo registro, que as pessoas também podem abrir.

Também em: English, Español, 日本語 · Todos os guias em português

Aviso: desenvolvemos o Carbon Forge na 100monkeys.ai, então leia isto como o relato de quem o fabrica. Este guia foi redigido por um dos nossos agentes de IA e revisado pela empresa; esta versão em português é uma tradução do guia original em inglês. Os passos do Carbon Forge citam a documentação pública (em inglês, com a tradução ao lado); a configuração de cada cliente foi copiada da documentação desse cliente, com link ao lado. A última seção lista o que a documentação não responde.

O que você vai montar

Um workspace, vários clientes, um token para cada um. O servidor do Carbon Forge fala Streamable HTTP, "binds every call to a workspace via a bearer token" (liga cada chamada a um workspace por meio de um token bearer), e "tools honor the cap exactly as a human session does: there is no agent-only privilege" (as ferramentas respeitam o limite exatamente como uma sessão humana: não há privilégio exclusivo de agente; MCP overview). Qualquer cliente que consiga enviar um cabeçalho HTTP pode se conectar. O Claude Code tem o seu próprio guia: Conecte o Claude Code ao Carbon Forge via MCP.

Passo 1. Crie um token por cliente

Entre em carbonforge.dev/login, abra as configurações, escolha API tokens, selecione o workspace, um papel máximo e um escopo de ferramentas, e "name the token after the agent or environment that will hold it" (dê ao token o nome do agente ou do ambiente que vai usá-lo; MCP tokens). Um token por cliente significa que o log de auditoria, que registra "every tool call ... under the token identity" (cada chamada de ferramenta sob a identidade do token), diz qual ferramenta fez o quê, e que você pode revogar um sem afetar os outros.

Escolha os escopos pelo trabalho (MCP token scopes): Basic LLM memory para um assistente que faz anotações, Read-only memory ou SCM reader para um que só lê, SCM agent para um que escreve código em lanes. A documentação aconselha: "Default to the narrowest preset that still covers what the client needs." (Comece pelo preset mais estreito que ainda cubra o que o cliente precisa.)

Passo 2. Guarde cada token numa variável de ambiente

O segredo "is shown once, then only the prefix" (é mostrado uma vez e depois só o prefixo). Os dois clientes abaixo conseguem lê-lo do ambiente, então ele nunca fica num arquivo de configuração que acabe num commit:

export CARBON_FORGE_TOKEN=‹token for this client›

Passo 3. Configure o Cursor

O Cursor lê os servidores MCP do mcp.json: ~/.cursor/mcp.json para todos os projetos, ou .cursor/mcp.json num projeto. Um servidor remoto recebe url e headers, e o Cursor resolve ${env:NAME} nos dois (documentação MCP do Cursor):

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

Passo 4. Configure o Codex

O Codex guarda os servidores MCP em ~/.codex/config.toml, ou em .codex/config.toml num projeto confiável. Um servidor Streamable HTTP recebe url, e bearer_token_env_var indica o "environment variable name for a bearer token to send in Authorization" (nome da variável de ambiente com o token bearer enviado em Authorization; documentação MCP do Codex):

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

Passo 5. Configure qualquer outro cliente MCP

Para o Claude Desktop, a documentação do Carbon Forge diz: "add an MCP server entry pointing at the instance URL with the token in the Authorization header" (adicione uma entrada de servidor MCP apontando para a URL da instância com o token no cabeçalho Authorization). Para plugins de IDE: "point the plugin at the same MCP endpoint; Streamable HTTP works over plain HTTPS" (aponte o plugin para o mesmo endpoint MCP; Streamable HTTP funciona sobre HTTPS comum). Seja qual for o formato de arquivo do cliente, estes são os três valores a informar:

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

Passo 6. Confira cada cliente com cortex.ground

Peça a cada cliente que chame cortex.ground. Ela retorna "the calling identity, what the bearer can do, what is reachable" (a identidade que chama, o que o portador pode fazer, o que está acessível; cortex.ground). Compare as respostas: todo cliente deve mostrar o mesmo workspace e as capacidades que o seu escopo permite. Um cliente com o token errado é recusado; a documentação diz que um token inválido é "refused outright rather than quietly treated as anonymous" (recusado de imediato, em vez de tratado em silêncio como anônimo).

Passo 7. Informe o workspace em cada chamada

Cada token lembra o seu próprio workspace atual, então "every agent has its own active workspace and they do not collide" (cada agente tem o seu próprio workspace ativo e eles não colidem; MCP token scopes). Isso também significa que dois clientes podem apontar em silêncio para workspaces diferentes. Diga a cada agente para passar workspace em toda chamada; as ferramentas aceitam e isso nunca move o ponteiro.

Passo 8. Dê a cada agente que escreve a sua própria lane

Notas compartilhadas são páginas; código compartilhado é onde os clientes colidem. No Carbon Forge um agente abre uma lane em vez de clonar: "A lane costs nothing to open and holds no copy, so one per task, or one per agent, is the expected use" (abrir uma lane não custa nada e ela não guarda cópia, então o esperado é uma por tarefa ou uma por agente; Working in lanes). O Carbon Forge nunca mescla texto sozinho; um patch que não se aplica mais volta como um conflito nomeado, e uma integração é um único changeset, tudo ou nada. O agente do Cursor e o Codex podem trabalhar no mesmo trunk sem um merge silencioso entre eles.

O que a documentação deixa sem resposta

Guias relacionados

Um workspace para todos os agentes que você roda.