mcpField
O
opencode-workbench

opencode-workbench

リモート
github.com/simonmak-ascent開発ツール11 日前に更新
リポジトリ

opencode-workbench について

opencode-workbenchは、OpenCodeワークステーションの構成一式と、Linuxマシンへ複製するMCPサーバーです。ローカルまたはSSH経由で環境を再構築する開発者向けに、設定、スキル、復旧手順を一元管理します。

主な機能

  1. 01ローカルまたはSSH経由で複製
  2. 02対象の確認と複製計画の作成
  3. 03確認後の適用と検証
  4. 04コンポーネントと認証情報の管理
  5. 05OpenCode設定とエージェントスキルを収録
  6. 06バックアップと復旧のドキュメント

活用シーン

  1. 01新しいLinuxマシンでOpenCode環境を再構築
  2. 02SSH経由でワークステーション設定を展開
  3. 03変更適用前に複製計画を確認

MCP 対応

MCPサーバーは、ワークベンチの検出、対象の確認、複製計画、適用、検証のツールをOpenCodeエージェントに提供し、コンポーネントと認証情報も操作できます。複製の適用には確認が必要です。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://opencode-workbench.simonmak.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npm@simonmak-ascent/opencode-workbench4.0.1

ツール

10

このツールにパラメーターはありません。

詳細

OpenCode Workbench

再現可能で、自己文書化され、復旧可能な OpenCode 開発ワークステーション — 設定、エージェントスキル、MCP スタック、およびローカルまたは SSH 経由でセットアップ全体を任意の Linux マシンに複製する MCP サーバーです。

Secret Scan MCP Tool Definition Quality MCP Registry Glama MCP Server Validate Documentation License: MIT

ホームページとリモート MCP: https://opencode-workbench.simonmak.com · POST https://opencode-workbench.simonmak.com/mcp

概要

このリポジトリは、完全なクラウド開発ワークステーションの唯一の信頼できる情報源です。ゼロから再構築するために必要なすべてのものが、ここでバージョン管理されています。

  • ワークステーションの設定と自動化
  • OpenCode の設定(モデル、プロバイダー、MCP サーバー)
  • エージェントスキル(調査、開発、データ、科学、運用で使える45個の再利用可能な AI 指示)
  • 運用プロンプト(災害復旧、バックアップ、セキュリティ)
  • 復旧手順(プレイブック、チェックリスト、ギャップ分析)
  • セキュリティガバナンス(シークレット管理、脅威モデル)
  • OpenCode サンドボックス(bubblewrap)— 読み取り専用のシステムとシークレットのマウントなしでエージェントを実行します
  • opencode-workbench — このプロファイルを任意の Linux マシンにインストールする MCP サーバー

重要な知識が人間の記憶だけに存在することはありません。

この Workbench を別の Linux マシンに複製する

OpenCode に MCP サーバーを登録します。

{
  "mcp": {
    "opencode-workbench": {
      "type": "local",
      "command": ["npx", "-y", "@simonmak-ascent/opencode-workbench"],
      "enabled": true,
      "timeout": 600000
    }
  }
}

次に、エージェントに { "mode": "local" } または { "mode": "ssh", "host": "<your-box>", "user": "<your-user>" } を指定して、inspect_target → plan_clone → apply_clone { confirm: true } → verify_clone の順に実行するよう依頼します。apply_clone は同意を必須とします。confirm:true がない場合は、計画(コンポーネントと特権コマンドのプレビュー)を返し、何も変更しません。list_required_credentials を実行すると、そのマシンで不足しているキーとその取得方法を確認できます。また、bash scripts/selftest/run-selftest.sh を実行して動作を検証できます。mcp-server/README.md と docs/architecture/clone-mcp.md を参照してください。

複製はキーの有無に左右されません。モデルキーがなくても OpenCode Zen の無料プランで起動し、認証情報がない MCP サーバーは無効化され、そのことが報告されます(実行時に失敗する状態のままにはなりません)。

コネクターがシークレットの値を読み取ったり送信したりすることはありません。入力用の空の ~/.env.workbench テンプレートを作成します。

クイックスタート(5分以内)

最短の方法: マシンは不要です。この Workbench を複製するの設定を使って、npx -y @simonmak-ascent/opencode-workbench で MCP サーバーを登録するだけです。または、新しいマシンをプロビジョニングします。

# 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

アーキテクチャ

flowchart TB
  AGENT["OpenCode agent"] -->|"npx @simonmak-ascent/opencode-workbench"| MCP["opencode-workbench MCP<br/>inspect · plan · apply · verify"]
  REPO[("Git repo — single source of truth")] --> MCP
  MCP -->|"local or SSH"| BOX["Target Linux box"]
  BOX --> PROF["Workstation profile<br/>OpenCode CLI · 35 MCP servers · 45 skills · Docker infra"]

複製のライフサイクル

apply_clone は同意を必須とします。confirm: true がない場合は計画を返し、何も変更しません。

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 ツール一覧

