MCP Tools Reference: ces.googleapis.com

Tool: list_toolsets

Listet Toolsets in der angegebenen App auf.

Das folgende Codebeispiel zeigt, wie Sie mit curl das MCP-Tool list_toolsets 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": "list_toolsets",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Eingabeschema

Anfragenachricht für AgentService.ListToolsets.

ListToolsetsRequest

JSON-Darstellung
{
  "parent": string,
  "pageSize": integer,
  "pageToken": string,
  "filter": string,
  "orderBy": string
}
Felder
parent

string

Erforderlich. Der Ressourcenname der App, aus der Toolsets aufgeführt werden sollen.

pageSize

integer

Optional. Angeforderte Seitengröße. Der Server gibt möglicherweise weniger Elemente als angefordert zurück. Wenn kein Wert angegeben wurde, wählt der Server einen geeigneten Standardwert aus.

pageToken

string

Optional. Der Wert next_page_token wurde gegebenenfalls von einem vorherigen AgentService.ListToolsets-Listenaufruf zurückgegeben.

filter

string

Optional. Filter, der beim Auflisten der Toolsets angewendet werden soll. Weitere Informationen finden Sie unter https://google.aip.dev/160.

orderBy

string

Optional. Feld, nach dem sortiert werden soll. Nur „name“ und „create_time“ werden unterstützt. Weitere Informationen finden Sie unter https://google.aip.dev/132#ordering.

Ausgabeschema

Antwortnachricht für AgentService.ListToolsets.

ListToolsetsResponse

JSON-Darstellung
{
  "toolsets": [
    {
      object (Toolset)
    }
  ],
  "nextPageToken": string
}
Felder
toolsets[]

object (Toolset)

Die Liste der Toolsets.

nextPageToken

string

Ein Token, das als ListToolsetsRequest.page_token gesendet werden kann, um die nächste Seite abzurufen. Wenn dieses Feld fehlt, gibt es keine nachfolgenden Seiten.

Toolset

JSON-Darstellung
{
  "name": string,
  "displayName": string,
  "description": string,
  "timeout": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "executionType": enum (ExecutionType),
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },

  // Union field toolset_type can be only one of the following:
  "mcpToolset": {
    object (McpToolset)
  },
  "openApiToolset": {
    object (OpenApiToolset)
  },
  "connectorToolset": {
    object (ConnectorToolset)
  }
  // End of list of possible types for union field toolset_type.
}
Felder
name

string

ID. Die eindeutige Kennung des Toolsets. Format: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

displayName

string

Optional. Der Anzeigename des Toolsets. Muss innerhalb derselben App eindeutig sein.

description

string

Optional. Die Beschreibung des Toolsets.

timeout

string (Duration format)

Optional. Das Zeitlimit für die Ausführung des Toolsets. Wenn nichts anderes festgelegt ist, beträgt das Standard-Zeitlimit 30 Sekunden für SYNCHRONOUS-Toolsets und 60 Sekunden für ASYNCHRONOUS-Toolsets.

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

createTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel für die Erstellung des Toolsets.

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"

updateTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel der letzten Aktualisierung des Toolsets.

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".

etag

string

ETag, das verwendet wird, um sicherzustellen, dass sich das Objekt während eines Read-Modify-Write-Vorgangs nicht geändert hat. Wenn das ETag leer ist, werden durch das Update alle gleichzeitigen Änderungen überschrieben.

executionType

enum (ExecutionType)

Optional. Der Ausführungstyp der Tools im Toolset.

toolFakeConfig

object (ToolFakeConfig)

Optional. Konfiguration für das Verhalten von Tools im Fälschungsmodus.

Union-Feld toolset_type. Der Typ des Toolsets. Für toolset_type ist nur einer der folgenden Werte zulässig:
mcpToolset

object (McpToolset)

Optional. Ein Toolset, das eine Liste der Tools enthält, die vom MCP-Server angeboten werden.

openApiToolset

object (OpenApiToolset)

Optional. Ein Toolset, das eine Liste von Tools enthält, die durch ein OpenAPI-Schema definiert werden.

connectorToolset

object (ConnectorToolset)

Optional. Ein Toolset, mit dem Tools aus einer Integration Connectors-Verbindung generiert werden.

