Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Stdio relay connecting Zed, Claude Desktop, Cursor and Codex to NV oOS WordPress MCP endpoints.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
MCP_AI_BASE_URL, MCP_AI_TOKEN, MCP_AI_HTTP_TIMEOUTค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"nvoos-bridge": {
"command": "npx",
"args": [
"-y",
"@nvdigitalsolutions/nvoos-mcp-bridge"
],
"env": {
"MCP_AI_BASE_URL": "ใส่ค่าของคุณ",
"MCP_AI_TOKEN": "ใส่ค่าของคุณ",
"MCP_AI_HTTP_TIMEOUT": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add nvoos-bridge --env MCP_AI_BASE_URL='ใส่ค่าของคุณ' --env MCP_AI_TOKEN='ใส่ค่าของคุณ' --env MCP_AI_HTTP_TIMEOUT='ใส่ค่าของคุณ' -- npx -y @nvdigitalsolutions/nvoos-mcp-bridgeเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"nvoos-bridge": {
"command": "npx",
"args": [
"-y",
"@nvdigitalsolutions/nvoos-mcp-bridge"
],
"env": {
"MCP_AI_BASE_URL": "ใส่ค่าของคุณ",
"MCP_AI_TOKEN": "ใส่ค่าของคุณ",
"MCP_AI_HTTP_TIMEOUT": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"nvoos-bridge": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@nvdigitalsolutions/nvoos-mcp-bridge"
],
"env": {
"MCP_AI_BASE_URL": "ใส่ค่าของคุณ",
"MCP_AI_TOKEN": "ใส่ค่าของคุณ",
"MCP_AI_HTTP_TIMEOUT": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
MCP_AI_HTTP_TIMEOUT envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub nvdigitalsolutions ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: MCP_AI_BASE_URL, MCP_AI_TOKEN
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.0-alpha.4) เข้า registry 31 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, MONS
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.
Build and adjust your clients' MONS training plans: programs, templates, exercises, sets, reps.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Zero-dependency MCP stdio ↔ HTTP relay for NV oOS (Open Operator System) WordPress sites.
Every NV oOS site exposes a JSON-RPC 2.0 MCP endpoint at https:// /wp-json/mcp-ai/v1/mcp. Most editors and agents (Zed, Claude Desktop, Cursor, Codex) spawn MCP servers over stdio — this package bridges the two transports. Two binaries ship:
| Binary | Use when |
|---|---|
nvoos-mcp | The site is reachable over HTTPS (normal case) |
nvoos-mcp-ssh | The site is SSH-only (locked-down VPS / Cloudways droplet) — owns the ssh -N -L port-forward for you |
npx -y @nvdigitalsolutions/nvoos-mcp-bridge@latest
zed: open settings → add to context_servers:
"nv-oos": {
"source": "custom", "command": { "path": "npx", "args": ["-y", "@nvdigitalsolutions/nvoos-mcp-bridge@latest"], "env": { "MCP_AI_BASE_URL": "https://your-site.com/wp-json/mcp-ai/v1/mcp", "MCP_AI_TOKEN": "cred_xxxxx.SECRET" } } }
Then reload the Agent Panel (agent: restart language servers → or reopen the panel). Use the Fleet Operator admin screen (Settings → External Operators) to mint a scoped operator token and get a ready-pasted block.
"nv-oos-ssh": {
"source": "custom", "command": { "path": "npx", "args": ["-y", "@nvdigitalsolutions/nvoos-mcp-bridge@latest", "ssh"], "env": { "MCP_AI_SSH_USER": "your-ssh-user", "MCP_AI_SSH_HOST": "203.0.113.10", "MCP_AI_SSH_PORT": "22", "MCP_AI_TOKEN": "op_xxxxx.SECRET" } } }
Pass
sshas the first argument to select the SSH binary via npx
(npx exposes only the primary bin as the bare package name). SSH auth is
key-only:
ssh @must work non-interactively first.
Same env vars, different shells — Claude Desktop (claude_desktop_config.json → mcpServers), Cursor (.cursor/mcp.json), VS Code (.vscode/mcp.json):
{
"mcpServers": { "nv-oos": { "command": "npx", "args": ["-y", "@nvdigitalsolutions/nvoos-mcp-bridge@latest"], "env": { "MCP_AI_BASE_URL": "https://your-site.com/wp-json/mcp-ai/v1/mcp", "MCP_AI_TOKEN": "cred_xxxxx.SECRET" } } } }
On Windows hosts, some clients need the cmd wrapper: "command": "cmd", "args": ["/c", "npx", "-y", "@nvdigitalsolutions/nvoos-mcp-bridge@latest"].
Some NV surfaces split write auth: the storefront MCP (https://astro.nvoos.cloud/mcp) serves reads publicly, accepts NVOOS_MCP_TOKEN for design writes, and requires a manager session cookie for contract writes (cms_*, media_upload). Give the bridge login credentials and it obtains the session for you — no cookie copying, no re-login dance:
"nvoos-astro": {
"source": "custom", "command": { "path": "npx", "args": ["-y", "@nvdigitalsolutions/nvoos-mcp-bridge@latest"], "env": { "MCP_AI_BASE_URL": "https://astro.nvoos.cloud/mcp", "MCP_AI_TOKEN": " ", "MCP_AI_LOGIN_URL": "https://astro.nvoos.cloud/api/auth/login", "MCP_AI_LOGIN_EMAIL": "manager@your-domain.com", "MCP_AI_LOGIN_PASSWORD": " " } } }
At startup the bridge POSTs { "email": "…", "password": "…" } to MCP_AI_LOGIN_URL, attaches the returned session cookies to every upstream request, and re-establishes the session once when a request answers 401/403 or the cookies near expiry. The account needs the backend manage_astro capability. Keep the password out of shared settings files (editor secret store, or a dedicated manager account).
All configuration is environment variables — never put tokens in args (they would show in process listings).
nvoos-mcp (HTTPS relay)| Variable | Required | Default | Purpose |
|---|---|---|---|
MCP_AI_BASE_URL | ✅ | — | Full URL of the MCP endpoint, e.g. https://example.com/wp-json/mcp-ai/v1/mcp |
MCP_AI_TOKEN | ⚠️ | — | Bearer credential (cred_xxxxx.SECRET or operator op_xxxxx.SECRET); unauthenticated if unset |
MCP_AI_HOST_HEADER | — | Override the HTTP Host header (sites that canonical-redirect on Host behind proxies/tunnels) | |
MCP_AI_HTTP_TIMEOUT | 120000 | Request timeout in ms | |
MCP_AI_COOKIE | — | Static Cookie header for every upstream request (manual-session escape hatch; wins over the login bootstrap) | |
MCP_AI_LOGIN_URL | — | Login endpoint that answers with Set-Cookie session headers (must be same-origin with MCP_AI_BASE_URL) | |
MCP_AI_LOGIN_EMAIL | — | Login credential — default body is { email, password } | |
MCP_AI_LOGIN_PASSWORD | — | Login credential | |
MCP_AI_LOGIN_BODY | — | Raw JSON body override for the login POST (wins over the email/password pair) | |
MCP_AI_ENV_FILE | ~/.nvoos-bridge.env | Env file for secrets (see below) |
nvoos-mcp-ssh (SSH variant)Adds MCP_AI_SSH_USER, MCP_AI_SSH_HOST (both required), MCP_AI_SSH_PORT (default 22), MCP_AI_SSH_REMOTE_HOST (default localhost), MCP_AI_SSH_REMOTE_PORT (default 80), MCP_AI_LOCAL_PORT (default: free port), MCP_AI_SSH_CMD (default ssh), MCP_AI_SSH_EXTRA_ARGS, MCP_AI_SSH_BATCH_MODE, MCP_AI_SSH_READY_MS (default 15000). Same token, Host-header, timeout, and env-file variables as the HTTPS relay.
Keep tokens out of settings files:
# ~/.nvoos-bridge.env (chmod 600)
MCP_AI_BASE_URL=https://your-site.com/wp-json/mcp-ai/v1/mcp MCP_AI_TOKEN=cred_xxxxx.SECRET
Values already present in the process environment win over the file, so per-project overrides still work.
Authorization: Bearer …), writes the response as one stdout line.id) get no response, ever.Accept: application/json, text/event-stream) and transparently unwraps SSE-framed responses (event: message + data: ) — SDK-v2 servers such as the NV Astro storefront answer in SSE whenever the client accepts it.MCP_AI_LOGIN_URL (or MCP_AI_COOKIE) configured, the bridge logs in at startup, attaches the session cookie to every request, and re-establishes the session once on an upstream 401/403 or near cookie expiry. Without session env vars the relay stays a fully transparent transport (HTTP statuses pass through untouched).ssh's stdin open for exactly this reason).The package files under bin/ are byte-identical copies of the repo's bin/mcp-bridge.js, bin/mcp-bridge-ssh.js, and bin/utils/env-file.js — the repo bin/ is canonical. Edit there, then:
npm run sync # refresh the copies
npm run sync -- --check # drift gate (run in CI) npm test # node:test suite (in-process fake endpoint/ssh) npm run pack:dry-run # inspect the tarball before publishing
Optional Docker E2E against a live NV oOS site (skips when env is unset):
MCP_AI_BASE_URL=http://localhost:8000/wp-json/mcp-ai/v1/mcp \
MCP_AI_TOKEN=cred_xxxxx.SECRET \ npm run test:e2e
This package is listed in the official MCP Registry (registry.modelcontextprotocol.io) as io.github.nvdigitalsolutions/nvoos-mcp-bridge (stdio / npm). The registry name is declared via the mcpName field in package.json (ownership verification marker); the registry metadata itself lives in server.json and is published with the mcp-publisher CLI. Community directories (mcpservers.org, Glama, PulseMCP, mcp.directory, the awesome-mcp-servers list) carry entries that point back to this package and its registry record.
GPL-3.0-or-later — see LICENSE.