> For the complete documentation index, see [llms.txt](https://docs.maiagent.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.maiagent.ai/maiagent-user-guide/maiagent-user-guide-ja/tools/tool_description.md).

# ツール機能の概要

## ツールとは？ <a href="#what-is-a-tool" id="what-is-a-tool"></a>

ツールとは、AI アシスタントの**プラグイン**や**スキル**のようなものであり、単に会話するだけでなく、より多くのことを実行できるようにします。たとえば、AI アシスタントに「**天気を調べる**」というツールがあれば今日の気温を教えてくれますし、「**音楽を再生する**」というツールがあれば、そのまま音楽を再生してくれます。

AI アシスタントが利用できる一連の「ツール」をユーザーが定義することで、AI アシスタントは次のことができるようになります。

1. ユーザーの複雑なリクエストを理解する。
2. 特定のツールをいつ使う必要があるかを自動的に判断する。
3. そのツールを呼び出すために必要なパラメータを自動的に生成する。

これにより、AI アシスタントはテキストの返信を生成するだけにとどまらず、次のような多様なタスクを実際に実行できるようになります。

* **リアルタイム情報の照会：** データベースや API から最新の株価、天気予報、フライト状況などを取得します。
* **外部操作の実行：** 予約システムの API を呼び出したり、スマートホーム機器を制御したり、メールやメッセージを送信したりします。
* **ファイルの処理：** ローカルまたはクラウド上のファイルを読み込み、書き込み、分析します。
* **他のソフトウェアとの連携：** CRM システム、プロジェクト管理ツール、その他の業務アプリケーションを操作します。

<figure><img src="/files/OlZCGZcYUt7VV7z8By0E" alt=""><figcaption></figcaption></figure>

## ツールの動作フロー <a href="#how-tools-work" id="how-tools-work"></a>

基本的なツール呼び出しのフローは、以下のステップで構成されます。

1. **ツールの定義：**
   * ユーザーはまず、ツールに関連するパラメータを定義しておく必要があります。
   * AI アシスタントが使用できるツール項目を設定します。
   * 各ツールには、必ず以下を含める必要があります。
     * 明確な**名称** (Name)。
     * ツールの用途を説明する、わかりやすい**説明** (Description)。
     * 各パラメータの名称、データ型、必須項目かどうかなどを含む、詳細な**パラメータの説明** (Parameters)。
2. **ユーザーからの質問：**
   * ユーザーが自然言語で AI アシスタントにリクエストを行います。
   * *例：* 「明日の東京の天気を調べてください。」
3. **モデルによる思考とツールの選択：**
   * AI アシスタント内部の LLM が、ユーザーのリクエストの意図を分析します。
   * モデルは利用可能なツールのリストの中から、リクエストに応えるためにツールが必要かどうか、また、どのツールを使うべきかを判断します。
   * *例：* モデルは天気情報が必要だと判断し、`get_weather` という名称のツールを選択しました。
4. **ツール呼び出しパラメータの生成：**

   * モデルは、呼び出すツール名とそれに必要なパラメータを含む、構造化された出力 (通常は JSON 形式) を生成します。
   * *例：*

   ```json
   {
     "name": "get_weather",
     "arguments": {
       "city": "東京",
       "date": "明日"
     }
   }
   ```
5. **アプリケーションによるツールの実行：**
   * AI アシスタントのバックエンドアプリケーションが、モデルが生成した JSON 命令を受け取り、解析します。
   * アプリケーションは命令に含まれるツール名とパラメータに基づいて、対応する関数を実際に実行したり、外部 API を呼び出したりします。
   * *例：* バックエンドプログラムが天気照会 API を呼び出し、「東京」と「明日」をパラメータとして渡します。
6. **結果をモデルに返す：**

   * アプリケーションは、ツールを実行して得られた結果 (通常も JSON 形式) を AI アシスタントのモデルに返します。
   * *例：*

   ```json
   {
     "temperature": "25°C",
     "condition": "晴天"
   }
   ```
7. **モデルによる最終的な返信の生成：**
   * モデルはツールの実行結果を受け取り、それを最終的な自然言語の返信に統合します。
   * *例：* 「明日の東京の天気は晴れの予想で、気温は約 25°C です。」

<figure><img src="/files/hwXIb8Uz9wYVhg1jJF5X" alt=""><figcaption></figcaption></figure>

## ツールの主なメリット <a href="#tool-key-benefits" id="tool-key-benefits"></a>

* **AI アシスタントの能力拡張：** テキスト生成のみという制約を打ち破り、AI アシスタントがリアルタイム情報にアクセスし、現実世界のタスクを実行できるようにします。
* **信頼性と精度の向上：** 構造化された呼び出しと結果の返却により、タスク命令を明確にし、モデルの「ハルシネーション」や操作ミスのリスクを低減します。
* **複雑な自動化フローの実現：** マルチステップかつ複数システムにまたがるタスクを自律的に完了できる AI アシスタントを設計でき、効率を大幅に向上させます (例：旅行の行程を自動で計画し、航空券やホテルを予約する)。
* **より自然なインタラクション体験：** ユーザーは自然言語でニーズを説明するだけで、AI アシスタントがそれを理解し、正確なシステム操作へと変換します。

## MaiAgent が対応するツールの種類 <a href="#supported-tool-types" id="supported-tool-types"></a>

現在、以下の主要な種類に対応しています。

### 🌐 API ツール <a href="#api-tool" id="api-tool"></a>

* **最もよく使われる種類**です。外部の HTTP/HTTPS API サービスへの接続と呼び出しに使用します。
* **一般的な用途**：天気情報の取得、外部データベースの照会、Webhook のトリガー、サードパーティサービスとの連携など。
* **必要な設定**：API エンドポイント URL、HTTP メソッド、リクエストヘッダー (Headers)、パラメータ構造 (Parameters Schema)。

### ☁️ MCP ツール <a href="#mcp-tool" id="mcp-tool"></a>

* **モデルコンテキストプロトコル**（Model Context Protocol, MCP）。標準化されたプロトコルを通じて、サーバー、クライアント、ホスト間の連携を実現します。
* **適用シーン**：AI アシスタントが外部ツールを呼び出し、より複雑で実用的なタスクを実行できるようにします。
* **必要な設定**：MCP サーバー URL、パラメータ、環境変数など。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.maiagent.ai/maiagent-user-guide/maiagent-user-guide-ja/tools/tool_description.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