McpToolset

JSON-Darstellung
{
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "toolOverrides": [
    {
      object (McpToolOverride)
    }
  ]
}
Felder
serverAddress

string

Erforderlich. Die Adresse des MCP-Servers, z. B. „https://beispiel.de/mcp/“. Wenn der Server mit dem MCP SDK erstellt wurde, sollte die URL mit „/mcp/“ enden. Es werden nur Server unterstützt, die auf dem Streamable HTTP-Transport basieren. Weitere Informationen finden Sie unter https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http.

apiAuthentication

object (ApiAuthentication)

Optional. Authentifizierungsinformationen, die für den Zugriff auf Tools und die Ausführung eines Tools auf dem MCP-Server erforderlich sind. Bei der Authentifizierung mit einem Bearer-Token gilt das Token nur für die Ausführung von Tools, nicht für die Auflistung von Tools. Dazu müssen Tools ohne Authentifizierung aufgeführt werden können.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Optional. Service Directory-Konfiguration für VPC-SC, die zum Auflösen von Dienstnamen innerhalb eines Perimeters verwendet wird.

tlsConfig

object (TlsConfig)

Optional. Die TLS-Konfiguration. Enthält die benutzerdefinierten Serverzertifikate, denen der Client vertrauen soll.

customHeaders

map (key: string, value: string)

Optional. Die benutzerdefinierten Header, die in der Anfrage an den MCP-Server gesendet werden sollen. Die Werte müssen im Format $context.variables.<name_of_variable> angegeben werden und können in den Sitzungsvariablen festgelegt werden. Weitere Informationen finden Sie unter https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection.

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

toolOverrides[]

object (McpToolOverride)

Optional. Überschreibungen für einzelne Tools in diesem Toolset. So können Sie bestimmte Details wie Beschreibungen oder Namen überschreiben oder den Status der Tools fixieren, damit er nicht vollständig dynamisch ist.

ApiAuthentication

JSON-Darstellung
{

  // Union field auth_config can be only one of the following:
  "apiKeyConfig": {
    object (ApiKeyConfig)
  },
  "oauthConfig": {
    object (OAuthConfig)
  },
  "serviceAgentIdTokenAuthConfig": {
    object (ServiceAgentIdTokenAuthConfig)
  },
  "serviceAccountAuthConfig": {
    object (ServiceAccountAuthConfig)
  },
  "bearerTokenConfig": {
    object (BearerTokenConfig)
  }
  // End of list of possible types for union field auth_config.
}
Felder
Union-Feld auth_config. Die Authentifizierungskonfiguration. Für auth_config ist nur einer der folgenden Werte zulässig:
apiKeyConfig

object (ApiKeyConfig)

Optional. Konfiguration für die API-Schlüsselauthentifizierung.

oauthConfig

object (OAuthConfig)

Optional. Konfiguration für OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Optional. Konfiguration für die ID-Token-Authentifizierung, die vom CES-Service-Agent generiert wird.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Optional. Konfiguration für die Dienstkontoauthentifizierung.

bearerTokenConfig

object (BearerTokenConfig)

Optional. Konfiguration für die Inhabertoken-Authentifizierung.

ApiKeyConfig

JSON-Darstellung
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
Felder
keyName

string

Erforderlich. Der Parametername oder der Headername des API-Schlüssels. Beispiel: Wenn die API-Anfrage „https://beispiel.de/act?X-Api-Key=“ lautet, ist „X-Api-Key“ der Parametername.

apiKeySecretVersion

string

Erforderlich. Der Name der Secret-Versionsressource des Secret Manager, in der der API-Schlüssel gespeichert ist. Format: projects/{project}/secrets/{secret}/versions/{version}

Hinweis: Sie sollten dem CES-Dienst-Agenten service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com die Rolle roles/secretmanager.secretAccessor zuweisen.

requestLocation

enum (RequestLocation)

Erforderlich. Schlüsselposition in der Anfrage.

OAuthConfig

JSON-Darstellung
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Felder
oauthGrantType

enum (OauthGrantType)

Erforderlich. OAuth-Berechtigungstypen.

clientId

string

