MCP Tools Reference: ces.googleapis.com

Tool: get_conversation

Ruft Details zur angegebenen Unterhaltung ab.

Das folgende Codebeispiel zeigt, wie Sie mit curl das MCP-Tool get_conversation aufrufen.

Curl-Anfrage
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
}'

Eingabeschema

Anfragenachricht für AgentService.GetConversation.

GetConversationRequest

JSON-Darstellung
{
  "name": string,
  "source": enum (Source)
}
Felder
name

string

Erforderlich. Der Ressourcenname der abzurufenden Unterhaltung.

source
(deprecated)

enum (Source)

Optional. Geben Sie die Quelle der Unterhaltung an. Wenn nicht festgelegt, wird in allen Quellen gesucht.

Quelle

Die Quelle der Unterhaltung.

Enums
SOURCE_UNSPECIFIED Nicht angegebene Quelle.
LIVE Die Unterhaltung stammt vom Endnutzer.
SIMULATOR Die Unterhaltung stammt aus dem Simulator.
EVAL Die Unterhaltung stammt aus der Bewertung.
AGENT_TOOL Die Unterhaltung stammt von einem Agent-Tool. Mit dem Agent-Tool wird der Agent in einer separaten Sitzung ausgeführt, die zu Test- und Debuggingzwecken beibehalten wird.

Ausgabeschema

Eine Unterhaltung stellt eine Interaktion zwischen einem Endnutzer und der CES-App dar.

Unterhaltung

JSON-Darstellung
{
  "name": string,
  "startTime": string,
  "endTime": string,
  "turns": [
    {
      object (Turn)
    }
  ],
  "turnCount": integer,
  "channelType": enum (ChannelType),
  "source": enum (Source),
  "inputTypes": [
    enum (InputType)
  ],
  "entryAgent": string,
  "deployment": string,
  "appVersion": string,
  "languageCode": string,
  "messages": [
    {
      object (Message)
    }
  ]
}
Felder
name

string

ID. Die eindeutige Kennung des Chats. Format: projects/{project}/locations/{location}/apps/{app}/conversations/{conversation}

startTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel für die Erstellung der Unterhaltung.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30"

endTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel für den Abschluss der Unterhaltung.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30"

turns[]

object (Turn)

Erforderlich. Die Schritte in der Unterhaltung.

turnCount

integer

Nur Ausgabe. Die Anzahl der Züge in der Unterhaltung.

channelType
(deprecated)

enum (ChannelType)

VERWORFEN. Verwende stattdessen input_types.

source

enum (Source)

Nur Ausgabe. Geben Sie die Quelle der Unterhaltung an.

inputTypes[]

enum (InputType)

Nur Ausgabe. Die Eingabetypen der Unterhaltung.

entryAgent

string

Nur Ausgabe. Der Agent, der die Unterhaltung ursprünglich bearbeitet. Wenn nichts angegeben ist, wird die Unterhaltung vom Stamm-Agent bearbeitet. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

deployment

string

Nur Ausgabe. Die Bereitstellung der App, die zum Verarbeiten der Unterhaltung verwendet wird. Format: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

appVersion

string

Nur Ausgabe. Die Version der App, die zum Verarbeiten der Unterhaltung verwendet wurde. Format: projects/{project}/locations/{location}/apps/{app}/versions/{version}

languageCode

string

Nur Ausgabe. Der Sprachcode der Unterhaltung.

messages[]
(deprecated)

object (Message)

Verworfen Verwenden Sie stattdessen Züge.

Zeitstempel

JSON-Darstellung
{
  "seconds": string,
  "nanos": integer
}
Felder
seconds

string (int64 format)

Stellt Sekunden der UTC-Zeit seit Unix-Epoche 1970-01-01T00:00:00Z dar. Muss zwischen -62135596800 und 253402300799 liegen (einschließlich), was dem Zeitraum vom 01.01.0001 00:00:00 UTC bis zum 31.12.9999 23:59:59 UTC entspricht.

