다른 언어: English, Español, Português, 日本語, Deutsch, Français, 简体中文, Italiano, हिन्दी · 한국어 가이드 전체
공개: 저희는 100monkeys.ai에서 Carbon Forge를 만들고 있으므로 이 글은 만든 쪽의 설명으로 읽어 주세요. 이 가이드는 저희 AI 에이전트 하나가 초안을 쓰고 회사가 검토했으며, 이 한국어판은 영어 원문 가이드의 번역입니다. Carbon Forge 단계는 공개 문서(영어)를 인용하고, 각 클라이언트의 설정은 옆에 링크한 그 클라이언트 자체의 문서에서 복사했습니다. 인용은 영어 원문 옆에 번역을 붙였습니다. 마지막 절은 문서가 답하지 않는 것을 정리합니다.
무엇을 만드는가
워크스페이스 하나, 클라이언트 여럿, 각각 토큰 하나. Carbon Forge 서버는 Streamable HTTP로 통신하고, "binds every call to a workspace via a bearer token"(bearer 토큰으로 모든 호출을 하나의 워크스페이스에 묶으며), "tools honor the cap exactly as a human session does: there is no agent-only privilege"(도구는 사람의 세션과 똑같이 권한 상한을 지킵니다. 에이전트만의 특권은 없습니다)(MCP overview). HTTP 헤더를 보낼 수 있는 클라이언트라면 무엇이든 붙을 수 있습니다. Claude Code에는 별도의 가이드가 있습니다. MCP로 Claude Code를 Carbon Forge에 연결하기.
1단계. 클라이언트마다 토큰 하나 발급하기
carbonforge.dev/login에서 로그인하고, 설정을 열어 API tokens를 고르고, 워크스페이스, 역할 상한, 도구 범위를 선택한 다음 "name the token after the agent or environment that will hold it"(토큰을 가질 에이전트나 환경의 이름을 붙이세요)(MCP tokens). 클라이언트마다 토큰 하나를 쓰면, "every tool call ... under the token identity"(모든 도구 호출을 ... 토큰의 신원 아래) 기록하는 감사 로그가 어느 도구가 무엇을 했는지 알려 주고, 다른 토큰을 건드리지 않고 하나만 폐기할 수 있습니다.
범위는 일에 맞춰 고르세요(MCP token scopes). 메모를 남기는 어시스턴트에는 Basic LLM memory, 읽기만 하는 클라이언트에는 Read-only memory나 SCM reader, lane에서 코드를 쓰는 클라이언트에는 SCM agent. 문서의 권고: "Default to the narrowest preset that still covers what the client needs."(클라이언트에 필요한 것을 여전히 덮는 가장 좁은 프리셋을 기본으로 하세요.)
2단계. 각 토큰을 환경 변수에 두기
비밀 값은 "is shown once, then only the prefix."(한 번만 보이고, 그다음에는 접두사만 보입니다.) 아래 두 클라이언트는 환경에서 그것을 읽을 수 있으므로, 커밋에 들어갈 설정 파일에 남지 않습니다.
export CARBON_FORGE_TOKEN=‹token for this client› 3단계. Cursor 설정하기
Cursor는 MCP 서버를 mcp.json에서 읽습니다. 모든 프로젝트에는 ~/.cursor/mcp.json, 한 프로젝트에는 .cursor/mcp.json입니다. 원격 서버는 url과 headers를 받고, Cursor는 둘 다에서 ${env:NAME}을 해석합니다(Cursor MCP docs).
{
"mcpServers": {
"carbon-forge": {
"url": "https://carbonforge.dev/api/mcp",
"headers": {
"Authorization": "Bearer ${env:CARBON_FORGE_TOKEN}"
}
}
}
} 4단계. Codex 설정하기
Codex는 MCP 서버를 ~/.codex/config.toml에, 또는 신뢰하는 프로젝트의 .codex/config.toml에 저장합니다. Streamable HTTP 서버는 url을 받고, bearer_token_env_var는 "environment variable name for a bearer token to send in Authorization"(Authorization에 보낼 bearer 토큰의 환경 변수 이름)을 지정합니다(Codex MCP docs).
[mcp_servers.carbon_forge]
url = "https://carbonforge.dev/api/mcp"
bearer_token_env_var = "CARBON_FORGE_TOKEN" 5단계. 다른 MCP 클라이언트 설정하기
Claude Desktop에 대해 Carbon Forge 문서는 "add an MCP server entry pointing at the instance URL with the token in the Authorization header."(인스턴스 URL을 가리키고 Authorization 헤더에 토큰을 넣은 MCP 서버 항목을 추가하세요)라고 말합니다. IDE 플러그인에 대해서는 "point the plugin at the same MCP endpoint; Streamable HTTP works over plain HTTPS."(플러그인을 같은 MCP 엔드포인트로 향하게 하세요. Streamable HTTP는 일반 HTTPS 위에서 작동합니다.) 클라이언트의 파일 형식이 무엇이든 입력할 값은 이 세 가지입니다.
Endpoint: https://carbonforge.dev/api/mcp
Transport: Streamable HTTP
Header: Authorization: Bearer ‹token for this client› 6단계. cortex.ground로 각 클라이언트 확인하기
각 클라이언트에 cortex.ground를 호출하라고 하세요. 그것은 "the calling identity, what the bearer can do, what is reachable"(호출한 신원, 토큰 보유자가 할 수 있는 일, 닿을 수 있는 곳)을 돌려줍니다(cortex.ground). 답을 비교하세요. 모든 클라이언트가 같은 워크스페이스와 그 범위가 허용하는 기능을 보여야 합니다. 토큰이 잘못된 클라이언트는 거부됩니다. 문서는 잘못된 토큰이 "refused outright rather than quietly treated as anonymous"(조용히 익명으로 취급되지 않고 곧바로 거부된다)고 말합니다.
7단계. 모든 호출에 워크스페이스 지정하기
토큰마다 자기 현재 워크스페이스를 기억하므로 "every agent has its own active workspace and they do not collide"(모든 에이전트가 자기 활성 워크스페이스를 가지며 서로 충돌하지 않습니다)(MCP token scopes). 이는 두 클라이언트가 조용히 서로 다른 워크스페이스를 가리킬 수 있다는 뜻이기도 합니다. 각 에이전트에게 모든 호출에 workspace를 넘기라고 하세요. 도구가 받아들이며, 포인터를 옮기지 않습니다.
8단계. 쓰기 에이전트마다 lane 하나씩 주기
공유 메모는 페이지입니다. 클라이언트가 부딪히는 곳은 공유 코드입니다. Carbon Forge에서 에이전트는 clone하는 대신 lane을 엽니다. "A lane costs nothing to open and holds no copy, so one per task, or one per agent, is the expected use"(lane은 여는 데 비용이 없고 복사본을 갖지 않으므로, 작업마다 또는 에이전트마다 하나씩 쓰는 것이 기대되는 사용법입니다)(Working in lanes). Carbon Forge는 텍스트를 저절로 병합하지 않습니다. 더 이상 적용되지 않는 패치는 이름이 붙은 충돌로 돌아오고, 랜딩은 전부 아니면 전무인 하나의 changeset입니다. Cursor의 에이전트와 Codex는 둘 사이에 조용한 병합 없이 같은 trunk에서 일할 수 있습니다.
문서가 답하지 않는 것
- 클라이언트별 설정. Carbon Forge 문서는 Claude Desktop과 IDE 플러그인을 각각 한 문장으로 언급할 뿐 Cursor나 Codex용 파일은 주지 않습니다. 위의 스니펫은 Cursor와 Codex의 문서에서 왔습니다.
- 자체 호스트나 커스텀 도메인에 있는 인스턴스의 엔드포인트는 나와 있지 않습니다. 문서가 지정하는 것은
https://carbonforge.dev/api/mcp입니다. - How MCP works 페이지는
/mcp로 보내는 curl 호출을 보여 주지만, 익명 접근 페이지는/api/mcp를 씁니다. - 토큰이 저절로 만료되는지는 나와 있지 않습니다. 폐기하는 방법은 나와 있습니다.
- MCP 클라이언트용 OAuth 로그인은 언급되지 않습니다. 문서화된 방법은 bearer 토큰입니다.
관련 가이드
- MCP로 Claude Code를 Carbon Forge에 연결하기
- How to give an orchestrator an approval step (100monkeys.ai, 영어)
- 이메일과 캘린더를 승인 방식으로 처리하는 Zaru 어시스턴트 설정하기 (myzaru.com)