> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ishlabs.io/llms.txt
> Use this file to discover all available pages before exploring further.

# mcp, init

> Command reference: ish mcp, init.

## `ish mcp list`

Show detected clients and ish MCP wiring status

Usage: `ish mcp list`

## `ish mcp add`

Wire the ish MCP server into selected client configs

Usage: `ish mcp add [options]`

### Options

<ParamField path="--client <names>" type="string">Comma-separated and/or repeatable: cursor, vscode, claude-code, claude-desktop, windsurf Default: \[].</ParamField>
<ParamField path="--all" type="boolean">Wire every detected client on this OS</ParamField>
<ParamField path="--dry-run" type="boolean">Print planned mutations as JSON; write nothing</ParamField>
<ParamField path="--force" type="boolean">Overwrite an existing ish server block that has drifted</ParamField>
<ParamField path="-y, --yes" type="boolean">Confirm writes (required when stdout is piped or --json is set)</ParamField>

## `ish mcp remove`

Remove the ish server block from selected client configs

Usage: `ish mcp remove [options]`

### Options

<ParamField path="--client <names>" type="string">Comma-separated and/or repeatable: cursor, vscode, claude-code, claude-desktop, windsurf Default: \[].</ParamField>
<ParamField path="--all" type="boolean">Remove from every detected client on this OS</ParamField>
<ParamField path="--dry-run" type="boolean">Print planned mutations as JSON; write nothing</ParamField>
<ParamField path="-y, --yes" type="boolean">Confirm writes (required when stdout is piped or --json is set)</ParamField>

## `ish init`

Install the ish Agent Skill into a project (Claude Code, Codex, Cursor, Cline, Roo Code)

Usage: `ish init [options]`

### Options

<ParamField path="--target <which>" type="string">Where to install: claude (.claude/skills/ish), agents (.agents/skills/ish), or both Default: "claude".</ParamField>
<ParamField path="--dir <path>" type="string">Write to a custom directory instead of a recognised target path</ParamField>
<ParamField path="--stdout" type="boolean">Print the SKILL.md to stdout instead of writing files (skips references/)</ParamField>
<ParamField path="--force" type="boolean">Overwrite existing files in the target directory</ParamField>

## Global flags

Every command accepts the global flags.

<ParamField path="-V, --version" type="boolean">output the version number</ParamField>
<ParamField path="-t, --token <token>" type="string">Auth token (or set ISH\_TOKEN env var)</ParamField>
<ParamField path="--token-file <path>" type="string">Read auth token from a file (preferred over --token / ISH\_TOKEN)</ParamField>
<ParamField path="--workspace <id>" type="string">Default workspace ID; per-subcommand --workspace overrides</ParamField>
<ParamField path="--json" type="boolean">Output as JSON (auto-enabled when piped)</ParamField>
<ParamField path="--get <field>" type="string">Extract a single field from the JSON response and print only its value (implies --json internally; supports dotted paths e.g. person.name)</ParamField>
<ParamField path="--human" type="boolean">Force human-readable output even when stdout is piped (overrides JSON-when-piped auto-detection)</ParamField>
<ParamField path="--fields <fields>" type="string">Comma-separated fields to include in JSON output (e.g. alias,name,status)</ParamField>
<ParamField path="--verbose" type="boolean">Include full UUIDs and timestamps in JSON output</ParamField>
<ParamField path="--no-color" type="boolean">Disable colored output (also honored: NO\_COLOR env var)</ParamField>
<ParamField path="-q, --quiet" type="boolean">Suppress progress messages on stderr (no-op for read commands that emit none)</ParamField>
