Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Provision an OpenCode workbench and MCP stack on any Linux box, local or over SSH.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://opencode-workbench.simonmak.com/mcpเปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"opencode-workbench": {
"command": "npx",
"args": [
"-y",
"@simonmak-ascent/opencode-workbench"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http opencode-workbench https://opencode-workbench.simonmak.com/mcpclaude mcp add opencode-workbench -- npx -y @simonmak-ascent/opencode-workbenchวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"opencode-workbench": {
"url": "https://opencode-workbench.simonmak.com/mcp"
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"opencode-workbench": {
"command": "npx",
"args": [
"-y",
"@simonmak-ascent/opencode-workbench"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"opencode-workbench": {
"type": "http",
"url": "https://opencode-workbench.simonmak.com/mcp"
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"opencode-workbench": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@simonmak-ascent/opencode-workbench"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://opencode-workbench.simonmak.com/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ผู้ลงทะเบียน (ascent-partners.com) ไม่ใช่เจ้าของ repo (simonmak-ascent) อาจเป็นคนอื่นที่นำมาลงต่อ
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 0 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (5.0.1) เข้า registry 7 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Dechonet MCP
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.
30 security tools for AI agents: phishing links, exposure maps, DNS, SSL, PQC, history, pivots.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A reproducible, self-documenting, and recoverable OpenCode development workstation — configuration, agent skills, MCP stack, and an MCP server that clones the entire setup onto any Linux machine (locally or over SSH).
Homepage & remote MCP: https://opencode-workbench.simonmak.com · POST https://opencode-workbench.simonmak.com/mcp
This repository is the single source of truth for a complete cloud development workstation. Everything needed to rebuild from scratch is versioned here:
No important knowledge exists only in human memory.
Register the MCP server with OpenCode:
{
"mcp": { "opencode-workbench": { "type": "local", "command": ["npx", "-y", "@simonmak-ascent/opencode-workbench"], "enabled": true, "timeout": 600000 } } }
Then ask the agent to run inspect_target → plan_clone → apply_clone { confirm: true } → verify_clone, for { "mode": "local" } or { "mode": "ssh", "host": " ", "user": " " }. apply_clone is consent-gated: without confirm:true it returns a plan (components + privileged-command preview) and changes nothing. Run list_required_credentials to see which keys the box still needs and how to acquire them, and bash scripts/selftest/run-selftest.sh to verify it works. See mcp-server/README.md and docs/architecture/clone-mcp.md.
The clone is key-resilient: with no model key it still boots on the OpenCode Zen free floor, and MCP servers whose credentials are absent are disabled and reported (not left to fail at runtime).
The connector never reads or transmits secret values; it writes an empty ~/.env.workbench template for you to fill in.
Fastest path: no box required — register the MCP server with npx -y @simonmak-ascent/opencode-workbench (config in Clone This Workbench); or provision a fresh box:
# Create a new build box
gh SWAS create --repo simonmak-ascent/opencode-workbench --machine basicLinux32gb
opencode
flowchart TB
AGENT["OpenCode agent"] -->|"npx @simonmak-ascent/opencode-workbench"| MCP["opencode-workbench MCP inspect · plan · apply · verify"] REPO[("Git repo — single source of truth")] --> MCP MCP -->|"local or SSH"| BOX["Target Linux box"] BOX --> PROF["Workstation profile OpenCode CLI · 31 MCP servers · 76 skills · Docker infra"]
apply_clone is consent-gated: without confirm: true it returns a plan and changes nothing.
sequenceDiagram
autonumber participant A as OpenCode agent participant M as opencode-workbench MCP participant B as Target box (local or SSH) A->>M: inspect_target M-->>A: OS, toolchain, Docker, existing config A->>M: plan_clone M-->>A: components + privileged-command preview A->>M: apply_clone { confirm: true } M->>B: install components · write ~/.env.workbench template B-->>M: result A->>M: verify_clone M-->>A: pass/fail + missing credentials
flowchart LR
A["OpenCode agent"] --> D["Discovery describe_workbench · inspect_target"] A --> C["Clone plan_clone · apply_clone · verify_clone"] A --> K["Components install · remove · update_component"] A --> S["Credentials list_required_credentials · run_auth_flow"]
opencode-workbench/ ├── mcp-server/ # opencode-workbench: clone this profile onto Linux │ ├── src/ # inspect / plan / apply / verify, local + SSH │ ├── test/ # unit tests (vitest) │ └── README.md ├── connector.json # MCP connector manifest / registration snippet ├── plugins/ # memory.ts + doc-tools.ts OpenCode plugins ├── package.json # thin launcher for opencode-workbench (bin + prepare) ├── .devcontainer/ # build box definition & bootstrap │ ├── devcontainer.json # Container image, features, ports, remoteEnv │ ├── setup.sh # Post-create: installs opencode, MCPs, Docker infra │ └── aliases.sh # Shell aliases sourced at runtime ├── .opencode/ │ └── skills/ # 76 agent skills, one directory per SKILL.md ├── vendor/ # Vendored MCP source code │ ├── perplexity-agent-mcp/ │ └── browserless-mcp/ ├── configs/ # Reference configurations │ ├── mcp/ # MCP server inventory & architecture │ ├── opencode/ # OpenCode settings documentation │ ├── shell/ # Shell configuration │ ├── git/ # Git configuration & hooks │ └── providers/ # AI provider configuration ├── docs/ # Complete documentation system │ ├── WORKBENCH_CHARTER.md # Governance: mission, principles, requirements │ ├── security-model.md # Security architecture & threat model │ ├── IMPROVEMENT_BACKLOG.md # Tracked improvements and fixes │ ├── CHANGELOG_WORKBENCH.md # Append-only change history │ ├── architecture/ # System documentation (incl. clone-mcp.md) │ ├── recovery/ # Recovery procedures (4 docs) │ ├── prompts/ # Operational prompt library (9 prompts) │ └── backup-reports/ # Dated backup snapshots ├── scripts/ # Automation scripts │ ├── backup/ # Master backup script │ ├── inventory/ # Auto-generate inventories (software, env, MCP, OpenCode) │ ├── security/ # Secret pattern scanner │ ├── recovery/ # Recovery validation │ └── maintenance/ # Config sync, routine tasks ├── .github/workflows/ # CI (docs, inventory, gitleaks, mcp-server) ├── opencode.json # OpenCode configuration (MCP servers) ├── AGENTS.md # OpenCode agent instructions └── README.md # This file
| Category | Details |
|---|---|
| OpenCode | OpenCode 2 CLI, installed from the v2 channel (latest 2.x at clone time; inspect_target reports the version it found) · DeepSeek V4 Pro model · LSP enabled |
| MCP Servers | 31 configured (29 enabled, 2 disabled), 8 remote + 23 local |
| Agent Skills | 76 reusable skills in .opencode/skills/ |
| Versions | workbench.versions.json — every MCP server, plugin and skill resolved from its real upstream, regenerated and CI-checked |
| Infrastructure | PostgreSQL 16 (Docker), Browserless Chromium (Docker) |
| Tools | pandoc, jq, miller, sqlite3, GitHub CLI, Playwright Chromium |
| Prompts | 9 operational prompts in docs/prompts/ |
This workstation operates under a formal charter. Key principles:
Read the full charter: docs/WORKBENCH_CHARTER.md
# Master backup — full inventory, security scan, commit prep
bash scripts/backup/run-master-backup.sh
bash scripts/maintenance/sync-runtime-config.sh && \ git diff > /tmp/quick-backup-$(date +%Y%m%d).diff
Or use OpenCode prompts:
docs/prompts/RUN_MASTER_BACKUP.md — execute backup via AIdocs/prompts/QUICK_BACKUP.md — rapid state preservationAssume the build box is deleted. Only Git repo + build box Secrets survive.
# 1. Create new build box
gh SWAS create --repo simonmak-ascent/opencode-workbench --machine basicLinux32gb
npx playwright install chromium
bash scripts/recovery/validate-recovery.sh
Full details: docs/recovery/RECOVERY_PLAYBOOK.md
| Type | Count | Notes |
|---|---|---|
| Remote | 9 | context7, gh_grep, vdd, exa, cloudflare, clerk, vercel (token auth), sentry, stripe |
| Local | 26 | npm / vendored / binary stdio servers |
Totals: 31 configured (29 enabled, 2 disabled: google-search, google-workspace).
See: docs/architecture/mcp-inventory.md
All secrets stored in the build box Secrets. Never in repository files.
| # | Secret | Used By |
|---|---|---|
| 1 | DEEPSEEK_API_KEY | OpenCode (primary model) |
| 2 | OPENCODE_API_KEY | OpenCode Zen / Console Go providers |
| 3 | SIMONMAK_ASCENT_PAT | GitHub MCP, shadcn MCP, gh |
| 4 | PERPLEXITY_API_KEY | Perplexity MCP |
| 5 | BRAVE_API_KEY | Brave Search MCP |
| 6 | BROWSERLESS_TOKEN | Browserless MCP + container |
| 7 | SENTRY_AUTH_TOKEN | Sentry MCP |
| 8 | VERCEL_ACCESS_TOKEN | Vercel MCP (token auth) |
Additional keys for opt-in servers (EXA_API_KEY, CLOUDFLARE_API_TOKEN, STRIPE_SECRET_KEY, SURREAL_*, ALIBABA_CLOUD_*, AZURE_*, FIRECRAWL_API_KEY, FRED_API_KEY, COMPANIES_HOUSE_API_KEY) are catalogued in docs/architecture/secrets.md — never by value.
See: docs/architecture/secrets.md
| Document | Purpose |
|---|
| `docs/WORKB
ตัดมาแค่ช่วงต้น อ่านต่อใน repo