nanos

integer

Nicht negative Sekundenbruchteile Nanosekunden-Auflösung. Dieses Feld enthält den Nanosekundenanteil der Dauer und ist keine Alternative zu Sekunden. Negative Sekundenwerte mit Bruchteilen müssen weiterhin nicht negative Nano-Werte haben, die zeitlich vorwärts gezählt werden. Muss zwischen 0 und 999.999.999 (einschließlich) liegen.

Runde

JSON-Darstellung
{
  "messages": [
    {
      object (Message)
    }
  ],
  "rootSpan": {
    object (Span)
  },
  "userIntendedText": string
}
Felder
messages[]

object (Message)

Optional. Liste der Nachrichten in der Unterhaltungsrunde, einschließlich Nutzereingabe, Agent-Antworten und Zwischenereignissen während der Verarbeitung.

rootSpan

object (Span)

Optional. Der Stamm-Span der Aktionsverarbeitung.

userIntendedText

string

Optional. Der beabsichtigte Ground-Truth-Text des simulierten Anrufers (Polysynth). Wird nur ausgefüllt, wenn Messwerte für die Wortfehlerrate aktiviert sind.

Nachricht

JSON-Darstellung
{
  "role": string,
  "chunks": [
    {
      object (Chunk)
    }
  ],
  "eventTime": string
}
Felder
role

string

Optional. Die Rolle in der Unterhaltung, z.B. „user“ (Nutzer), „agent“ (KI-Agent).

chunks[]

object (Chunk)

Optional. Inhalt der Nachricht als Reihe von Chunks.

eventTime

string (Timestamp format)

Optional. Zeitstempel für den Versand oder Empfang der Nachricht. Sollte nicht verwendet werden, wenn die Nachricht Teil eines example ist.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

Chunk

JSON-Darstellung
{

  // Union field data can be only one of the following:
  "text": string,
  "transcript": string,
  "blob": {
    object (Blob)
  },
  "payload": {
    object
  },
  "image": {
    object (Image)
  },
  "toolCall": {
    object (ToolCall)
  },
  "toolResponse": {
    object (ToolResponse)
  },
  "agentTransfer": {
    object (AgentTransfer)
  },
  "updatedVariables": {
    object
  },
  "defaultVariables": {
    object
  }
  // End of list of possible types for union field data.
}
Felder
Union-Feld data. Daten in Blöcke aufteilen. Für data ist nur einer der folgenden Werte zulässig:
text

string

Optional. Textdaten.

transcript

string

Optional. Das mit dem Audio verknüpfte Transkript.

blob

object (Blob)

Optional. Blob-Daten.

payload

object (Struct format)

Optional. Benutzerdefinierte Nutzlastdaten.

image

object (Image)

Optional. Bilddaten.

toolCall

object (ToolCall)

Optional. Anfrage zur Toolausführung.

toolResponse

object (ToolResponse)

Optional. Antwort auf die Toolausführung.

agentTransfer

object (AgentTransfer)

Optional. Ereignis für die Übertragung von Agenten.

updatedVariables

object (Struct format)

Ein Struct stellt Variablen dar, die in der Unterhaltung aktualisiert wurden, wobei die Variablennamen als Schlüssel verwendet werden.

defaultVariables

object (Struct format)

Ein Struct stellt Standardvariablen zu Beginn der Unterhaltung dar, die nach Variablennamen sortiert sind.

Blob

JSON-Darstellung
{
  "mimeType": string,
  "data": string
}
Felder
mimeType

string

Erforderlich. Der IANA-Standard-MIME-Typ der Quelldaten.

data

string (bytes format)

Erforderlich. Rohbyte des Blobs.

Ein base64-codierter String.

Struct

JSON-Darstellung
{
  "fields": {
    string: value,
    ...
  }
}
Felder
fields

map (key: string, value: value (Value format))

Ungeordnete Zuordnung von dynamisch typisierten Werten.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