flowchart LR
    A["OpenCode agent"] --> D["Discovery<br/>describe_workbench · inspect_target"]
    A --> C["Clone<br/>plan_clone · apply_clone · verify_clone"]
    A --> K["Components<br/>install · remove · update_component"]
    A --> S["Credentials<br/>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/                     # 28 custom agent skills (10 research, 10 dev, 8 publishing)
├── 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

含まれるもの

カテゴリ詳細
OpenCode最新の安定版 CLI、DeepSeek V4 Pro モデル、LSP 有効
MCP サーバー35 個設定済み(33 個有効、2 個無効)、リモート 9 個 + ローカル 26 個
エージェントスキル.opencode/skills/ に再利用可能なスキルを 45 個配置
インフラストラクチャPostgreSQL 16(Docker)、Browserless Chromium(Docker)
ツールpandoc、jq、miller、sqlite3、GitHub CLI、Playwright Chromium
プロンプトdocs/prompts/ に運用プロンプトを 9 個配置

ワークステーションのガバナンス

このワークステーションは正式な憲章に基づいて運用されています。主な原則は次のとおりです。

  • 信頼できる唯一の情報源:ランタイムはリポジトリと一致している必要があります。差異はバグです。
  • シークレットをディスクに保存しない:すべてのシークレットはビルドボックスの Secrets を通じて受け渡します。
  • 変更履歴は不変:変更履歴は追記のみです。すべての変更を追跡できます。
  • ドキュメントはコードとともに管理:ドキュメントには、想定ではなく実際のシステムを記述します。

憲章の全文はこちら:docs/WORKBENCH_CHARTER.md

バックアップのワークフロー

# 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

または OpenCode のプロンプトを使用します。

  • docs/prompts/RUN_MASTER_BACKUP.md — AI を使用してバックアップを実行
  • docs/prompts/QUICK_BACKUP.md — 状態をすばやく保存

復旧のワークフロー

ビルドボックスが削除された状態を想定します。残るのは Git リポジトリとビルドボックスの Secrets のみです。

# 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

詳細はこちら:docs/recovery/RECOVERY_PLAYBOOK.md

MCP アーキテクチャ

種類数備考
リモート9context7、gh_grep、vdd、exa、cloudflare、clerk、vercel(トークン認証)、sentry、stripe
ローカル26npm/ベンダー提供/バイナリの stdio サーバー

合計:35 個設定済み(33 個有効、2 個無効:google-search、google-workspace)。

参照:docs/architecture/mcp-inventory.md

シークレット管理

すべてのシークレットはビルドボックスの Secrets に保存します。リポジトリ内のファイルには保存しません。

#シークレット使用先
1DEEPSEEK_API_KEYOpenCode(プライマリモデル)
2OPENCODE_API_KEYOpenCode Zen/Console Go プロバイダー
3SIMONMAK_ASCENT_PATGitHub MCP、shadcn MCP、gh
4PERPLEXITY_API_KEYPerplexity MCP
5BRAVE_API_KEYBrave Search MCP
6BROWSERLESS_TOKENBrowserless MCP + コンテナー
7SENTRY_AUTH_TOKENSentry MCP
8VERCEL_ACCESS_TOKENVercel MCP(トークン認証)

オプトインサーバー用の追加キー(EXA_API_KEY、CLOUDFLARE_API_TOKEN、 STRIPE_SECRET_KEY、SURREAL_*、ALIBABA_CLOUD_*、AZURE_*、FIRECRAWL_API_KEY、 FRED_API_KEY、COMPANIES_HOUSE_API_KEY)は、値ではなく名前を docs/architecture/secrets.md に記載しています。

参照:docs/architecture/secrets.md

ドキュメント一覧

ドキュメント目的
docs/WORKBENCH_CHARTER.mdミッション、原則、ガバナンス
docs/security-model.mdセキュリティアーキテクチャ、脅威モデル、インシデント対応
docs/IMPROVEMENT_BACKLOG.md追跡中の改善項目と技術的負債
docs/CHANGELOG_WORKBENCH.md完全な変更履歴
docs/architecture/システムドキュメント(インベントリ文書 10 件)
docs/recovery/復旧手順書、災害復旧、チェックリスト、ギャップ分析
docs/prompts/インデックス付きの運用プロンプト 9 件
docs/backup-reports/日付付きバックアップスナップショット

ワークベンチへの追加

  1. MCP サーバー:.devcontainer/setup.sh に npm パッケージを追加し、opencode.json に追加して、docs/architecture/mcp-inventory.md に記載します
  2. エージェントスキル:.opencode/skills/<name>/SKILL.md を作成し、命名規則に従います
  3. ツール:scripts/bootstrap-tools.sh に追加します
  4. プロンプト:docs/prompts/ に作成し、prompt-index.md を更新します
  5. 変更後は必ず CHANGELOG_WORKBENCH.md を更新し、マスターバックアップを実行します

復旧スコア:94/100

リポジトリとビルドボックスの Secrets のみを使用し、10 分未満での災害復旧を検証済みです。

Context7 での利用

最新の OpenCode Workbench ドキュメントは Context7 にインデックス化されているため、コーディングエージェントは必要に応じてコンテキストに取り込めます。Context7 MCP サーバーまたは ctx7 CLI をインストールしたら、プロンプトでライブラリ名を指定してください:

use library /simonmak-ascent/opencode-workbench for API and docs

ライセンス

MIT — LICENSE を参照してください。


Simon Mak によるツールです。

このツールが時間の節約に役立ったら、GitHub で ⭐ を付けていただけると、ほかの人にも見つけてもらいやすくなります。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。