Inspect a Linux target
inspect_targetProbe 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 probe as the target user (over SSH when mode:ssh), installs nothing, writes nothing, contacts no external service, and can take a few seconds per hop. Parameter semantics: target.mode selects local vs ssh (default local); target.host is required only for ssh; target.user defaults to the ssh config/current user; target.cwd sets the directory for relative checks; target.port/identityFile pass straight to ssh. Use it to see what a clone would touch, then plan_clone to turn that into an ordered plan and apply_clone to perform it.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"target": "<target>"
},
"name": "inspect_target"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | The machine to operate on: this host (local) or a remote host over SSH (ssh). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| has | Yes | Detection flags for git, curl, node, npm, corepack, pnpm, docker, uv, gh, opencode, sudo. | |
| arch | No | CPU architecture (e.g. x86_64, aarch64). | |
| home | Yes | Home directory on the target. | |
| osId | No | OS identifier (e.g. ubuntu, debian, rhel). | |
| user | Yes | Detected user on the target. | |
| shell | No | The target user's login shell. | |
| kernel | No | Kernel name and release. | |
| osName | No | Human-readable OS name. | |
| osIdLike | No | ID_LIKE from /etc/os-release: space-separated distribution family hints. | |
| configDir | Yes | OpenCode config directory on the target. | |
| npmPrefix | No | npm global prefix, if npm is installed. | |
| osVersion | No | OS version string. | |
| envPresent | No | Space-separated names of credentials present on the target (values are never read). | |
| npmModules | No | npm global modules directory. | |
| nodeVersion | No | Installed Node.js version, if any. | |
| opencodeBin | No | Path to the opencode binary, if installed. | |
| skillsCount | No | Number of SKILL.md files under the target's ~/.config/opencode/skills. | |
| dockerRunning | No | Whether the Docker daemon is reachable. | |
| packageManager | No | Detected package manager (apt-get, dnf, yum, apk, pacman, zypper, or none). | |
| opencodeVersion | No | Version the opencode binary reports, without a leading v (e.g. 2.2.1). | |
| workspaceDefault | Yes | Default directory where the profile repo will be cloned. |