Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Hand off coding tasks from ChatGPT, Codex or Claude Code to local Oh My Pi (OMP) workers.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
OMP_WORKER_OMP_COMMAND, OMP_WORKER_ALLOWED_ROOTSNecesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"omp-worker": {
"command": "npx",
"args": [
"-y",
"omp-worker-mcp"
],
"env": {
"OMP_WORKER_OMP_COMMAND": "your-value",
"OMP_WORKER_ALLOWED_ROOTS": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add omp-worker --env OMP_WORKER_OMP_COMMAND=your-value --env OMP_WORKER_ALLOWED_ROOTS=your-value -- npx -y omp-worker-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"omp-worker": {
"command": "npx",
"args": [
"-y",
"omp-worker-mcp"
],
"env": {
"OMP_WORKER_OMP_COMMAND": "your-value",
"OMP_WORKER_ALLOWED_ROOTS": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"omp-worker": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"omp-worker-mcp"
],
"env": {
"OMP_WORKER_OMP_COMMAND": "your-value",
"OMP_WORKER_ALLOWED_ROOTS": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
OMP_WORKER_ALLOWED_ROOTS envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub divenire990, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: OMP_WORKER_OMP_COMMAND
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.2.1) llegó al registro hace 14 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, OpenTakeoff
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Construction takeoff for AI agents: load plans, set scale, measure, count, export with provenance.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Let your main AI agent plan and review — and hand the hands-on coding to local [Oh My Pi](https://github.com/can1357/oh-my-pi) workers.
An MCP server that turns ChatGPT, Codex, Claude Code, Cursor and other MCP clients into a *supervisor*,
and Oh My Pi (OMP) on your own machine into its background *workforce*.
English · 简体中文 · Documentation
Quick start · Usage · Tools · Configuration · Safety model · FAQ
Most coding agents do everything in one place: read the code, plan, edit, run tests, fix — all inside one conversation and one model's budget. omp-worker-mcp splits that work into two roles:
| Role | Who | Responsibility |
|---|---|---|
| Supervisor | The agent you talk to: ChatGPT, Codex, Claude Code, Cursor… | Understands the request, splits the work, writes acceptance criteria, reviews the results |
| Worker | The OMP CLI on your machine, using the model you picked in omp setup | Reads files, edits code, runs shell commands and tests, reports back |
omp-worker-mcp is the bridge between them. It gives the supervisor a small set of MCP tools, starts OMP in the background, keeps every job on disk, and returns a short structured report instead of a wall of logs.
Highlights
omp_run_compact delegates a single task; omp_run_batch_compact runs up to 50 tasks as a dependency graph (DAG), up to 10 at a time.OMP_WORKER_RESULT envelope: status, summary, changed files, verification evidence and remaining items.omp_continue sends feedback to the *same* OMP session, so the worker keeps its context.OMP_WORKER_ALLOWED_ROOTS, available since 0.2.0; npm 0.1.1 lacks this feature) for the directories jobs may run in.A good fit when
Probably not worth it when
You need: Node.js ≥ 22 · Oh My Pi installed · an MCP client (Codex, Claude Code, Cursor, ChatGPT, …).
Install OMP by following its official instructions, then:
omp --version # confirm the CLI is on your PATH
omp setup # sign in and choose the default model
The default model you pick here is the model every worker will use. (Advanced: set modelRoles.default: / in ~/.omp/agent/config.yml.)
If
ompis not on yourPATH, setOMP_WORKER_OMP_COMMANDto the full path of the executable in the MCP config below.
There is nothing to install globally — the client runs the published package with npx -y omp-worker-mcp. Pick your client:
Codex — the author's daily setup
Edit ~/.codex/config.toml (Windows: C:\Users\ \.codex\config.toml):
[mcp_servers.omp-worker]
command = "npx" args = ["-y", "omp-worker-mcp"]
[mcp_servers.omp-worker.env] OMP_WORKER_OMP_COMMAND = "omp"
[features.code_mode] direct_only_tool_namespaces = ["mcp__omp_worker"]
*(If [features.code_mode] already exists in your config.toml, merge into that table and append "mcp__omp_worker" to direct_only_tool_namespaces rather than duplicating the table or overwriting existing entries. Legacy Codex builds used a top-level direct_only_tool_namespaces = ["mcp__omp_worker"] key before any [table] header. Neither setting is required to register the MCP server; see Codex direct namespace setup and the official Codex Config Reference.)*
ChatGPT (web) — via Secure MCP Tunnel
Version requirement (`>= 0.2.0`):
OMP_WORKER_ALLOWED_ROOTSis available sinceomp-worker-mcp0.2.0(historical npm0.1.1lacks this feature and does not enforceOMP_WORKER_ALLOWED_ROOTS). Confirmnpx -y omp-worker-mcp@latest --versionreports0.2.0or newer before exposing local execution remotely.
Run the server locally behind OpenAI's tunnel-client; your machine only makes outbound connections.
export OMP_WORKER_OMP_COMMAND=omp
export OMP_WORKER_ALLOWED_ROOTS='["/Users/you/Projects"]' # strongly recommended for remote access (available since 0.2.0; 0.1.1 lacks this feature) export CONTROL_PLANE_API_KEY=' '
tunnel-client init \ --sample sample_mcp_stdio_local \ --profile omp-worker \ --tunnel-id \ --mcp-command "npx -y omp-worker-mcp"
tunnel-client doctor --profile omp-worker --explain tunnel-client run --profile omp-worker
Windows PowerShell commands, 0.1.1 upgrade / local-build notes, managed runtime alternatives (tunnel-client runtimes connect), permission requirements and the full trust boundary: ChatGPT Secure MCP Tunnel guide.
Claude Code
claude mcp add omp-worker --scope user --env OMP_WORKER_OMP_COMMAND=omp -- npx -y omp-worker-mcp
Use --scope project to register it for the current project only. On Windows cmd.exe, if npx fails to resolve, use cmd /c npx.
Cursor · VS Code / Copilot · Windsurf · Continue · any JSON-config client
{
"mcpServers": { "omp-worker": { "command": "npx", "args": ["-y", "omp-worker-mcp"], "env": { "OMP_WORKER_OMP_COMMAND": "omp" } } } }
File locations and client-specific notes: Client configurations.
Restart the client after changing its config.
Registering the server makes the tools *available*; it does not make the agent *choose* them. Add a short policy to your project's instruction file — AGENTS.md (Codex), CLAUDE.md (Claude Code), .cursorrules / .github/copilot-instructions.md (others) — or to ChatGPT's project instructions:
## Delegation policy (omp-worker-mcp)
omp_run_compact, giving a clear goal and acceptance criteria.omp_run_batch_compact. Parallel write tasks need disjoint ownership; tasks touching the same files must be ordered with depends_on.omp_continue with specific feedback.git push, publishing, deployments or secret changes — confirm those with the user.
A fuller template: Author workflow → Policy template.
Start with something read-only:
Use omp-worker-mcp to do a read-only inspection of this workspace: summarize the
project structure and dependencies. Do not modify any files.
What you should see: the agent calls omp_run_compact, OMP works in the background, and a short summary comes back with no files changed. If the job runs longer than the wait window (60 s by default), the call returns a job_id with status running and the agent keeps going with omp_wait — that is normal.
Once the policy is in place you can just describe the outcome you want. The examples below show what the supervisor sends under the hood.
*"Add exponential backoff to the HTTP client in
src/net/, cover it with unit tests, and make surenpm testpasses."*
// omp_run_compact
{ "cwd": "/path/to/repo", "goal": "Add exponential backoff (max 5 retries) to src/net/client.ts for 5xx and network errors.", "acceptance": [ "Unit tests cover the retry and give-up paths", "npm test passes" ], "timeout_minutes": 30 }
What comes back is compact (abridged example):
{
"job_id": "job-…", "status": "completed", "attempt": 1, "max_attempts": 3, "session_id": "sess-…", "summary": "Added retry with exponential backoff to the HTTP client.", "artifacts": [ { "path": "src/net/client.ts", "description": "retry loop + backoff helper" }, { "path": "test/net/client.test.ts", "description": "retry / give-up tests" } ], "verification": ["npm test: all tests passed"], "remaining": [], "details_path": "…/jobs/job-…/job.json" }
*"Add a
/healthendpoint to the API and a status badge to the UI in parallel, then add an integration test that covers both."*
graph LR
api["api · write src/api/"] --> tests["tests · write tests/"] ui["ui · write src/ui/"] --> tests
// omp_run_batch_compact
{ "cwd": "/path/to/repo", "max_parallel": 2, "tasks": [ { "id": "api", "goal": "Add GET /health returning build info.", "access": "write", "ownership": ["src/api/"] }, { "id": "ui", "goal": "Show a status badge fed by /health.", "access": "write", "ownership": ["src/ui/"] }, { "id": "tests", "goal": "Add an integration test for /health and the badge.", "depends_on": ["api", "ui"], "access": "write", "ownership": ["tests/"], "acceptance": ["npm test passes"] } ] }
Rules worth knowing:
write tasks must list the paths they own in ownership (relative to cwd); read_only tasks list none.Solo se muestra el principio; lee el resto en el repo