Tool: get_toolset
Ruft Details zum angegebenen Toolset ab.
Im folgenden Beispiel wird gezeigt, wie Sie mit curl das MCP-Tool get_toolset aufrufen.
| Curl-Anfrage |
|---|
curl --location 'https://ces.[REGION].rep.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_toolset", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Eingabeschema
Anfragenachricht für AgentService.GetToolset.
GetToolsetRequest
| JSON-Darstellung |
|---|
{ "name": string } |
| Felder | |
|---|---|
name |
Erforderlich. Der Ressourcenname des abzurufenden Toolsets. |
Ausgabeschema
Ein Toolset stellt eine Gruppe von dynamisch verwalteten Tools dar, die vom Agent verwendet werden können.
Toolset
| JSON-Darstellung |
|---|
{ "name": string, "displayName": string, "description": string, "createTime": string, "updateTime": string, "etag": string, "executionType": enum ( |
| Felder | |
|---|---|
name |
ID. Die eindeutige ID des Toolsets. Format: |
displayName |
Optional. Der Anzeigename des Toolsets. Muss innerhalb derselben App eindeutig sein. |
description |
Optional. Die Beschreibung des Toolsets. |
createTime |
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: |
updateTime |
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: |
etag |
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 alle gleichzeitigen Änderungen durch das Update überschrieben. |
executionType |
Optional. Der Ausführungstyp der Tools im Toolset. |
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 |
Optional. Ein Toolset, das eine Liste von Tools enthält, die vom MCP-Server angeboten werden. |
openApiToolset |
Optional. Ein Toolset, das eine Liste von Tools enthält, die durch ein OpenAPI-Schema definiert werden. |
connectorToolset |
Optional. Ein Toolset, mit dem Tools aus einer Integration Connectors-Verbindung generiert werden. |
McpToolset
| JSON-Darstellung |
|---|
{ "serverAddress": string, "apiAuthentication": { object ( |
| Felder | |
|---|---|
serverAddress |
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 Streamable HTTP-Transport-basierte Server unterstützt. Weitere Informationen finden Sie unter https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http. |
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 |
Optional. Service Directory-Konfiguration für VPC-SC, die zum Auflösen von Dienstnamen innerhalb eines Perimeters verwendet wird. |
tlsConfig |
Optional. Die TLS-Konfiguration. Enthält die benutzerdefinierten Serverzertifikate, denen der Client vertrauen soll. |
ApiAuthentication
| JSON-Darstellung |
|---|
{ // Union field |
| Felder | |
|---|---|
Union-Feld auth_config. Die Authentifizierungskonfiguration. Für auth_config ist nur einer der folgenden Werte zulässig: |
|
apiKeyConfig |
Optional. Konfiguration für die API-Schlüsselauthentifizierung. |
oauthConfig |
Optional. Konfiguration für OAuth. |
serviceAgentIdTokenAuthConfig |
Optional. Konfiguration für die ID-Token-Authentifizierung, die vom CES-Dienst-Agent generiert wird. |
serviceAccountAuthConfig |
Optional. Konfiguration für die Dienstkontoauthentifizierung. |
bearerTokenConfig |
Optional. Konfiguration für die Inhabertoken-Authentifizierung. |
ApiKeyConfig
| JSON-Darstellung |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Felder | |
|---|---|
keyName |
Erforderlich. Der Parametername oder der Headername des API-Schlüssels. Beispiel: Wenn der API-Aufruf „https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Erforderlich. Der Name der Secret-Versionsressource des Secret Manager, in der der API-Schlüssel gespeichert ist. Format: Hinweis: Sie sollten dem CES-Dienst-Agenten |
requestLocation |
Erforderlich. Schlüsselposition in der Anfrage. |
OAuthConfig
| JSON-Darstellung |
|---|
{
"oauthGrantType": enum ( |
| Felder | |
|---|---|
oauthGrantType |
Erforderlich. OAuth-Berechtigungstypen. |
clientId |
Erforderlich. Die Client-ID des OAuth-Anbieters. |
clientSecretVersion |
Erforderlich. Der Name der SecretManager-Secret-Versionsressource, in der der Clientschlüssel gespeichert ist. Format: Hinweis: Sie sollten dem CES-Dienst-Agenten |
tokenEndpoint |
Erforderlich. Der Token-Endpunkt im OAuth-Anbieter, der gegen ein Zugriffstoken ausgetauscht werden soll. |
scopes[] |
Optional. Die zu gewährenden OAuth-Bereiche. |
ServiceAccountAuthConfig
| JSON-Darstellung |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Felder | |
|---|---|
serviceAccount |
Erforderlich. Die E‑Mail-Adresse des für die Authentifizierung verwendeten Dienstkontos. CES verwendet dieses Dienstkonto, um ein Zugriffstoken auszutauschen. Das Zugriffstoken wird dann im Dem Dienstkonto muss die Rolle |
scopes[] |
Optional. Die zu gewährenden OAuth-Bereiche. Wenn nichts angegeben ist, wird der Standardbereich |
BearerTokenConfig
| JSON-Darstellung |
|---|
{ "token": string } |
| Felder | |
|---|---|
token |
Erforderlich. Das Inhabertoken. Muss das Format |
ServiceDirectoryConfig
| JSON-Darstellung |
|---|
{ "service": string } |
| Felder | |
|---|---|
service |
Erforderlich. Der Name des Service Directory-Dienstes. Format: |
TlsConfig
| JSON-Darstellung |
|---|
{
"caCerts": [
{
object ( |
| Felder | |
|---|---|
caCerts[] |
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 |
Erforderlich. Der Name der zulässigen benutzerdefinierten CA-Zertifikate. Damit lassen sich die benutzerdefinierten CA-Zertifikate eindeutig identifizieren. |
cert |
Erforderlich. Die zulässigen benutzerdefinierten CA-Zertifikate (im DER-Format) für die HTTPS-Überprüfung. Dadurch wird der Standard-SSL-Trust-Anchor ü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 selbst signiert 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. |
OpenApiToolset
| JSON-Darstellung |
|---|
{ "openApiSchema": string, "apiAuthentication": { object ( |
| Felder | |
|---|---|
openApiSchema |
Erforderlich. Das OpenAPI-Schema des Toolsets. |
apiAuthentication |
Optional. Von der API benötigte Authentifizierungsinformationen. |
tlsConfig |
Optional. Die TLS-Konfiguration. Benutzerdefinierte Serverzertifikate sind enthalten |
serviceDirectoryConfig |
Optional. Service Directory-Konfiguration. |
ignoreUnknownFields |
Optional. Bei „true“ ignoriert der Agent unbekannte Felder in der API-Antwort für alle im OpenAPI-Schema definierten Vorgänge. |
url |
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 ( |
| Felder | |
|---|---|
connection |
Erforderlich. Der vollständige Ressourcenname der referenzierten Integration Connectors-Verbindung. Format: |
authConfig |
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 Konfiguration für die Endnutzerauthentifizierung überschreiben. Hinweis: Für die Verbindung muss die Authentifizierungsüberschreibung aktiviert sein, damit Sie hier eine EUC-Konfiguration angeben können. Andernfalls schlägt die Erstellung des Toolsets fehl. Weitere Informationen finden Sie unter https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override. |
connectorActions[] |
Erforderlich. Die Liste der Connector-Aktionen/Entitätsvorgänge, für die Tools generiert werden sollen. |
EndUserAuthConfig
| JSON-Darstellung |
|---|
{ // Union field |
| Felder | |
|---|---|
Union-Feld auth_config. Die Authentifizierungskonfiguration. Für auth_config ist nur einer der folgenden Werte zulässig: |
|
oauth2AuthCodeConfig |
Oauth 2.0-Authentifizierung mit Autorisierungscode. |
oauth2JwtBearerConfig |
Authentifizierung mit OAuth 2.0-Berechtigungstyp zur Autorisierung mit JWT-Profil. |
Oauth2AuthCodeConfig
| JSON-Darstellung |
|---|
{ "oauthToken": string } |
| Felder | |
|---|---|
oauthToken |
Erforderlich. Name des OAuth-Tokenparameters, der übergeben werden soll. Muss das Format |
Oauth2JwtBearerConfig
| JSON-Darstellung |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| Felder | |
|---|---|
issuer |
Erforderlich. Name des Ausstellerparameters, der übergeben werden soll. Muss das Format |
subject |
Erforderlich. Name des Subjektparameters, der weitergegeben werden soll. Muss das Format |
clientKey |
Erforderlich. Name des Clientparameters, der übergeben werden soll. Muss das Format |
Aktion
| JSON-Darstellung |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| Felder | |
|---|---|
inputFields[] |
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[] |
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 für eine Aktion, die für das Tool konfiguriert werden soll. Für action_spec ist nur einer der folgenden Werte zulässig: |
|
connectionActionId |
ID einer Verbindungsaktion für das zu verwendende Tool. |
entityOperation |
Konfiguration für den Entitätsvorgang, die vom Tool verwendet werden soll. |
EntityOperation
| JSON-Darstellung |
|---|
{
"entityId": string,
"operation": enum ( |
| Felder | |
|---|---|
entityId |
Erforderlich. ID der Entität. |
operation |
Erforderlich. Vorgang, der für die Entität ausgeführt werden soll. |
Zeitstempel
| JSON-Darstellung |
|---|
{ "seconds": string, "nanos": integer } |
| Felder | |
|---|---|
seconds |
Stellt Sekunden der UTC-Zeit seit Unix-Epoche 1970-01-01T00:00:00Z dar. Muss einschließlich zwischen -62135596800 und 253402300799 liegen (entspricht 0001-01-01T00:00:00Z bis 9999-12-31T23:59:59Z). |
nanos |
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 liegen. |
ToolFakeConfig
| JSON-Darstellung |
|---|
{ "enableFakeMode": boolean, // Union field |
| Felder | |
|---|---|
enableFakeMode |
Optional. Gibt an, ob das Tool den Fiktivmodus 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 |
Optional. Codeblock, der anstelle eines echten Tool-Aufrufs ausgeführt wird. |
CodeBlock
| JSON-Darstellung |
|---|
{ "pythonCode": string } |
| Felder | |
|---|---|
pythonCode |
Erforderlich. Python-Code, der im Tool-Fake-Modus 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. |
Tool-Annotationen
Destruktiver Hinweis: ❌ | Idempotenter Hinweis: ✅ | Nur-Lese-Hinweis: ✅ | Open-World-Hinweis: ❌