Cheap Labor
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| initA | Arm the cheap-labor workflow for this chat: approves an EXISTING project and returns the session_token every other tool needs. Call it AFTER the user @-mentions cheap-labor AND names a project, once you've resolved it and they've confirmed the exact directory in chat. If the project doesn't exist yet, ask the user where to create it and call create_project instead (it arms the session too). Never call this unless the user mentioned cheap-labor. |
| find_projectsA | Resolve a fuzzy project name (e.g. 'the app on my Desktop') to candidate paths. Scans only shallow well-known locations (home, Desktop, Documents, Projects, Developer, code, dev, src, workspace), max 2 levels deep, skipping hidden dirs. Free local I/O. Use ONLY after the user has named a project in chat — never preemptively — then show candidates to the user and ask which is the correct directory before calling init. |
| create_projectA | Create a brand-new project DIRECTORY (git is NOT initialized — that's up to the user). Returns a session_token and arms the chat exactly like init — no second ask, the user's creation request IS the confirmation. Call when the user explicitly asks to create a new directory: resolve the absolute path yourself (expand ~; interpret 'Desktop', 'Documents', etc. as under the home directory), then call this directly. Never suggest shell commands like mkdir instead. Refuses paths that already exist and paths whose parent directory doesn't exist. |
| list_treeA | List the directory structure under a path inside a project root. Free local I/O — prefer over deep_explore for any directory layout question. |
| read_fileA | Read a file inside a project root, size-capped and line-ranged. Free local I/O — prefer over deep_explore for any file-content question. Refuses binary files and paths outside the approved project. |
| grepA | Regex search across files under a path inside a project root. Skips hidden dirs, node_modules, .git, binaries. Free local I/O — prefer over deep_explore for locating symbols/strings. |
| git_statusA | Working-tree status of a project root via git. Free local I/O — the first thing to check before planning or reviewing. |
| git_diffA | git diff inside a project root (unstaged by default). Free local I/O — the review loop: ChatGPT reads this and decides next steps. |
| git_logB | Recent commit history (oneline) of a project root. Free local I/O. |
| plan_readB | Read the .codex-bridge/ handoff files (PLAN.md, SPEC.md, TASKS.md) that carry the ChatGPT → Codex plan. Free local I/O. |
| plan_writeA | Write a .codex-bridge/ plan file (PLAN.md, SPEC.md, or TASKS.md). Replaces the file's entire contents. This is the handoff: implement picks these up on its next run. Plans must be detailed step-by-step instructions (exact files, changes, commands, verification) so Codex can execute them literally without thinking. |
| task_updateA | Update a task's status in .codex-bridge/TASKS.md (todo / in-progress / done / blocked). Matches by substring. Errors if the task line isn't found — TASKS.md is authored via plan_write, so add tasks by rewriting the file. |
| write_fileA | Create a NEW file directly (free — no Codex usage). Parent directories are created inside the approved project as needed. Refuses to overwrite existing files (use edit_file for changes). Content is written exactly as given. Use this for small, well-defined additions ChatGPT can make itself; delegate large multi-file work to implement. |
| edit_fileA | Edit an existing file directly via exact-match replacement (free — no Codex usage). The search text must match the file's current content exactly, once (or set replace_all) — a stale or ambiguous match refuses with nothing written, so re-read the file and retry. Use for small, well-defined edits ChatGPT can make itself; delegate large multi-file work to implement. |
| edit_packA | Batch several edits and/or new files into ONE all-or-nothing operation (free — no Codex usage). Every guard is validated against current on-disk content first; if ANY item fails, NOTHING is written (no partial state). Same-file edits chain in order. Use for multi-file changes that are still small and well-defined; delegate heavy work to implement. Max 20 items per pack. |
| checkpointA | Snapshot the current repo state (HEAD + working tree, tracked AND untracked) into a local checkpoint so it can be rolled back. Free local git plumbing — no Codex cost. Take one before risky edits or implement runs (implement takes one automatically). Never touches branches, history, or remotes. |
| rollbackA | Restore the working tree to a checkpoint (default: the latest). DESTRUCTIVE — call ONLY after the user explicitly approved the rollback in chat. Takes a fresh checkpoint of the current state first, so the rollback itself can be undone by rolling back again. |
| git_commitA | Stage the named files (or all changes) and commit them with the given message. The bridge's .codex-bridge/ folder is NEVER staged — your plans and checkpoints stay out of the commit history. Call ONLY after the user explicitly approved the message and the files in chat. Never pushes — remotes are never touched. |
| checkpointsA | List recorded checkpoints for this project (free local git plumbing). |
| run_commandA | Run a verification command (tests, build, typecheck) in a project. Read-only commands run directly (free). Risky commands (writes, network, git mutations, interpreter one-liners) are delegated to Codex, which runs them under its auto-review approval (Codex's own risk assessment decides — never full access, no user interruption). No shell — pass the executable and args separately. |
| deep_exploreA | Fallback for questions the free bridge tools can't answer (e.g. 'trace how auth is wired across 30 files'). Runs the official codex mcp-server in a READ-ONLY sandbox with capped scope, and returns findings only. Costs Codex usage — always try list_tree/read_file/grep/git_* first. |
| implementA | Run Codex (workspace-write sandbox) on the current task. Reads .codex-bridge/ plan files if present, edits the repo, runs builds/tests, fixes breakage, then appends the git diff for ChatGPT to review. The task must be a DETAILED step-by-step plan (exact files, changes, commands) — Codex executes it literally and never thinks or designs. Only call after ChatGPT has written that plan. Costs Codex usage (fixed gpt-5.6-luna). |
| codex_replyA | Continue an existing Codex session by thread id. Used to relay approval decisions ('The user approved: ' / 'The user denied: ; proceed without it') and to push a session forward. Thread ids come from implement/deep_explore results. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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