メインコンテンツへ移動

Agent.getMetadata()

.getMetadata() メソッドは、Agent に設定されたメタデータを取得し、関数の場合は解決します。Agent の ID や名前へデータを組み込まずにクライアント上で Agent を分類するには、メタデータを使います。

使用例
使用例への直接リンク

await agent.getMetadata()

パラメータ
パラメータへの直接リンク

options?:

{ requestContext?: RequestContext }
= {}
リクエストコンテキストを含む任意の設定オブジェクト。
{ requestContext?: RequestContext }

requestContext?:

RequestContext
動的なメタデータ関数へ渡される Request Context。メタデータが静的な場合は無視されます。

戻り値
戻り値への直接リンク

metadata:

Record<string, unknown> | Promise<Record<string, unknown>>
Agent に設定されたメタデータ。メタデータが設定されていない場合は undefined です。直接返されるか、関数として定義されている場合はメタデータへ解決される Promise として返されます。

詳細な使用例
詳細な使用例への直接リンク

静的なメタデータ:

src/mastra/agents/support-agent.ts
import { Agent } from '@mastra/core/agent'

export const supportAgent = new Agent({
id: 'support-agent',
name: 'Support Agent',
instructions: 'You help customers with support requests.',
model: 'openai/gpt-5.6-sol',
metadata: { type: 'support' },
})

const metadata = supportAgent.getMetadata()

リクエストコンテキストから解決される動的なメタデータ:

src/mastra/agents/support-agent.ts
import { Agent } from '@mastra/core/agent'

export const supportAgent = new Agent({
id: 'support-agent',
name: 'Support Agent',
instructions: 'You help customers with support requests.',
model: 'openai/gpt-5.6-sol',
metadata: ({ requestContext }) => ({
type: 'support',
tenant: requestContext.get('tenant'),
}),
})

const metadata = await supportAgent.getMetadata({ requestContext })