JSON-Darstellung
{
  "key": string,
  "value": value
}
Felder
key

string

value

value (Value format)

Wert

JSON-Darstellung
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
Felder
Union-Feld kind. Die Art des Werts. Für kind ist nur einer der folgenden Werte zulässig:
nullValue

null

Stellt ein JSON-null dar.

numberValue

number

Stellt eine JSON-Zahl dar. Darf nicht NaN, Infinity oder -Infinity sein, da diese in JSON nicht unterstützt werden. Auch große Int64-Werte können nicht dargestellt werden, da das JSON-Format sie in seinem Zahlentyp im Allgemeinen nicht unterstützt.

stringValue

string

Stellt einen JSON-String dar.

boolValue

boolean

Stellt einen booleschen JSON-Wert dar (true- oder false-Literal in JSON).

structValue

object (Struct format)

Stellt ein JSON-Objekt dar.

listValue

array (ListValue format)

Stellt ein JSON-Array dar.

ListValue

JSON-Darstellung
{
  "values": [
    value
  ]
}
Felder
values[]

value (Value format)

Wiederkehrendes Feld mit dynamisch typisierten Werten.

Bild

JSON-Darstellung
{
  "mimeType": string,
  "data": string,
  "altText": string
}
Felder
mimeType

string

Erforderlich. Der IANA-Standard-MIME-Typ der Quelldaten. Unterstützte Bildtypen: * image/png * image/jpeg * image/webp

data

string (bytes format)

Erforderlich. Rohbyte des Bildes.

Ein base64-codierter String.

altText

string

Optional. Der Alternativtext für das Bild.

ToolCall

JSON-Darstellung
{
  "id": string,
  "displayName": string,
  "args": {
    object
  },
  "parentToolCallId": string,
  "agentName": string,

  // Union field tool_identifier can be only one of the following:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of list of possible types for union field tool_identifier.
}
Felder
id

string

Optional. Die eindeutige Kennung des Tool-Aufrufs. Falls angegeben, sollte der Client das Ausführungsergebnis mit der ID zum Abgleich in ToolResponse zurückgeben.

displayName

string

Nur Ausgabe. Anzeigename des Tools.

args

object (Struct format)

Optional. Die Eingabeparameter und -werte für das Tool im JSON-Objektformat.

parentToolCallId

string

Nur Ausgabe. Die ID des Tool-Aufrufs, der diesen verursacht hat, wenn er von einem untergeordneten Agent im Auftrag eines übergeordneten Aufrufs ausgegeben wurde. Leer für Aufrufe auf oberster Ebene. Ermöglicht es einem Client, die Arbeit eines untergeordneten Agents unter dem Aufruf zu gruppieren, der sie gestartet hat, anstatt jeden Schritt als gleichgeordnetes Element darzustellen.

agentName

string

Nur Ausgabe. Menschenlesbarer Name des KI-Agenten, der diesen Aufruf ausgegeben hat, z.B. „Contract Architect“. Leer, wenn der Root-Agent die Anfrage gestellt hat.

Union-Feld tool_identifier. Die Kennung des auszuführenden Tools. Es kann sich entweder um ein dauerhaftes Tool oder ein Tool aus einem Toolset handeln. Für tool_identifier ist nur einer der folgenden Werte zulässig:
tool

string

Optional. Der Name des auszuführenden Tools. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

Optional. Das Toolset-Tool, das ausgeführt werden soll.

ToolsetTool

JSON-Darstellung
{
  "toolset": string,
  "toolId": string
}
Felder
toolset

string

Erforderlich. Der Ressourcenname des Toolsets, aus dem dieses Tool abgeleitet wird. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolId

string

Optional. Die Tool-ID, mit der die Tools gefiltert werden sollen, für die das Schema abgerufen werden soll.

ToolResponse

JSON-Darstellung
{
  "id": string,
  "displayName": string,
  "response": {
    object
  },
  "parentToolCallId": string,
  "agentName": string,

  // Union field tool_identifier can be only one of the following:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of list of possible types for union field tool_identifier.
}
Felder
id