Erforderlich. Die Client-ID des OAuth-Anbieters.

clientSecretVersion

string

Erforderlich. Der Name der SecretManager-Secret-Versionsressource, in der der Clientschlüssel gespeichert ist. Format: projects/{project}/secrets/{secret}/versions/{version}

Hinweis: Sie sollten dem CES-Dienst-Agenten service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com die Rolle roles/secretmanager.secretAccessor zuweisen.

tokenEndpoint

string

Erforderlich. Der Token-Endpunkt im OAuth-Anbieter, der gegen ein Zugriffstoken ausgetauscht werden soll.

scopes[]

string

Optional. Die zu gewährenden OAuth-Bereiche.

ServiceAccountAuthConfig

JSON-Darstellung
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Felder
serviceAccount

string

Erforderlich. Die E-Mail-Adresse des Dienstkontos, das für die Authentifizierung verwendet wird. CES verwendet dieses Dienstkonto, um ein Zugriffstoken auszutauschen. Das Zugriffstoken wird dann im Authorization-Header der Anfrage gesendet.

Dem Dienstkonto muss die Rolle roles/iam.serviceAccountTokenCreator für den CES-Dienst-Agent service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com zugewiesen sein.

scopes[]

string

Optional. Die zu gewährenden OAuth-Bereiche. Wenn nichts angegeben ist, wird der Standardbereich https://www.googleapis.com/auth/cloud-platform verwendet.

BearerTokenConfig

JSON-Darstellung
{
  "token": string
}
Felder
token

string

Erforderlich. Das Inhabertoken. Muss das Format $context.variables.<name_of_variable> aufweisen.

ServiceDirectoryConfig

JSON-Darstellung
{
  "service": string
}
Felder
service

string

Erforderlich. Der Name des Service Directory-Dienstes. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. Der Standort des Dienstverzeichnisses muss mit dem Standort der App übereinstimmen.

TlsConfig

JSON-Darstellung
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
Felder
caCerts[]

object (CaCert)

Erforderlich. Gibt eine Liste der zulässigen benutzerdefinierten CA-Zertifikate für die HTTPS-Überprüfung an.

CaCert

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

string

Erforderlich. Der Name der zulässigen benutzerdefinierten CA-Zertifikate. Damit lassen sich die benutzerdefinierten CA-Zertifikate eindeutig zuordnen.

cert

string (bytes format)

Erforderlich. Die zulässigen benutzerdefinierten CA-Zertifikate (im DER-Format) für die HTTPS-Überprüfung. Dadurch wird der Standard-SSL-Trust Store überschrieben. Wenn dieses Feld leer oder nicht angegeben ist, verwendet CES den Standard-Trust Store von Google, um Zertifikate zu prüfen. Hinweis: Die HTTPS-Serverzertifikate müssen mit „subject alt name“ signiert sein. Ein Zertifikat kann beispielsweise mit dem folgenden Befehl selbstsigniert werden:

   openssl x509 -req -days 200 -in example.com.csr \
     -signkey example.com.key \
     -out example.com.crt \
     -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")

Ein base64-codierter String.

CustomHeadersEntry

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

string

value

string

McpToolOverride

JSON-Darstellung
{
  "tool": string,
  "nameOverride": string,
  "descriptionOverride": string,
  "snapshot": {
    object (McpToolDefinition)
  }
}
Felder
tool

string

Erforderlich. Der ursprüngliche Name des Tools, wie er vom MCP-Server ausgegeben wird.

nameOverride

string

Optional. Falls vorhanden, wird dieser Name im Agent anstelle des ursprünglichen Namens verwendet. Dies wird hauptsächlich als Alias verwendet, wenn der MCP-Server schlecht benannte Tools anbietet.

descriptionOverride

string

Optional. Falls vorhanden, wird diese Beschreibung anstelle der ursprünglichen Beschreibung vom Server verwendet.

snapshot

object (McpToolDefinition)

Nur Ausgabe. Wenn dieses Tool vorhanden ist, wird es angepinnt und verwendet die Snapshot-Werte als Fallback, wenn der Server vorübergehend nicht verfügbar ist oder keine Überschreibung vorhanden ist.

McpToolDefinition

JSON-Darstellung
{
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  }
}
Felder
description

