Skip to Content
リファレンスツールcreateTool()

createTool()

createTool()関数は、Mastraエージェントが実行できるカスタムツールを定義するために使用されます。ツールはエージェントの機能を拡張し、外部システムとの対話、計算の実行、または特定のデータへのアクセスを可能にします。

基本的な使用方法

天気情報を取得するツールを作成する基本的な例を以下に示します:

src/mastra/tools/weatherInfo.ts
import { createTool } from "@mastra/core/tools"; import { z } from "zod"; export const weatherInfo = createTool({ id: "Get Weather Information", inputSchema: z.object({ city: z.string(), }), description: `Fetches the current weather information for a given city`, execute: async ({ context: { city } }) => { // Tool logic here (e.g., API call) console.log("Using tool to fetch weather information for", city); return { temperature: 20, conditions: "Sunny" }; // Example return }, });

パラメータ

createTool()関数は以下のパラメータを持つオブジェクトを受け取ります:

id:

string
ツールの一意の識別子。

description:

string
ツールの機能に関する説明。エージェントがいつこのツールを使用するかを判断するために使用されます。

inputSchema?:

Zod schema
ツールの`execute`関数に対する予想される入力パラメータを定義するZodスキーマ。

outputSchema?:

Zod schema
ツールの`execute`関数の予想される出力構造を定義するZodスキーマ。

execute:

function
ツールのロジックを含む関数。`context`(`inputSchema`に基づいて解析された入力)、`runtimeContext`、および`abortSignal`を含むオブジェクトを受け取ります。

戻り値

createTool()関数はToolオブジェクトを返します。

Tool:

object
定義されたツールを表すオブジェクトで、エージェントに追加する準備ができています。

ツールの詳細

createTool()によって返されるToolオブジェクトには、以下の主要なプロパティがあります:

  • IDidパラメータで提供される一意の識別子。
  • 説明descriptionパラメータで提供される説明。
  • パラメータinputSchemaから派生し、ツールが期待する入力の構造を定義します。
  • 実行関数executeパラメータで定義されたロジックで、エージェントがツールを使用することを決定したときに呼び出されます。

関連項目