Skip to Content
リファレンスコアMastra Class

The Mastra Class

Mastraクラスは、アプリケーションの中心的なエントリーポイントです。エージェント、ワークフロー、サーバーエンドポイントを管理します。

コンストラクターオプション

agents?:

Agent[]
= []
登録するAgentインスタンスの配列

tools?:

Record<string, ToolApi>
= {}
カスタムツールを登録します。ツール名をキー、ツール関数を値としたキー・バリュー形式で構成されます。

storage?:

MastraStorage
データを永続化するためのストレージエンジンインスタンス

vectors?:

Record<string, MastraVector>
ベクトルストアインスタンス。セマンティック検索やベクトルベースのツール(例:Pinecone、PgVector、Qdrant)に使用されます。

logger?:

Logger
= INFOレベルのコンソールロガー
createLogger()で作成されたLoggerインスタンス

workflows?:

Record<string, Workflow>
= {}
登録するワークフロー。ワークフロー名をキー、ワークフローインスタンスを値としたキー・バリュー形式で構成されます。

server?:

ServerConfig
= { port: 4111, host: localhost, cors: { origin: '*', allowMethods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'], allowHeaders: ['Content-Type', 'Authorization', 'x-mastra-client-type'], exposeHeaders: ['Content-Length', 'X-Requested-With'], credentials: false } }
ポート、ホスト、タイムアウト、APIルート、ミドルウェア、CORS設定、Swagger UIのビルドオプション、APIリクエストのロギング、OpenAPIドキュメントなどを含むサーバー設定。

初期化

Mastra クラスは通常、src/mastra/index.ts ファイルで初期化されます。

import { Mastra } from "@mastra/core"; import { createLogger } from "@mastra/core/logger"; // Basic initialization export const mastra = new Mastra({}); // Full initialization with all options export const mastra = new Mastra({ agents: {}, workflows: [], integrations: [], logger: createLogger({ name: "My Project", level: "info", }), storage: {}, tools: {}, vectors: {}, });

Mastra クラスは、最上位のレジストリのようなものと考えることができます。Mastra にツールを登録すると、登録されたエージェントやワークフローがそれらを利用できるようになります。Mastra にインテグレーションを登録すると、エージェント、ワークフロー、ツールがそれらを利用できるようになります。

メソッド

getAgent(name):

Agent
IDでエージェントインスタンスを返します。エージェントが見つからない場合は例外をスローします。

getAgents():

Record<string, Agent>
登録されているすべてのエージェントをキーと値のオブジェクトとして返します。

getWorkflow(id, { serialized }):

Workflow
IDでワークフローインスタンスを返します。serializedオプション(デフォルト: false)を指定すると、名前のみの簡易表現を返します。

getWorkflows({ serialized }):

Record<string, Workflow>
登録されているすべてのワークフローを返します。serializedオプション(デフォルト: false)を指定すると、簡易表現を返します。

getVector(name):

MastraVector
名前でベクトルストアインスタンスを返します。見つからない場合は例外をスローします。

getVectors():

Record<string, MastraVector>
登録されているすべてのベクトルストアをキーと値のオブジェクトとして返します。

getDeployer():

MastraDeployer | undefined
設定されているデプロイヤーインスタンスを返します(存在する場合)。

getStorage():

MastraStorage | undefined
設定されているストレージインスタンスを返します。

getMemory():

MastraMemory | undefined
設定されているメモリインスタンスを返します。注意: このメソッドは非推奨です。メモリはエージェントに直接追加してください。

getServer():

ServerConfig | undefined
ポート、タイムアウト、APIルート、ミドルウェア、CORS設定、ビルドオプションなどを含むサーバー設定を返します。

setStorage(storage):

void
Mastraインスタンスのストレージインスタンスを設定します。

setLogger({ logger }):

void
すべてのコンポーネント(エージェント、ワークフローなど)のロガーを設定します。

setTelemetry(telemetry):

void
すべてのコンポーネントのテレメトリー設定を行います。

getLogger():

Logger
設定されているロガーインスタンスを取得します。

getTelemetry():

Telemetry | undefined
設定されているテレメトリーインスタンスを取得します。

getLogsByRunId({ runId, transportId }):

Promise<any>
特定のrun IDおよびtransport IDのログを取得します。

getLogs(transportId):

Promise<any>
特定のtransport IDのすべてのログを取得します。

エラー処理

Mastra クラスのメソッドは型付きエラーをスローし、キャッチすることができます。

try { const tool = mastra.getTool("nonexistentTool"); } catch (error) { if (error instanceof Error) { console.log(error.message); // "Tool with name nonexistentTool not found" } }