Cheap Labor
Abstract
Cheap Labor existiert, weil die Codex-Nutzung ein begrenztes Kontingent ist – und das meiste, was ein Coding-Agent tut, ist kein Schreiben von Code. Dateien lesen, das Repository erkunden, planen und Diffs reviewen verbrennen das Codex-Kontingent, ohne jemals Code zu schreiben.
Dann kam die entscheidende Erkenntnis: Die Nutzung von ChatGPT und Codex wird getrennt gezählt – zwei unabhängige Kontingente. Also haben wir beschlossen, die Arbeit aufzuteilen: ChatGPT übernimmt das gesamte Denken auf seinem eigenen Kontingent, und Codex wird nur für die tatsächliche Implementierung eingesetzt.
Das ist die ganze Idee – ein lokaler MCP-Server, verbunden über einen Secure MCP Tunnel: ChatGPT im Web steuert eine Codex CLI auf deinem Rechner, über dein lokales Repository, mit einem einzigen @cheap-labor-Auslöser.
Gebaut mit
Cheap Labor ist mit einem bewusst kleinen, plattformübergreifenden Stack gebaut:
Laufzeit: Node.js (>= 20) – Bridge-Server-Laufzeit
Sprache: TypeScript – der gesamte Bridge-Code
Protokoll: MCP SDK (
@modelcontextprotocol/sdk) – stdio MCP-Server + ClientValidierung: zod – Tool-Argument-Schemas
Ausführung: Codex CLI (
codex mcp-server) – gestarteter Child-MCP-Client für Erkundung und ImplementierungKonnektivität: Secure MCP Tunnel (
tunnel-client) – private, nur ausgehende Verbindung zwischen ChatGPT Web und dem lokalen Server
Related MCP server: Kontrol
Voraussetzungen
macOS oder Linux mit Node.js >= 20 + npm
git
Ein kostenpflichtiges ChatGPT-Konto mit Entwicklermodus
Codex CLI, angemeldet (
codex login)tunnel-client– wird während der Einrichtung installiert: macOS über Homebrew; Linux über die GitHub-Releases-Binärdatei (linux-amd64/arm64) in deinem PATHEin Secure MCP Tunnel + Runtime-API-Schlüssel von der OpenAI-Plattform (der Installer verweist dich auf die richtigen Seiten)
Installation
Weiter zu: 1. Klonen & installieren → 2. Verwenden
Repository klonen und hineinwechseln:
git clone https://github.com/psrisuphan/cheap-labor.git cd cheap-laborInstaller ausführen – er installiert Abhängigkeiten, baut die Bridge, schreibt dein Tunnel-Profil, validiert alle 23 Tools und führt dich durch das Verbinden der App mit ChatGPT Web:
./scripts/install.sh
Verwendung
Tunnel starten – ihn laufen lassen, während du cheap-labor verwendest:
./scripts/tunnel.sh start # stop: ./scripts/tunnel.sh stopEinen neuen ChatGPT-Chat öffnen und
@cheap-laboreingeben – denselben App-Namen, den du über das Tools-Menü hinzugefügt hast – und dann das Projekt erwähnen.Das Projektverzeichnis bestätigen, wenn du danach gefragt wirst – die Sitzung ist scharfgeschaltet.
Deinstallieren
./scripts/uninstall.shRäumt alles auf, was das Skript erreichen kann: die Legacy-MCP-Registrierung, den Tunnel-Daemon, den .codex-bridge/-Zustand in jedem initialisierten Projekt, das Tunnel-Profil und den gespeicherten API-Schlüssel sowie die Build-Artefakte. Drei Eingabeaufforderungen (Enter für die empfohlene Antwort drücken, n zum Behalten). Danach wird eine manuelle Bereinigungsanleitung für die Teile ausgegeben, die nur du erreichen kannst: die ChatGPT-App-Verbindung, den Platform-Tunnel, den Runtime-API-Schlüssel und den Projektordner.
So funktioniert es
Die Bridge ist ruhend, bis sie scharfgeschaltet wird. Im Ruhezustand liefert der Server nur einen zweizeiligen Hinweis „diese Tools ignorieren" als seine instructions, sodass unzusammenhängende Anfragen beantwortet werden, ohne dass die Bridge jemals berücksichtigt wird. Die vollständigen Workflow-Regeln befinden sich in der Rückgabe des init-Tools und gelangen erst nach dem Scharfschalten in die Konversation.
Der Auslöser ist der Aufruf selbst – keine Prompt-Überwachung, keine Tag-Syntax, kein Phrasen-Scannen:
Der Benutzer ruft cheap-labor auf, indem er
@cheap-laboreingibt. Das ist der einzige Auslöser.ChatGPT fragt, welches Projekt du möchtest, löst es auf (
find_projectsfür unscharfe Namen,create_projectfür neue Verzeichnisse), bestätigt den genauen Pfad mit dir und schaltet dann die Sitzung scharf –init(project)(odercreate_projectdirekt für ein brandneues Verzeichnis) und erhält einsession_token.Jedes andere Tool weigert sich, ohne ein gültiges
session_tokenzu laufen – eine harte Absicherung, die auch versehentliche Nutzung außerhalb des Workflows blockiert.
Der Workflow
Sitzung scharfschalten –
@cheap-labor+ Projekt bestätigen →initgibt das Token zurück.Verstehen –
git_status,list_tree,read_file,grep(alle kostenlos).Im Detail planen – ChatGPT schreibt
PLAN.md/SPEC.md/TASKS.mdin den.codex-bridge/-Ordner des Repos mitplan_write. Der Plan ist eine exakte Schritt-für-Schritt-Anleitung: welche Dateien zu erstellen/bearbeiten sind, was jede Änderung bewirken soll, welche Befehle auszuführen sind und wie zu verifizieren ist.Kleine Änderungen, direkt erledigt –
write_file/edit_fileerledigen Ein-Datei-Änderungen kostenlos.Schwere Arbeit delegieren –
implementübergibt den Plan an Codex, das die Schritte wörtlich ausführt, Builds/Tests ausführt, behebt, was bricht, undIMPLEMENTATION COMPLETEzurückgibt.Review – ChatGPT liest den zurückgegebenen
git diffund sendet gezielte Korrekturen über dieselbe Schleife zurück.
Funktionen
Ein-Auslöser-Aktivierung:
@cheap-laborin einem beliebigen ChatGPT-Chat ist der einzige Auslöser; die Bridge bleibt ruhend (null Modell-Aufmerksamkeit), bis sie aufgerufen wird – keine Prompt-Überwachung, keine Tag-Syntax, kein Phrasen-Scannen.Risikobasierte Ausführung: Befehle werden als schreibgeschützt vs. riskant klassifiziert; riskante Arbeit durchläuft die Codex-Auto-Review und dein Veto.
Integrierte Sicherheitsvorkehrungen: Projektpfad-Begrenzung, Geheimnis-Schwärzung, Checkpoints vor jedem schweren Lauf und nur lokale Commits, die niemals pushen.
Plattformübergreifend: macOS und Linux, keine öffentlichen Ports, nur ausgehender Tunnel.
Tool-Referenz
Kostenlose Bridge-Tools (deterministische lokale I/O, keine Codex-Kosten):
Tool | Zweck |
| Sitzung für ein Projekt scharfschalten (der einzige Einstiegspunkt); gibt das |
| Verzeichnisstruktur, tiefenbegrenzt |
| Dateiinhalte, zeilenbegrenzt, größenbegrenzt, Geheimnisse geschwärzt |
| Regex-Suche mit Include/Exclude-Globs |
| Repo-Zustand + die Review-Schleife (nicht verfolgte Dateien werden angezeigt) |
| Risikobasierte Verifikationsbefehle (Tests, Build) |
| Neue Datei direkt erstellen (weigert sich zu überschreiben) |
| Exakte-Übereinstimmung-Bearbeitung einer vorhandenen Datei (inhaltsbasierter Veraltungs-Schutz) |
| Stapel-Bearbeitungen/-Schreibvorgänge, alles-oder-nichts (kein Teilzustand) |
| Snapshot von HEAD + Arbeitsbaum für Rollback (automatisch vor |
| Zu einem Checkpoint wiederherstellen (benutzerbestätigt; selbst rückgängig machbar) |
| Lokal stagen + committen mit einer benutzerfreundlich genehmigten Nachricht (pusht nie) |
| Aufgezeichnete Checkpoints auflisten |
| Unscharfe Namen zu Kandidatenpfaden auflösen (flach, bekannte Orte) |
| Neues Projektverzeichnis erstellen (kein git init); gibt ein |
|
|
Codex-gestützte Tools (verbrauchen das Codex-Kontingent):
Tool | Zweck |
| Codex-Sitzung mit reinem Lesezugriff für Fragen, die kostenlose Tools nicht beantworten können |
| Codex mit Workspace-Schreibzugriff auf dem aktuellen Plan; liefert eine Zusammenfassung + |
| Sitzung per Thread-ID fortsetzen (Genehmigungs-Veto-Schleife, Folgeanfragen) |
Sicherheitsmodell
implement/deep_exploreübergeben immer eine explizite Sandbox (workspace-write/read-only) – niemalsdanger-full-access.Festes Codex-Modell – Bei jedem Codex-Aufruf wird fest
gpt-5.6-lunamitmedium-Reasoning und deaktiviertem Fast-Modus verwendet, übergeben als Overrides pro Aufruf. Die Brücke schreibt nie in~/.codex/config.toml. Die eine Ausnahme:deep_exploreakzeptiert ein stärkeres Modell, aber nur, nachdem du die Änderung im Chat bestätigt hast.Automatisch sichere Genehmigungen – Codex-Shell-Genehmigungen erscheinen als MCP-Rückfragen: Lesebefehle werden automatisch genehmigt; alles Riskante (Schreibzugriffe, Netzwerk, Git-Änderungen) wird abgelehnt und protokolliert, sodass ChatGPT es dir zur Veto-Entscheidung weiterleitet. Das Veto wird mit
codex_replyausgeführt.run_commandführt ausführbare Dateien direkt aus (keine Shell). Riskante Befehle werden an die automatische Prüfung von Codex delegiert – niemals mit vollem Zugriff, nichts Riskantes läuft unaufgefordert.write_fileerzeugt nur neue Dateien;edit_filebearbeitet nur vorhandene Dateien durch exakte Übereinstimmung (veraltete/mehrdeutige Übereinstimmungen schreiben nichts);edit_packbündelt alles als Alles-oder-nichts. Alle Tools begrenzen Dateigrößen und lehnen Binärdateien ab.Ship-Modus –
checkpointerstellt einen Schnappschuss von HEAD + Arbeitsbaum (automatisch vor jedemimplement);rollbackstellt einen Checkpoint wieder her (selbst rückgängig machbar);git_commitcommittet lokal mit einer benutzergenehmigten Nachricht. Push/pull/reset/rebase/checkout sind nie verfügbar.Die Bridge-Tools verweigern Pfade außerhalb des in der Sitzung genehmigten Projektverzeichnisses.
read_file/git_diffblenden standardmäßig bekannte geheime Muster aus.
Projektstruktur
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.jsonTests
Zum Ausführen der Unit-Test-Suiten:
npm run typecheck # tsc --noEmit
npm test # node --test (tsx)Lokale Daten und Logs
Cheap Labor speichert das Tunnel-Profil, den Laufzeit-API-Schlüssel und die Daemon-Logs lokal außerhalb des Projektverzeichnisses:
macOS / Linux:
~/.config/tunnel-client/
In diesem Verzeichnis findest du:
labor-labor.yaml– dastunnel-client-Profile(enthält die Tunnel-ID).cheap-labor.key– der Laufzeit-API-Schlüssel, chmod 600, niemals committet.cheap-labor.log– das Tunnel-Daemon-Log.
Pläne und Handoff-Dateien werden zur Laufzeit in den .codex-bridge/-Ordner des jeweiligen Projekts geschrieben (von Git ignoriert). Codex' eigene Konfiguration und Authentifizierung liegen in ~/.codex/.
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Den vollständigen Lizenztext findest du in der Datei 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