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

# ツール

Qoder CLI は、ローカルワークスペースと外部情報源を扱うためにツールを使用します。ツールは、プロジェクト内容の検索と読み取り、ファイル変更、コマンド実行、Web コンテンツ取得、コンテキスト管理、MCP による外部サービス連携に使われます。

ツールは対話型 TUI セッションと非対話型の Print Mode の両方で利用できます。実際に利用できるツールは、現在のセッション、有効な機能、MCP 設定、権限設定によって変わります。

TUI では `/tools` を使うと、現在のセッションで利用可能なツールを確認できます。

<div id="search-and-explore">
  ## **検索と探索**
</div>

Qoder CLI は、次の操作を行う前に検索と探索ツールで現在のタスクを理解します。

| 範囲        | 説明                            |
| :-------- | :---------------------------- |
| ファイル      | 現在のワークスペース内でファイルを探します。        |
| コード       | コード、テキスト、設定ファイルを検索します。        |
| ディレクトリ    | プロジェクト構造を確認し、関連パスを特定します。      |
| Web       | 現在の情報や公開情報が必要な場合に Web を検索します。 |
| Web コンテンツ | 指定した Web ページの内容を取得します。        |

<div id="read-project-context">
  ## **プロジェクトコンテキストの読み取り**
</div>

Qoder CLI は、現在のリクエストに必要なコンテキストを集めるためにファイルやプロジェクト資産を読み取れます。

| 機能            | 説明                                   |
| :------------ | :----------------------------------- |
| ファイル表示        | ソースファイル、ドキュメント、設定、その他のテキスト資産を読み取ります。 |
| 大きなファイルの読み取り  | ファイル全体が大きい場合、関連する部分だけを読み取ります。        |
| ドキュメント形式の読み取り | 利用可能な場合、PDF などのドキュメント形式を確認します。       |

<div id="edit-files">
  ## **ファイル編集**
</div>

タスクに変更が必要な場合、Qoder CLI はワークスペース内でファイルを作成または変更できます。

| 機能          | 説明                                    |
| :---------- | :------------------------------------ |
| ファイル変更      | 既存ファイルを対象に絞って変更します。                   |
| ファイル作成      | ソースファイル、テスト、ドキュメント、設定などを追加します。        |
| Notebook 編集 | Notebook サポートがある場合、Notebook 内容を変更します。 |

ファイル編集は権限システムを通過します。権限モードとルールに応じて、Qoder CLI は変更を直接適用する、確認を求める、または操作をブロックします。

<div id="execute-commands">
  ## **コマンド実行**
</div>

ローカル実行が必要な場合、Qoder CLI は shell コマンドを実行できます。

| 機能       | 説明                                             |
| :------- | :--------------------------------------------- |
| コマンド実行   | ビルド、テスト、パッケージ、Git 確認、調査、カスタム shell コマンドを実行します。 |
| 長いタスクの実行 | テストスイートや開発スクリプトなど、時間のかかるコマンドを追跡します。            |

### バックグラウンドコマンドとイベント監視

後続の作業でコマンド結果をすぐに必要としない場合、Qoder CLI は shell コマンドをバックグラウンドで実行し、メインセッションで別の作業を続けられます。明示的にバックグラウンド実行を指定したコマンドは、終了までの時間にかかわらずバックグラウンドタスクとして登録されます。タスクが完了、失敗、または対応を必要とすると、その結果は所属セッションへ自動的に返るため、進捗を繰り返し確認したりポーリングコマンドを実行したりする必要はありません。

```text theme={null}
バックグラウンドタスク開始 -> メインセッション継続 -> 完了通知 -> 結果に応じて処理
```

ログ、デプロイ状況、テストの動作など、継続的に変化する情報にはイベント監視を使用できます。監視コマンドが完全な 1 行を出力するたびに、その行がメインセッションへのイベントになります。大量のログ全体を転送せず、必要なイベントだけを出力するように監視コマンドを絞り込んでください。

TUI で `/tasks` を入力すると、バックグラウンドの Shell と Subagent の状態や出力を確認し、実行中のタスクを停止できます。バックグラウンドタスクが終了すると、完了通知がメインセッションへ戻り、Qoder CLI が結果に応じて処理を続けます。