string

Optional. Die ID zum Abgleich des tool call, auf den sich die Antwort bezieht.

displayName

string

Nur Ausgabe. Anzeigename des Tools.

response

object (Struct format)

Erforderlich. Das Ergebnis der Tool-Ausführung im JSON-Objektformat. Verwenden Sie den Schlüssel „output“, um die Tool-Antwort anzugeben, und den Schlüssel „error“, um Fehlerdetails anzugeben (falls vorhanden). Wenn die Schlüssel „output“ und „error“ nicht angegeben sind, wird die gesamte „response“ als Ergebnis der Tool-Ausführung behandelt.

parentToolCallId

string

Nur Ausgabe. Die ID des Tool-Aufrufs, der diesen verursacht hat, wenn er von einem untergeordneten Agent im Auftrag eines übergeordneten Aufrufs ausgegeben wurde. Leer für Aufrufe auf oberster Ebene. Ermöglicht es einem Client, die Arbeit eines untergeordneten Agents unter dem Aufruf zu gruppieren, der sie gestartet hat, anstatt jeden Schritt als gleichgeordnetes Element darzustellen.

agentName

string

Nur Ausgabe. Menschenlesbarer Name des KI-Agenten, der diesen Aufruf ausgegeben hat, z.B. „Contract Architect“. Leer, wenn der Root-Agent die Anfrage gestellt hat.

Union-Feld tool_identifier. Die Kennung des Tools, das ausgeführt wurde. Es kann sich entweder um ein dauerhaftes Tool oder ein Tool aus einem Toolset handeln. Für tool_identifier ist nur einer der folgenden Werte zulässig:
tool

string

Optional. Der Name des auszuführenden Tools. Format: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

Optional. Das Toolset-Tool, das ausgeführt wurde.

AgentTransfer

JSON-Darstellung
{
  "targetAgent": string,
  "displayName": string
}
Felder
targetAgent

string

Erforderlich. Der KI-Agent, an den die Unterhaltung übertragen wird. Der Agent übernimmt die Unterhaltung ab diesem Punkt. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

Nur Ausgabe. Anzeigename des KI-Agenten.

Span

JSON-Darstellung
{
  "name": string,
  "startTime": string,
  "endTime": string,
  "duration": string,
  "attributes": {
    object
  },
  "childSpans": [
    {
      object (Span)
    }
  ]
}
Felder
name

string

Nur Ausgabe. Der Name des Spans.

startTime

string (Timestamp format)

Nur Ausgabe. Die Startzeit des Zeitraums.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30"

endTime

string (Timestamp format)

Nur Ausgabe. Das Ende des Zeitraums.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30"

duration

string (Duration format)

Nur Ausgabe. Die Dauer des Zeitraums.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit „s“. Beispiel: "3.5s".

attributes

object (Struct format)

Nur Ausgabe. Schlüssel/Wert-Attribute, die dem Bereich zugeordnet sind.

childSpans[]

object (Span)

Nur Ausgabe. Die untergeordneten Spans, die in dieser Span verschachtelt sind.

Dauer

JSON-Darstellung
{
  "seconds": string,
  "nanos": integer
}
Felder
seconds

string (int64 format)

Vorzeichenbehaftete Sekunden des Zeitraums. Muss zwischen -315.576.000.000 und +315.576.000.000 (einschließlich) liegen. Hinweis: Diese Grenzen werden so berechnet: 60 Sek./Min. × 60 Min./Std. × 24 Std./Tag × 365,25 Tage/Jahr × 10.000 Jahre

nanos

integer

Vorzeichenbehaftete Bruchteile einer Sekunde mit Nanosekundenauflösung des Zeitraums. Dauern von weniger als einer Sekunde werden mit dem Feld seconds = 0 und einem positiven oder negativen Feld nanos dargestellt. Bei Zeiträumen von einer Sekunde oder mehr muss ein Wert ungleich null für das Feld nanos dasselbe Vorzeichen wie das Feld seconds haben. Muss zwischen -999.999.999 und +999.999.999 liegen.

