Cheap Labor
개요
Cheap Labor가 존재하는 이유는 Codex 사용량이 제한된 풀이기 때문입니다 — 그리고 코딩 에이전트가 하는 일의 대부분은 코드를 작성하는 것이 아닙니다. 파일 읽기, 저장소 탐색, 계획 수립, diff 리뷰는 모두 코드를 한 줄도 작성하지 않으면서 Codex 허용량을 소모합니다.
그리고 핵심적인 깨달음이 있었습니다: ChatGPT와 Codex 사용량은 별도로 집계됩니다 — 두 개의 독립적인 허용량입니다. 그래서 우리는 작업을 분리하기로 결정했습니다: ChatGPT는 자체 허용량으로 모든 사고를 담당하고, Codex는 실제 구현에만 사용됩니다.
이것이 전체 아이디어입니다 — Secure MCP Tunnel로 연결된 로컬 MCP 서버: 웹의 ChatGPT가 사용자 머신의 Codex CLI를 로컬 저장소에서 구동하며, 단일 @cheap-labor 트리거로 작동합니다.
사용된 기술
Cheap Labor는 의도적으로 작고 크로스 플랫폼인 스택으로 구축되었습니다:
런타임: Node.js (>= 20) — 브리지 서버 런타임
언어: TypeScript — 모든 브리지 코드
프로토콜: MCP SDK (
@modelcontextprotocol/sdk) — stdio MCP 서버 + 클라이언트검증: zod — 도구 인자 스키마
실행기: Codex CLI (
codex mcp-server) — 탐색 및 구현을 위한 하위 MCP 클라이언트연결: Secure MCP Tunnel (
tunnel-client) — ChatGPT 웹과 로컬 서버 간의 비공개, 아웃바운드 전용 링크
Related MCP server: Kontrol
사전 요구사항
macOS 또는 Linux + Node.js >= 20 + npm
git
개발자 모드가 활성화된 유료 ChatGPT 계정
로그인된 Codex CLI (
codex login)tunnel-client— 설정 중 설치됨: macOS는 Homebrew, Linux는 GitHub releases 바이너리(linux-amd64/arm64)를 PATH에 추가OpenAI 플랫폼의 Secure MCP Tunnel + 런타임 API 키 (설치 프로그램이 해당 페이지로 안내합니다)
설치
바로가기: 1. 클론 및 설치 → 2. 사용하기
저장소를 클론하고 해당 디렉토리로 이동합니다:
git clone https://github.com/psrisuphan/cheap-labor.git cd cheap-labor설치 프로그램을 실행합니다 — 의존성 설치, 브리지 빌드, 터널 프로필 작성, 23개 도구 전체 검증, 그리고 앱을 ChatGPT 웹에 연결하는 과정을 안내합니다:
./scripts/install.sh
사용 방법
터널을 시작합니다 — cheap-labor를 사용하는 동안 계속 실행 상태를 유지합니다:
./scripts/tunnel.sh start # stop: ./scripts/tunnel.sh stop새 ChatGPT 채팅을 열고
@cheap-labor를 입력합니다 — 도구 메뉴에서 추가한 앱 이름과 동일합니다 — 그런 다음 프로젝트를 언급합니다.요청 시 프로젝트 디렉토리를 확인합니다 — 세션이 준비됩니다.
제거
./scripts/uninstall.sh스크립트가 접근할 수 있는 모든 것을 정리합니다: 레거시 MCP 등록, 터널 데몬, 초기화된 모든 프로젝트의 .codex-bridge/ 상태, 터널 프로필 및 저장된 API 키, 빌드 산출물. 세 개의 프롬프트가 표시됩니다(권장 답변은 Enter, 유지하려면 n). 완료 후에는 사용자만 접근할 수 있는 부분에 대한 수동 정리 가이드를 출력합니다: ChatGPT 앱 연결, Platform 터널, 런타임 API 키, 프로젝트 폴더.
작동 방식
브리지는 준비되기 전까지 휴면 상태입니다. 휴면 중에는 서버가 instructions로 두 줄짜리 "이 도구들은 무시하세요" 공지만 제공하므로, 관련 없는 프롬프트는 브리지가 고려되지 않은 채 응답됩니다. 전체 워크플로우 규칙은 init 도구의 반환 페이로드에 있으며, 준비된 후에만 대화에 들어갑니다.
트리거는 호출 자체입니다 — 프롬프트 모니터링, 태그 구문, 문구 스캔이 없습니다:
사용자가
@cheap-labor를 입력하여 cheap-labor를 호출합니다. 이것이 유일한 트리거입니다.ChatGPT가 어떤 프로젝트를 원하는지 묻고, 이를 해석한 후(
find_projects로 퍼지 이름,create_project로 새 디렉토리), 정확한 경로를 사용자와 확인한 다음 세션을 준비합니다 —init(project)(또는 완전히 새로운 디렉토리의 경우create_project직접 호출)를 실행하고session_token을 받습니다.다른 모든 도구는 유효한
session_token없이는 실행을 거부합니다 — 워크플로우 외부의 우발적 사용을 차단하는 강력한 안전장치입니다.
워크플로우
세션 준비 —
@cheap-labor+ 프로젝트 확인 →init이 토큰을 반환합니다.이해 —
git_status,list_tree,read_file,grep(모두 무료).상세 계획 — ChatGPT가
plan_write로 저장소의.codex-bridge/폴더에PLAN.md/SPEC.md/TASKS.md를 작성합니다. 계획은 정확한 단계별 지침입니다: 생성/수정할 파일, 각 변경의 내용, 실행할 명령, 검증 방법.작은 수정은 직접 —
write_file/edit_file이 단일 파일 변경을 무료로 처리합니다.무거운 작업 위임 —
implement가 계획을 Codex에 넘기고, Codex는 단계를 그대로 실행하고, 빌드/테스트를 수행하고, 깨진 부분을 수정한 후IMPLEMENTATION COMPLETE를 반환합니다.리뷰 — ChatGPT가 반환된
git diff를 읽고 동일한 루프를 통해 대상 수정 사항을 보냅니다.
기능
단일 트리거 활성화: 모든 ChatGPT 채팅에서
@cheap-labor가 유일한 트리거입니다. 호출되기 전까지 브리지는 휴면 상태(모델 주의 소모 없음)를 유지합니다 — 프롬프트 모니터링, 태그 구문, 문구 스캔이 없습니다.위험 기반 실행: 명령을 읽기 전용과 위험으로 분류합니다. 위험한 작업은 Codex 자동 리뷰와 사용자 거부권을 거칩니다.
내장 안전장치: 프로젝트 경로 범위 제한, 비밀 정보 삭제, 모든 대규모 실행 전 체크포인트, 푸시하지 않는 로컬 전용 커밋.
크로스 플랫폼: macOS 및 Linux, 공개 포트 없음, 아웃바운드 전용 터널.
도구 참조
무료 브리지 도구(결정적 로컬 I/O, Codex 비용 없음):
도구 | 용도 |
| 프로젝트에 대한 세션 준비(단일 진입점); |
| 디렉토리 구조, 깊이 제한 |
| 파일 내용, 줄 범위, 크기 제한, 비밀 정보 삭제 |
| 포함/제외 글로브가 있는 정규식 검색 |
| 저장소 상태 + 리뷰 루프(추적되지 않은 파일 표시) |
| 위험 기반 검증 명령(테스트, 빌드) |
| 새 파일 직접 생성(덮어쓰기 거부) |
| 기존 파일의 정확한 일치 편집(콘텐츠 기반 오래된 상태 가드) |
| 일괄 편집/쓰기, 전체 또는 전무(부분 상태 없음) |
| 롤백을 위한 HEAD + 작업 트리 스냅샷( |
| 체크포인트로 복원(사용자 확인 필요, 자체적으로도 되돌릴 수 있음) |
| 사용자 승인 메시지로 로컬 스테이징 + 커밋(절대 푸시하지 않음) |
| 기록된 체크포인트 목록 |
| 퍼지 이름을 후보 경로로 해석(얕은, 잘 알려진 위치) |
| 새 프로젝트 디렉토리 생성(git init 없음); |
|
|
Codex 기반 도구(Codex 풀 사용):
도구 | 용도 |
| 무료 도구로는 답할 수 없는 질문을 위한 read-only Codex 세션 |
| 현재 계획에 대해 workspace-write Codex 실행; 요약 + |
| 스레드 ID로 세션 계속하기 (승인 거부 루프, 후속 작업) |
안전 모델
implement/deep_explore는 항상 명시적 샌드박스(workspace-write/read-only)를 전달합니다 — 절대danger-full-access를 사용하지 않습니다.고정 Codex 모델 — 모든 Codex 호출은
gpt-5.6-luna를medium추론, Fast Mode 끔으로 고정하며, 호출별 재정의로 전달됩니다. 브리지는~/.codex/config.toml에 절대 쓰지 않습니다. 단 한 가지 예외:deep_explore는 더 강력한 모델을 허용하지만, 채팅에서 변경을 확인한 후에만 가능합니다.자동 안전 승인 — Codex 셸 승인은 MCP 요청으로 표시됩니다: 읽기 전용 명령은 자동 승인되고, 위험한 작업(쓰기, 네트워크, git 변경)은 거부되고 기록되어 ChatGPT가 거부권 행사를 위해 전달합니다. 거부권은
codex_reply로 실행됩니다.run_command는 실행 파일을 직접 실행합니다(셸 없음). 위험한 명령은 Codex의 자동 검토에 위임됩니다 — 전체 액세스는 절대 없으며, 위험한 작업이 프롬프트 없이 실행되지 않습니다.write_file은 새 파일만 만들고,edit_file은 정확히 일치하는 대체를 통해서만 기존 파일을 수정합니다(오래되었거나 모호한 일치는 아무것도 쓰지 않음).edit_pack은 전체 또는 전무(all-or-nothing)로 일괄 처리합니다. 모든 파일은 크기를 제한하고 바이너리 파일을 거부합니다.배송 모드 —
checkpoint는 HEAD + 작업 트리 스냅샷을 만듭니다(모든implement전에 자동으로 촬영).rollback은 체크포인트를 복원합니다(그 자체로 실행 취소 가능).git_commit은 사용자가 승인한 메시지로 로컬에서 커밋합니다. push/pull/reset/rebase/checkout은 절대 노출되지 않습니다.브리지 도구는 세션에서 승인한 프로젝트 디렉터리 밖의 경로를 거부합니다.
read_file/git_diff는 기본적으로 알려진 비밀 패턴을 마스킹합니다.
프로젝트 구조
cheap-labor/
├── assets/ # Logo / icons
├── scripts/ # Installer, uninstaller, tunnel control, setup
│ ├── install.sh # All-in-one installer
│ ├── uninstall.sh # Clean uninstaller
│ ├── tunnel-setup.sh # Writes the tunnel-client profile
│ ├── tunnel.sh # start / stop / restart / status / logs the tunnel daemon
│ └── setup.mjs # Prerequisite check
├── src/ # Bridge MCP server
│ ├── index.ts # Server entry, tool registration, server instructions
│ ├── safety.ts # Project scoping, redaction, risk classification
│ ├── projects.ts # Session approvals, ledger, find/create
│ ├── planstore.ts # .codex-bridge/ I/O
│ ├── approvals.ts # Auto-safe policy
│ └── tools/ # context, command, codexCommand, codex, deepExplore,
│ # implement, edit, plans, ship
├── tests/ # Node test suite
├── dist/ # Build output (gitignored)
└── package.json테스트
단위 테스트 스위트를 실행하려면:
npm run typecheck # tsc --noEmit
npm test # node --test (tsx)로컬 데이터 및 로그
Cheap Labor는 터널 프로필, 런타임 API 키, 데몬 로그를 프로젝트 디렉터리 밖의 로컬에 저장합니다:
macOS / Linux:
~/.config/tunnel-client/
이 디렉터리 안에는 다음이 있습니다:
cheap-labor.yaml—tunnel-client프로필(터널 ID 포함).cheap-labor.key— 런타임 API 키, chmod 600, 절대 커밋되지 않음.cheap-labor.log— 터널 데몬 로그.
계획 및 핸드오프 파일은 런타임에 각 프로젝트의 .codex-bridge/ 폴더에 기록됩니다(gitignore 처리됨). Codex 자체 구성 및 인증은 ~/.codex/에 있습니다.
라이선스
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 전체 라이선스 전문은 LICENSE 파일을 참조하세요.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceAn MCP server that provides AI coding agents with AST-accurate, context-budget-aware codebase querying, safety gates, and team policy integration via structured tools and a local plugin layer.5724MIT
- Alicense-qualityBmaintenanceA self-hosted MCP server that enables AI coding agents to read, edit, search, and run code in local projects with human review loops and policy controls.MIT
- AlicenseAqualityAmaintenanceMCP server that enables a coordinator AI agent to spawn, control, and supervise local coding agents with interactive gating for high-risk operations.10381MIT
- Alicense-qualityCmaintenanceLocal MCP server enabling Codex and ChatGPT to read/write files, execute commands, manage processes, use Git, and inspect images on the user's machine with full privileges.Apache 2.0
Related MCP Connectors
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
An MCP server that gives your AI access to the source code and docs of all public github repos
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/psrisuphan/cheap-labor'
If you have feedback or need assistance with the MCP directory API, please join our Discord server