string

Nur Ausgabe. Die Beschreibung des MCP-Tools. Dies kann durch description_override in McpToolOverride überschrieben werden.

inputSchema

object (Schema)

Nur Ausgabe. Das Schema der Eingabeargumente des MCP-Tools.

outputSchema

object (Schema)

Nur Ausgabe. Das Schema der Ausgabeargumente des MCP-Tools.

Schema

JSON-Darstellung
{
  "type": enum (Type),
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "description": string,
  "items": {
    object (Schema)
  },
  "nullable": boolean,
  "uniqueItems": boolean,
  "prefixItems": [
    {
      object (Schema)
    }
  ],
  "additionalProperties": {
    object (Schema)
  },
  "anyOf": [
    {
      object (Schema)
    }
  ],
  "enum": [
    string
  ],
  "default": value,
  "ref": string,
  "defs": {
    string: {
      object (Schema)
    },
    ...
  },
  "title": string,
  "minItems": string,
  "maxItems": string,

  // Union field _minimum can be only one of the following:
  "minimum": number
  // End of list of possible types for union field _minimum.

  // Union field _maximum can be only one of the following:
  "maximum": number
  // End of list of possible types for union field _maximum.
}
Felder
type

enum (Type)

Erforderlich. Der Typ der Daten.

properties

map (key: string, value: object (Schema))

Optional. Attribute von Type.OBJECT.

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

required[]

string

Optional. Erforderliche Attribute von Type.OBJECT.

description

string

Optional. Die Beschreibung der Daten.

items

object (Schema)

Optional. Schema der Elemente von Type.ARRAY.

nullable

boolean

Optional. Gibt an, ob der Wert null sein darf.

uniqueItems

boolean

Optional. Gibt an, dass die Elemente im Array eindeutig sein müssen. Gilt nur für TYPE.ARRAY.

prefixItems[]

object (Schema)

Optional. Schemas der ersten Elemente von Type.ARRAY.

additionalProperties

object (Schema)

Optional. Kann entweder ein boolescher Wert oder ein Objekt sein. Steuert das Vorhandensein zusätzlicher Attribute.

anyOf[]

object (Schema)

Optional. Der Wert sollte anhand eines oder mehrerer der Unterschemas in der Liste validiert werden.

enum[]

string

Optional. Mögliche Werte des Elements des einfachen Typs im enum-Format. Beispiele: 1. Wir können die Richtung so definieren : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Wir können die Wohnungsnummer so definieren : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

Optional. Standardwert der Daten.

ref

string

Optional. Ermöglicht indirekte Verweise zwischen Schemaknoten. Der Wert sollte ein gültiger Verweis auf ein untergeordnetes Element des Stammelements defs sein.

Das folgende Schema definiert beispielsweise einen Verweis auf einen Schemaknoten mit dem Namen „Pet“:

type: object
properties:
  pet:
    ref: #/defs/Pet
defs:
  Pet:
    type: object
    properties:
      name:
        type: string

Der Wert des Attributs „pet“ ist ein Verweis auf den Schemaknoten mit dem Namen „Pet“. Weitere Informationen finden Sie unter https://json-schema.org/understanding-json-schema/structuring.

defs

map (key: string, value: object (Schema))

Optional. Eine Zuordnung von Definitionen, die von ref verwendet werden. Nur im Stammverzeichnis des Schemas zulässig.

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

title

string

Optional. Der Titel des Schemas.

minItems

string (int64 format)

Optional. Mindestanzahl der Elemente für Type.ARRAY.

maxItems

string (int64 format)

Optional. Maximale Anzahl der Elemente für Type.ARRAY.

Union-Feld _minimum.

Für _minimum ist nur einer der folgenden Werte zulässig:

minimum

number

Optional. Mindestwert für Type.INTEGER und Type.NUMBER.

Union-Feld _maximum.

Für _maximum ist nur einer der folgenden Werte zulässig:

maximum

number

Optional. Maximaler Wert für Type.INTEGER und Type.NUMBER.

PropertiesEntry

JSON-Darstellung
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Felder
key

string

value

object (Schema)

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.

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)

ListValue

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

value (Value format)

