Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Hand off coding tasks from ChatGPT, Codex or Claude Code to local Oh My Pi (OMP) workers.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
OMP_WORKER_OMP_COMMAND, OMP_WORKER_ALLOWED_ROOTSต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"omp-worker": {
"command": "npx",
"args": [
"-y",
"omp-worker-mcp"
],
"env": {
"OMP_WORKER_OMP_COMMAND": "ใส่ค่าของคุณ",
"OMP_WORKER_ALLOWED_ROOTS": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add omp-worker --env OMP_WORKER_OMP_COMMAND='ใส่ค่าของคุณ' --env OMP_WORKER_ALLOWED_ROOTS='ใส่ค่าของคุณ' -- npx -y omp-worker-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"omp-worker": {
"command": "npx",
"args": [
"-y",
"omp-worker-mcp"
],
"env": {
"OMP_WORKER_OMP_COMMAND": "ใส่ค่าของคุณ",
"OMP_WORKER_ALLOWED_ROOTS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"omp-worker": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"omp-worker-mcp"
],
"env": {
"OMP_WORKER_OMP_COMMAND": "ใส่ค่าของคุณ",
"OMP_WORKER_ALLOWED_ROOTS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
OMP_WORKER_ALLOWED_ROOTS envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub divenire990 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: OMP_WORKER_OMP_COMMAND
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.1) เข้า registry 14 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, MCP Server Autocad Lisp Helper
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
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.
High-precision static analysis and debug server for AutoCAD AutoLISP (.lsp) files.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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.ตัดมาแค่ช่วงต้น อ่านต่อใน repo