NullValue

Stellt ein JSON-null dar.

NullValue ist ein Sentinel, der einen Enum mit nur einem Wert verwendet, um den Nullwert für die Typvereinigung Value darzustellen.

Ein Feld vom Typ NullValue mit einem anderen Wert als 0 gilt als ungültig. Die meisten ProtoJSON-Serialisierer geben ein Value mit einem als JSON-null festgelegten null_value aus, unabhängig vom Ganzzahlwert, und führen so zu einem Roundtrip zu einem 0-Wert.

Enums
NULL_VALUE Nullwert.

ChannelType

Der Kanaltyp der Unterhaltung.

Enums
CHANNEL_TYPE_UNSPECIFIED Nicht angegebener Kanaltyp.
TEXT Die Unterhaltung enthält nur Textnachrichten zwischen dem Endnutzer und dem KI-Agenten.
AUDIO Die Unterhaltung enthält Audio-Nachrichten zwischen dem Endnutzer und dem Agent.
MULTIMODAL Die multimodalen Nachrichten (z.B. Bilder) in der Unterhaltung zwischen dem Endnutzer und dem Agent.

Quelle

Die Quelle der Unterhaltung.

Enums
SOURCE_UNSPECIFIED Nicht angegebene Quelle.
LIVE Die Unterhaltung stammt vom Endnutzer.
SIMULATOR Die Unterhaltung stammt aus dem Simulator.
EVAL Die Unterhaltung stammt aus der Bewertung.
AGENT_TOOL Die Unterhaltung stammt von einem Agent-Tool. Mit dem Agent-Tool wird der Agent in einer separaten Sitzung ausgeführt, die zu Test- und Debuggingzwecken beibehalten wird.

InputType

Typ der Eingabenachricht.

Enums
INPUT_TYPE_UNSPECIFIED Nicht angegebener Eingabetyp.
INPUT_TYPE_TEXT Texteingabe.
INPUT_TYPE_EVENT Ereigniseingabe
INPUT_TYPE_AUDIO Audioeingabe
INPUT_TYPE_IMAGE Bildeingabe
INPUT_TYPE_BLOB Blob-Eingabe.
INPUT_TYPE_TOOL_RESPONSE Eingabe für die Antwort des Client-Funktionstools.
INPUT_TYPE_VARIABLES Eingabe von Variablen.

Tool-Annotationen

Tool-Anmerkungen werden an MCP-Clients gesendet, um das grundlegende Risiko eines bestimmten Tools zu beschreiben. Die meisten Clients behandeln diese Hinweise als nicht vertrauenswürdig, sie können aber verwendet werden, um zu entscheiden, wann ein Bestätigungs-Prompt an einen Nutzer gesendet werden soll.

Zusammen mit dem Titelstring werden die folgenden booleschen Hinweise so definiert:

  • readOnlyHint: Wenn „true“, ändert das Tool seine Umgebung nicht. Standardeinstellung: false.
  • destructiveHint: Wenn „true“, kann das Tool destruktive Aktionen ausführen. Wenn „false“, kann das Tool nur additive Aktionen ausführen. Standardeinstellung: true.
  • idempotentHint: Wenn „true“, hat das wiederholte Aufrufen des Tools mit denselben Argumenten keine zusätzlichen Auswirkungen auf die Umgebung. Standardeinstellung: false.
  • openWorldHint: Wenn „true“, kann das Tool mit einer „offenen Welt“ externer Einheiten interagieren. Wenn „false“, kann das Tool nur mit internen Einheiten interagieren. Ein Tool für die Websuche wäre beispielsweise Open World, ein Tool für das Gedächtnis nicht.

Destruktiver Hinweis: ❌ | Idempotenter Hinweis: ✅ | Nur-Lese-Hinweis: ✅ | Open-World-Hinweis: ❌