Wiederkehrendes Feld mit dynamisch typisierten Werten.

DefsEntry

JSON-Darstellung
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Felder
key

string

value

object (Schema)

OpenApiToolset

JSON-Darstellung
{
  "openApiSchema": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Felder
openApiSchema

string

Erforderlich. Das OpenAPI-Schema des Toolsets.

apiAuthentication

object (ApiAuthentication)

Optional. Von der API benötigte Authentifizierungsinformationen.

tlsConfig

object (TlsConfig)

Optional. Die TLS-Konfiguration. Benutzerdefinierte Serverzertifikate sind enthalten

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Optional. Service Directory-Konfiguration.

ignoreUnknownFields

boolean

Optional. Bei „true“ ignoriert der Agent unbekannte Felder in der API-Antwort für alle im OpenAPI-Schema definierten Vorgänge.

url

string

Optional. Die Server-URL des Open API-Schemas. Dieses Feld wird nur in Toolsets in den Umgebungsabhängigkeiten während des Exportvorgangs festgelegt, wenn das Schema eine Server-URL enthält. Wenn diese URL während des Importvorgangs in den Umgebungsabhängigkeiten vorhanden ist und das Schema den Platzhalter $env_var enthält, wird der Platzhalter im Schema ersetzt.

ConnectorToolset

JSON-Darstellung
{
  "connection": string,
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "connectorActions": [
    {
      object (Action)
    }
  ]
}
Felder
connection

string

Erforderlich. Der vollständige Ressourcenname der referenzierten Integration Connectors-Verbindung. Format: projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

Optional. Konfiguriert, wie die Authentifizierung in Integration Connectors gehandhabt wird. Standardmäßig wird eine Administratorauthentifizierung in den Integration Connectors API-Anfragen übergeben. Sie können sie mit einer anderen Endnutzerauthentifizierungskonfiguration überschreiben. Hinweis: Für die Verbindung muss die Authentifizierungsüberschreibung aktiviert sein, damit hier eine EUC-Konfiguration angegeben werden kann. Andernfalls schlägt die Toolset-Erstellung fehl. Weitere Informationen finden Sie unter https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override.

connectorActions[]

object (Action)

Erforderlich. Die Liste der Connector-Aktionen/Entitätsvorgänge, für die Tools generiert werden sollen.

EndUserAuthConfig

JSON-Darstellung
{

  // Union field auth_config can be only one of the following:
  "oauth2AuthCodeConfig": {
    object (Oauth2AuthCodeConfig)
  },
  "oauth2JwtBearerConfig": {
    object (Oauth2JwtBearerConfig)
  }
  // End of list of possible types for union field auth_config.
}
Felder
Union-Feld auth_config. Die Authentifizierungskonfiguration. Für auth_config ist nur einer der folgenden Werte zulässig:
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

Authentifizierung mit OAuth 2.0-Autorisierungscode.

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

JWT-Profil für die OAuth 2.0-Autorisierung.

Oauth2AuthCodeConfig

JSON-Darstellung
{
  "oauthToken": string
}
Felder
oauthToken

string

Erforderlich. Name des OAuth-Tokenparameters, der übergeben werden soll. Muss das Format $context.variables.<name_of_variable> aufweisen.

Oauth2JwtBearerConfig

JSON-Darstellung
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
Felder
issuer

string

Erforderlich. Name des Ausstellerparameters, der übergeben werden soll. Muss das Format $context.variables.<name_of_variable> aufweisen.

subject

string

Erforderlich. Name des zu übergebenden Subjektparameters. Muss das Format $context.variables.<name_of_variable> aufweisen.

clientKey

string

Erforderlich. Name des Clientparameters, der übergeben werden soll. Muss das Format $context.variables.<name_of_variable> aufweisen.

Aktion

JSON-Darstellung
{
  "inputFields": [
    string
  ],
  "outputFields": [
    string
  ],

  // Union field action_spec can be only one of the following:
  "connectionActionId": string,
  "entityOperation": {
    object (EntityOperation)
  }
  // End of list of possible types for union field action_spec.
}
Felder
inputFields[]

string

Optional. Entitätsfelder, die als Eingaben für den Vorgang verwendet werden sollen. Wenn keine Felder angegeben sind, werden alle Felder der Entität verwendet.

outputFields[]

string

Optional. Die Entitätsfelder, die vom Vorgang zurückgegeben werden sollen. Wenn keine Felder angegeben sind, werden alle Felder der Entität zurückgegeben.

Union-Feld action_spec. Spezifikation einer Aktion, die für das zu verwendende Tool konfiguriert werden soll. Für action_spec ist nur einer der folgenden Werte zulässig:
connectionActionId

string

ID einer Verbindungsaktion für das zu verwendende Tool.

entityOperation

object (EntityOperation)

Konfiguration für den Entitätsvorgang, die vom Tool verwendet werden soll.

EntityOperation

JSON-Darstellung
{
  "entityId": string,
  "operation": enum (OperationType)
}
Felder
entityId

string

Erforderlich. ID der Entität.

operation

enum (OperationType)

Erforderlich. Vorgang, der für die Entität ausgeführt werden soll.

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.

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.

ToolFakeConfig

JSON-Darstellung
{
  "enableFakeMode": boolean,

  // Union field tool_response can be only one of the following:
  "codeBlock": {
    object (CodeBlock)
  }
  // End of list of possible types for union field tool_response.
}
Felder
enableFakeMode

boolean

Optional. Gibt an, ob das Tool den Fälschungsmodus verwendet.

Union-Feld tool_response. Die Antwort ist entweder statisch oder wird von einer Python-Funktion bereitgestellt. Für tool_response ist nur einer der folgenden Werte zulässig:
codeBlock

object (CodeBlock)

Optional. Codeblock, der anstelle eines echten Tool-Aufrufs ausgeführt wird.

CodeBlock

JSON-Darstellung
{
  "pythonCode": string
}
Felder
pythonCode

string

Erforderlich. Python-Code, der im Tool-Fakemodus aufgerufen wird. Erwartete Python-Funktionssignatur: Um alle Tool-Aufrufe abzufangen: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Um einen bestimmten Tool-Aufruf abzufangen: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Wenn die Funktion „None“ zurückgibt, wird stattdessen das echte Tool aufgerufen.

RequestLocation

Der Speicherort des API-Schlüssels in der Anfrage.

Enums
REQUEST_LOCATION_UNSPECIFIED Nicht angegeben. Dieser Wert sollte nicht verwendet werden.
HEADER Stellt den Schlüssel im HTTP-Header dar.
QUERY_STRING Stellt den Schlüssel im Abfragestring dar.

OauthGrantType

OAuth-Berechtigungstypen. Es wird nur Clientanmeldedaten-Gewährung unterstützt.

Enums
OAUTH_GRANT_TYPE_UNSPECIFIED Nicht angegeben. Die Standardeinstellung ist CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Stellt den Ablauf für Clientanmeldedaten dar.

Typ

OpenAPI-Datentypen.

Enums
TYPE_UNSPECIFIED Der Typ ist nicht angegeben.
STRING String-Typ.
INTEGER Ganzzahltyp.
NUMBER Nummertyp.
BOOLEAN Boolescher Typ.
OBJECT Objekttyp.
ARRAY Array-Typ.

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.

OperationType

Der Vorgang, der für die Entität ausgeführt werden soll.

Enums
OPERATION_TYPE_UNSPECIFIED Vorgangstyp nicht angegeben. Ungültig. Das Erstellen/Aktualisieren von ConnectorTool schlägt fehl.
LIST Listenvorgang.
GET Vorgang abrufen
CREATE Erstellungsvorgang
UPDATE Aktualisierungsvorgang.
DELETE Löschvorgang.

ExecutionType

Der Ausführungstyp des Tools oder Toolsets.

Enums
EXECUTION_TYPE_UNSPECIFIED Der Ausführungstyp ist nicht angegeben. Wenn kein Wert angegeben wird, gilt der Standardwert SYNCHRONOUS.
SYNCHRONOUS Das Tool wird synchron ausgeführt. Die Sitzung wird blockiert, bis das Tool zurückgegeben wird.
ASYNCHRONOUS Das Tool wird asynchron ausgeführt. Die Sitzung wird fortgesetzt, während das Tool ausgeführt wird.

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: ❌