ツール: get_conversation
指定された会話の詳細を取得します。
次のコードサンプルは、curl を使用して get_conversation MCP ツールを呼び出す方法を示しています。
| Curl リクエスト |
|---|
curl --location 'https://ces.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_conversation", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
入力スキーマ
AgentService.GetConversation のリクエスト メッセージです。
GetConversationRequest
| JSON 表現 |
|---|
{
"name": string,
"source": enum ( |
| フィールド | |
|---|---|
name |
必須。取得する会話のリソース名。 |
source |
省略可。会話のソースを指定します。設定しない場合、すべてのソースが検索されます。 |
ソース
会話のソース。
| 列挙型 | |
|---|---|
SOURCE_UNSPECIFIED |
未指定のソース。 |
LIVE |
会話はライブ エンドユーザーからのものです。 |
SIMULATOR |
会話はシミュレーターからのものです。 |
EVAL |
会話は評価から取得されます。 |
AGENT_TOOL |
会話はエージェント ツールからのものです。エージェント ツールは、テストとデバッグのために保持される別のセッションでエージェントを実行します。 |
出力スキーマ
会話は、エンドユーザーと CES アプリ間のやり取りを表します。
会話
| JSON 表現 |
|---|
{ "name": string, "startTime": string, "endTime": string, "turns": [ { object ( |
| フィールド | |
|---|---|
name |
ID。会話の固有識別子。形式: |
startTime |
出力専用。会話が作成されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
endTime |
出力専用。会話が完了したときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
turns[] |
必須。会話のターン。 |
turnCount |
出力専用。会話のターン数。 |
channelType |
非推奨。代わりに |
source |
出力専用。会話のソースを示します。 |
inputTypes[] |
出力専用。会話の入力タイプ。 |
entryAgent |
出力専用。最初に会話を処理するエージェント。指定しない場合、会話はルート エージェントによって処理されます。形式: |
deployment |
出力専用。会話の処理に使用されるアプリのデプロイ。形式: |
appVersion |
出力専用。会話の処理に使用されるアプリのバージョン。形式: |
languageCode |
出力専用。会話の言語コード。 |
messages[] |
非推奨。代わりにターンを使用してください。 |
タイムスタンプ
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。 |
nanos |
ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。 |
Turn
| JSON 表現 |
|---|
{ "messages": [ { object ( |
| フィールド | |
|---|---|
messages[] |
省略可。会話ターンのメッセージのリスト。ユーザー入力、エージェントのレスポンス、処理中の中間イベントが含まれます。 |
rootSpan |
省略可。アクション処理のルートスパン。 |
userIntendedText |
省略可。模擬発信者(Polysynth)から想定される正解テキスト。単語誤り率の指標が有効になっている場合にのみ入力されます。 |
メッセージ
| JSON 表現 |
|---|
{
"role": string,
"chunks": [
{
object ( |
| フィールド | |
|---|---|
role |
省略可。会話内のロール(ユーザー、エージェントなど)。 |
chunks[] |
省略可。一連のチャンクとしてのメッセージのコンテンツ。 |
eventTime |
省略可。メッセージが送信または受信されたときのタイムスタンプ。メッセージが RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
チャンク
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド data。データをチャンク化する。data は次のいずれかになります。 |
|
text |
省略可。テキストデータ。 |
transcript |
省略可。音声に関連付けられた文字起こし。 |
blob |
省略可。blob データ。 |
payload |
省略可。カスタム ペイロード データ。 |
image |
省略可。画像データ。 |
toolCall |
省略可。ツール実行リクエスト。 |
toolResponse |
省略可。ツール実行レスポンス。 |
agentTransfer |
省略可。エージェント転送イベント。 |
updatedVariables |
構造体は、会話で更新された変数を表します。変数名でキー設定されます。 |
defaultVariables |
構造体は、会話の開始時にデフォルトの変数を表します。変数名でキー設定されます。 |
Blob
| JSON 表現 |
|---|
{ "mimeType": string, "data": string } |
| フィールド | |
|---|---|
mimeType |
必須。ソースデータの IANA 標準 MIME タイプ。 |
data |
必須。blob の未加工バイト。 Base64 でエンコードされた文字列。 |
構造体
| JSON 表現 |
|---|
{ "fields": { string: value, ... } } |
| フィールド | |
|---|---|
fields |
動的に型指定される値の順序なしのマップ。
|
FieldsEntry
| JSON 表現 |
|---|
{ "key": string, "value": value } |
| フィールド | |
|---|---|
key |
|
value |
|
値
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド kind。値の種類。kind は次のいずれかになります。 |
|
nullValue |
JSON |
numberValue |
JSON 番号を表します。 |
stringValue |
JSON 文字列を表します。 |
boolValue |
JSON ブール値(JSON の |
structValue |
JSON オブジェクトを表します。 |
listValue |
JSON 配列を表します。 |
ListValue
| JSON 表現 |
|---|
{ "values": [ value ] } |
| フィールド | |
|---|---|
values[] |
動的に型指定される値の繰り返しフィールド。 |
画像
| JSON 表現 |
|---|
{ "mimeType": string, "data": string, "altText": string } |
| フィールド | |
|---|---|
mimeType |
必須。ソースデータの IANA 標準 MIME タイプ。サポートされている画像タイプには、image/png、image/jpeg、image/webp があります。 |
data |
必須。画像の未加工のバイト数。 Base64 でエンコードされた文字列。 |
altText |
省略可。画像の代替テキスト。 |
ToolCall
| JSON 表現 |
|---|
{ "id": string, "displayName": string, "args": { object }, "parentToolCallId": string, "agentName": string, "targetApp": string, // Union field |
| フィールド | |
|---|---|
id |
省略可。ツール呼び出しの固有識別子。入力されている場合、クライアントは |
displayName |
出力専用。ツールの表示名。 |
args |
省略可。ツールの入力パラメータと値(JSON オブジェクト形式)。 |
parentToolCallId |
出力専用。親呼び出しに代わって動作するサブエージェントによって発行された場合に、この呼び出しの原因となったツール呼び出しの ID。最上位の呼び出しの場合は空です。クライアントは、すべてのステップを兄弟としてレンダリングするのではなく、サブエージェントの作業を、それを開始した呼び出しの下にグループ化できます。 |
agentName |
出力専用。この呼び出しを発行したエージェントの人が読める形式の名前(「Contract Architect」など)。ルート エージェントが発行した場合は空になります。 |
targetApp |
出力専用。この呼び出しの対象となるアプリ。アシスタントが呼び出しのリソース引数から取得します。アプリのリソース名、ロケーション スコープのツールの場合は |
共用体フィールド tool_identifier。実行するツールの識別子。永続化されたツールまたはツールセットのツールのいずれかです。tool_identifier は次のいずれかになります。 |
|
tool |
省略可。実行するツールの名前。形式: |
toolsetTool |
省略可。実行するツールセット ツール。 |
ToolsetTool
| JSON 表現 |
|---|
{ "toolset": string, "toolId": string } |
| フィールド | |
|---|---|
toolset |
必須。このツールの派生元である Toolset のリソース名。形式: |
toolId |
省略可。スキーマを取得するツールをフィルタするためのツール ID。 |
ToolResponse
| JSON 表現 |
|---|
{ "id": string, "displayName": string, "response": { object }, "parentToolCallId": string, "agentName": string, "targetApp": string, // Union field |
| フィールド | |
|---|---|
id |
省略可。レスポンスの対象となる |
displayName |
出力専用。ツールの表示名。 |
response |
必須。JSON オブジェクト形式のツール実行結果。「output」キーを使用してツールのレスポンスを指定し、「error」キーを使用してエラーの詳細(存在する場合)を指定します。「output」キーと「error」キーが指定されていない場合、「response」全体がツールの実行結果として扱われます。 |
parentToolCallId |
出力専用。親呼び出しに代わって動作するサブエージェントによって発行された場合に、この呼び出しの原因となったツール呼び出しの ID。最上位の呼び出しの場合は空です。クライアントは、すべてのステップを兄弟としてレンダリングするのではなく、サブエージェントの作業を、それを開始した呼び出しの下にグループ化できます。 |
agentName |
出力専用。この呼び出しを発行したエージェントの人が読める形式の名前(「Contract Architect」など)。ルート エージェントが発行した場合は空になります。 |
targetApp |
出力専用。実行されたツールの対象となったアプリ。 |
共用体フィールド tool_identifier。実行されたツールの識別子。永続化されたツールまたはツールセットのツールのいずれかです。tool_identifier は次のいずれかになります。 |
|
tool |
省略可。実行するツールの名前。形式: |
toolsetTool |
省略可。実行されたツールセット ツール。 |
AgentTransfer
| JSON 表現 |
|---|
{ "targetAgent": string, "displayName": string } |
| フィールド | |
|---|---|
targetAgent |
必須。会話の転送先のエージェント。この時点から、エージェントが会話を処理します。形式: |
displayName |
出力専用。エージェントの表示名。 |
スパン
| JSON 表現 |
|---|
{
"name": string,
"startTime": string,
"endTime": string,
"duration": string,
"attributes": {
object
},
"childSpans": [
{
object ( |
| フィールド | |
|---|---|
name |
出力専用。スパンの名前。 |
startTime |
出力専用。スパンの開始時刻。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
endTime |
出力専用。スパンの終了時刻。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
duration |
出力専用。スパンの期間。
|
attributes |
出力専用。スパンに関連付けられた Key-Value 属性。 |
childSpans[] |
出力専用。このスパンの下にネストされている子スパン。 |
所要時間
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
期間の秒数(符号付き)。-315,576,000,000 ~+315,576,000,000 の範囲(境界を含む)になります。注: これらの境界は、60 秒/分 * 60 分/時間 * 24 時間/日 * 365.25 日/年 * 10,000 年から計算されます。 |
nanos |
期間のナノ秒分解能による、秒の符号付き小数以下部分。1 秒未満の期間は、0 の |
NullValue
JSON null を表します。
NullValue は、1 つの値のみを持つ列挙型を使用して Value 型のユニオンの null 値を表すセンチネルです。
0 以外の値を持つ NullValue 型のフィールドは無効と見なされます。ほとんどの ProtoJSON シリアライザは、整数値に関係なく、null_value が JSON null として設定された Value を出力するため、0 値に往復します。
| 列挙型 | |
|---|---|
NULL_VALUE |
Null 値。 |
ChannelType
会話のチャネルタイプ。
| 列挙型 | |
|---|---|
CHANNEL_TYPE_UNSPECIFIED |
チャネルタイプが指定されていません。 |
TEXT |
会話には、エンドユーザーとエージェント間のテキスト メッセージのみが含まれます。 |
AUDIO |
会話には、エンドユーザーとエージェント間の音声メッセージが含まれています。 |
MULTIMODAL |
エンドユーザーとエージェント間の会話のマルチモーダル メッセージ(画像など)。 |
ソース
会話のソース。
| 列挙型 | |
|---|---|
SOURCE_UNSPECIFIED |
未指定のソース。 |
LIVE |
会話はライブ エンドユーザーからのものです。 |
SIMULATOR |
会話はシミュレーターからのものです。 |
EVAL |
会話は評価から取得されます。 |
AGENT_TOOL |
会話はエージェント ツールからのものです。エージェント ツールは、テストとデバッグのために保持される別のセッションでエージェントを実行します。 |
InputType
入力メッセージのタイプ。
| 列挙型 | |
|---|---|
INPUT_TYPE_UNSPECIFIED |
入力タイプが指定されていません。 |
INPUT_TYPE_TEXT |
テキスト入力。 |
INPUT_TYPE_EVENT |
イベント入力。 |
INPUT_TYPE_AUDIO |
音声入力。 |
INPUT_TYPE_IMAGE |
画像入力。 |
INPUT_TYPE_BLOB |
Blob 入力。 |
INPUT_TYPE_TOOL_RESPONSE |
クライアント関数ツールのレスポンス入力。 |
INPUT_TYPE_VARIABLES |
変数の入力。 |
ツールのアノテーション
ツールのアノテーションは、特定のツールの基本的なリスクを説明するために MCP クライアントに送信されます。ほとんどのクライアントは、これらのヒントを信頼できないものとして扱いますが、確認プロンプトをユーザーに送信するタイミングを決定するために使用できます。
タイトル文字列とともに、次のブール値のヒントが定義されています。
readOnlyHint: true の場合、ツールは環境を変更しません。デフォルトは false です。destructiveHint: true の場合、ツールは破壊的なアクションを実行できます。false の場合、ツールは追加アクションのみを実行できます。デフォルト値は true です。idempotentHint: true の場合、同じ引数でツールを繰り返し呼び出しても、環境に副次的影響は発生しません。デフォルトは false です。openWorldHint: true の場合、ツールは外部エンティティの「オープンワールド」とやり取りできます。false の場合、ツールは内部エンティティとのみやり取りできます。たとえば、ウェブ検索ツールはオープン ワールドですが、メモリツールはオープン ワールドではありません。
破壊的ヒント: ❌ | べき等ヒント: ✅ | 読み取り専用ヒント: ✅ | オープン ワールド ヒント: ❌