shell コマンドは通常、読み取り専用操作よりリスクが高くなります。日常的なコマンドは許可し、機密性の高いコマンドは確認または拒否するように権限ルールを設定してください。

[Shell コマンドプレフィックス](/ja/cli/using-cli#shell-command-prefix)が有効な場合、Bash ツールのコマンドは完全な shell コマンドの組み立て後に、設定済みの実行可能な wrapper 経由で実行されます。権限チェックとコマンド表示には引き続き元のコマンドが使われます。wrapper は受け取った単一のコマンド引数を実行し、プロセスの入出力と終了ステータスを維持する必要があります。

<div id="manage-context">
  ## **コンテキスト管理**
</div>

一部のツールは、Qoder CLI が現在のタスクと会話状態を管理するために使われます。

| 機能         | 説明                                   |
| :--------- | :----------------------------------- |
| タスク追跡      | 作業中に軽量な計画やタスクリストを維持します。              |
| 確認質問       | 判断や不足情報が必要な場合にユーザーへ質問します。            |
| Memory 管理  | memory 機能が利用可能な場合、永続情報を保存します。        |
| Skills の使用 | 設定済みの専門指示やワークフローを読み込みます。             |
| 作業計画       | 実行前に分析が必要な場合、Plan Mode に入る、または終了します。 |

Memory と Skills はモデルにコンテキストを提供しますが、セキュリティ境界ではありません。強制的なポリシーには権限ルールと Hooks を使用してください。

<div id="delegate-and-automate">
  ## **委任と自動化**
</div>

現在の環境で関連機能が有効な場合、Qoder CLI は委任と自動化機能を使用できます。

| 機能        | 説明                                      |
| :-------- | :-------------------------------------- |
| Subagents | 専門 Agent に特定の作業を委任します。                  |
| Workflows | 設定済みの再利用可能なワークフローを実行します。                |
| Goals     | 長めの目標を追跡して実行します。                        |
| Worktrees | 並列セッションが必要な場合、独立した Git worktree で作業します。 |
| スケジュール作業  | スケジュール機能が有効な場合、定期タスクを作成または管理します。        |

利用可否は製品設定、機能フラグ、現在のセッションによって変わります。

<div id="mcp-tools">
  ## **MCP ツール**
</div>

Qoder CLI は Model Context Protocol (MCP) サーバーに接続し、外部ツールやデータソースを利用できます。MCP サーバーを設定すると、そのツールは同じ `/tools` ビューに表示され、同じ権限システムを通過します。

MCP ツールは、Issue 管理、コードホスティング、データベース、ブラウザ自動化、社内プラットフォーム、企業独自サービスとの連携に適しています。

MCP 設定については [MCP Servers](/ja/cli/mcp-servers) を参照してください。

<div id="control-tool-usage">
  ## **ツール使用の制御**
</div>

ツールが見えることと、ツール実行が許可されることは別です。

| 制御                                                           | 説明                             |
| :----------------------------------------------------------- | :----------------------------- |
| `--tools`                                                    | 現在のセッションで見えるツールを制限します。         |
| `--allowed-tools`                                            | 指定したツールまたはツールパターンを事前承認します。     |
| `--disallowed-tools`                                         | 指定したツールまたはツールパターンをブロックします。     |
| `permissions.allow` / `permissions.ask` / `permissions.deny` | settings ファイルに保存する永続的な権限ルールです。 |
| `tools.exclude`                                              | 起動時の検出結果からツールを削除します。           |

例:

```shell theme={null}
# 読み取り専用の調査
qodercli --tools Read Grep Glob --allowed-tools 'Read,Grep,Glob'

# 日常的な status コマンドを許可
qodercli --allowed-tools 'Read,Grep,Bash(git status)'

# 非対話型レビューでファイル編集を禁止
qodercli -p "review this repository" --disallowed-tools 'Write,Edit'
```

権限モード、ルール構文、判定順序については [Permissions](/ja/cli/permissions) を参照してください。ツール呼び出しをインターセプトする Hooks については [Hooks](/ja/cli/hooks) を参照してください。
