ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Opencode Workbench

โดย simonmak-ascentรุ่น 5.0.1i★ –iบนเครื่องหรือคลาวด์
ชื่อใน registrycom.ascent-partners/opencode-workbench

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Provision an OpenCode workbench and MCP stack on any Linux box, local or over SSH.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: บนเครื่องหรือคลาวด์
  • ช่องทาง (transport): stdio, Streamable HTTP
  • หมวด: อื่น ๆ

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย
  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:

  1. เปิด Settings → Connectors
  2. กด Add custom connector
  3. วางที่อยู่ด้านล่างแล้วกด Add
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Add2https://…3
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/mcp

หรือรันในเครื่องคุณ

claude mcp add opencode-workbench -- npx -y @simonmak-ascent/opencode-workbench

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "opencode-workbench": {
      "url": "https://opencode-workbench.simonmak.com/mcp"
    }
  }
}

หรือรันในเครื่องคุณ

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "opencode-workbench": {
      "command": "npx",
      "args": [
        "-y",
        "@simonmak-ascent/opencode-workbench"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "opencode-workbench": {
      "type": "http",
      "url": "https://opencode-workbench.simonmak.com/mcp"
    }
  }
}

หรือรันในเครื่องคุณ

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "opencode-workbench": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@simonmak-ascent/opencode-workbench"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:

  1. เปิด ChatGPT บนเว็บ → Settings → Connectors (Apps)
  2. กด Create หรือ Add (บางแพ็กเกจต้องเปิด Developer mode ใน Advanced ก่อน)
  3. วางที่อยู่ด้านล่าง ตั้งชื่อ แล้วบันทึก
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Create2https://…3
https://opencode-workbench.simonmak.com/mcp

ชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 7 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน

  • describe_workbench

    Describe this MCP server from its bundled profile without contacting any target or making a network call: repository URL, the default component set, components grouped by tier (required/core/optional), and optional MCP add-ons. It takes no parameters, is always safe, and returns

  • inspect_target

    Probe one Linux machine — this host (`local`) or a remote host over SSH (`ssh`) — and report its OS, kernel, architecture, package manager, Node/npm, OpenCode, Docker, and per-tool detection flags, plus the names (never values) of credentials present. Read-only: it runs one shell

  • plan_clone

    Return a read-only plan for a target: compare it against the Workbench profile and list each component as `install`, `present`, or `manual`, with the commands that would run. It still runs a detection probe on the target (same access as inspect_target) but clones nothing and writ

  • apply_clone ดูเหมือนสั่ง AI

    Apply the Workbench profile to a target: clone the repo and install missing components (OpenCode CLI, Node/pnpm, MCP servers, skills, plugins, optional Docker). It OVERWRITES ` /.config/opencode/opencode.json`, copies `AGENTS.md`, resets an existing profile repo to `origin/main`,

  • verify_clone ดูเหมือนสั่ง AI

    Re-check a target after a clone: return a per-component `present`/`missing` list plus whether `opencode.json` and `~/.env.workbench` exist. Read-only and idempotent: it runs a detection probe (SSH or local) and checks files, writing nothing. `target` selects the machine (`local`

  • install_component

    Install a single Workbench component by id (e.g. `node`, `opencode`, `npm-mcps`, `skills`) on a target; `component` must be an id from describe_workbench. Overwrites that component's files when present (e.g. `skills`/`plugins` replace the copies under ` /.config/opencode`); globa

  • remove_component

    Uninstall one Workbench component by id from a target — the inverse of install_component — for a bounded, documented subset with an automated uninstall (e.g. `opencode`, `pnpm`, `npm-mcps`, `skills`, `docker-containers`); `component` must be an id from describe_workbench. Idempot

  • update_component

    Update one Workbench component in place by id: re-run its install script to fetch the current version (e.g. `opencode` re-runs the official installer; `npm-mcps` reinstalls the latest globals). It OVERWRITES the component's files, needs write permission, and can take minutes for

  • list_required_credentials

    List the credentials the profile references, which the target already provides, and how to acquire each missing one. Value-blind: it reads only whether each env var is set — no values, no network, no writes — via one read-only probe. Parameter semantics: `target` selects the mach

  • run_auth_flow

    Return the acquisition plan for one credential on a target: the provider URL, the exact non-interactive command when one exists (e.g. `opencode auth login`, `opencode mcp auth vercel`, `gh auth login`), and whether it is already present. Read-only and value-blind: it emits guidan

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ! ควรระวัง

    ตัวตนผู้ทำตรงกับ repo

    ผู้ลงทะเบียน (ascent-partners.com) ไม่ใช่เจ้าของ repo (simonmak-ascent) อาจเป็นคนอื่นที่นำมาลงต่อ

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • ✓ ผ่าน

    endpoint ตอบ

    ตอบกลับใน 189 ms (HTTP 200)

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ไม่ต้องล็อกอิน

  • ✕ ไม่ผ่าน

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    คำอธิบายเครื่องมือ 2 ตัวมีข้อความที่ดูเหมือนสั่ง AI อ่านรายการด้านล่างก่อนติดตั้ง

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32706 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 80% ของอีก 32706 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 28% ของอีก 32706 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Opencode Workbench ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (5.0.1) เข้า registry 9 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Kanal Varna — drains, leaks & plumbing (Varna, BG)

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

รันบนคลาวด์★ 211อัปเดต เมื่อวานซืน
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

OpenCode Workbench

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

Overview

This repository is the single source of truth for a complete cloud development workstation. Everything needed to rebuild from scratch is versioned here:

  • Workstation configuration and automation
  • OpenCode configuration (model, providers, MCP servers)
  • Agent skills (76 reusable AI instructions across research, dev, data, science and ops)
  • Operational prompts (disaster recovery, backup, security)
  • Recovery procedures (playbook, checklist, gap analysis)
  • Security governance (secret management, threat model)
  • OpenCode sandbox (bubblewrap) — run the agent with a read-only system and no secret mounts
  • `opencode-workbench` — an MCP server that installs this profile on any Linux box

No important knowledge exists only in human memory.

Clone This Workbench to Another Linux Machine

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.

Quick Start (≤ 5 minutes)

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

Wait for postCreate (3-5 min) — installs everything automatically

Then start coding:

opencode

Architecture

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"]

Clone lifecycle

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

MCP tool surface

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

What's Inside

CategoryDetails
OpenCodeOpenCode 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 Servers31 configured (29 enabled, 2 disabled), 8 remote + 23 local
Agent Skills76 reusable skills in .opencode/skills/
Versionsworkbench.versions.json — every MCP server, plugin and skill resolved from its real upstream, regenerated and CI-checked
InfrastructurePostgreSQL 16 (Docker), Browserless Chromium (Docker)
Toolspandoc, jq, miller, sqlite3, GitHub CLI, Playwright Chromium
Prompts9 operational prompts in docs/prompts/

Workstation Governance

This workstation operates under a formal charter. Key principles:

  • Single Source of Truth: Runtime must match repository. Drift is a bug.
  • Secrets Never Touch Disk: All secrets flow through the build box Secrets.
  • Immutable History: Changelog is append-only. Every change is traceable.
  • Documentation Lives With Code: Docs describe the system as it is, not as imagined.

Read the full charter: docs/WORKBENCH_CHARTER.md

Backup Workflow

# Master backup — full inventory, security scan, commit prep

bash scripts/backup/run-master-backup.sh

Quick backup — save state before risky operations

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 AI
  • docs/prompts/QUICK_BACKUP.md — rapid state preservation

Recovery Workflow

Assume 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

2. Wait for automation (3-5 min)

3. If needed (usually done by setup.sh):

npx playwright install chromium

Vercel MCP uses VERCEL_ACCESS_TOKEN (token auth — no OAuth step)

4. Validate recovery

bash scripts/recovery/validate-recovery.sh

Full details: docs/recovery/RECOVERY_PLAYBOOK.md

MCP Architecture

TypeCountNotes
Remote9context7, gh_grep, vdd, exa, cloudflare, clerk, vercel (token auth), sentry, stripe
Local26npm / vendored / binary stdio servers

Totals: 31 configured (29 enabled, 2 disabled: google-search, google-workspace).

See: docs/architecture/mcp-inventory.md

Secrets Management

All secrets stored in the build box Secrets. Never in repository files.

#SecretUsed By
1DEEPSEEK_API_KEYOpenCode (primary model)
2OPENCODE_API_KEYOpenCode Zen / Console Go providers
3SIMONMAK_ASCENT_PATGitHub MCP, shadcn MCP, gh
4PERPLEXITY_API_KEYPerplexity MCP
5BRAVE_API_KEYBrave Search MCP
6BROWSERLESS_TOKENBrowserless MCP + container
7SENTRY_AUTH_TOKENSentry MCP
8VERCEL_ACCESS_TOKENVercel 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

Documentation Index

DocumentPurpose

| `docs/WORKB

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx