Install one Workbench component
install_componentInstall a single Workbench component by id (e.g. node, opencode, npm-mcps, skills) on a target; component must be an id from get_workbench_info. Idempotent and consent-gated: without confirm:true it returns the plan. Use it for one targeted component; use apply_clone for a component subset, or bootstrap_host for a first-time end-to-end provision — do not combine them for the same host and change.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | The machine to operate on: this host (local) or a remote host over SSH (ssh). | |
| confirm | No | Set true to actually install. When absent, the call returns a plan and makes no changes. | |
| component | Yes | Component id from get_workbench_info. | |
| workspace | No | Target directory for the profile repo. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| plan | No | Presented when confirmation is required. | |
| model | Yes | Default model selected for the target (DeepSeek when its key is present, else the OpenCode Zen free floor). | |
| dryRun | Yes | True when the run made no changes. | |
| target | Yes | Label of the target. | |
| envPath | Yes | Path of the written ~/.env.workbench template. | |
| envVars | Yes | Environment variable names listed in the env template. | |
| skipped | Yes | Component ids skipped (already present or manual). | |
| degraded | Yes | Capabilities disabled because required credentials are absent; fill the named env vars to enable them. | |
| installed | Yes | Components installed, with exit codes and output. | |
| workspace | Yes | Directory where the profile repo was cloned. | |
| configPath | Yes | Path of the written opencode.json. | |
| providerMode | Yes | Which provider the model resolves to. | |
| requiresConfirmation | No | True when the call returned a plan without applying; re-call with confirm:true to install. |