Tool: list_apps
Lists apps in the given project and location.
The following sample demonstrate how to use curl to invoke the list_apps MCP tool.
| Curl Request |
|---|
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": "list_apps", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request message for AgentService.ListApps.
ListAppsRequest
| JSON representation |
|---|
{ "parent": string, "pageSize": integer, "pageToken": string, "filter": string, "orderBy": string } |
| Fields | |
|---|---|
parent |
Required. The resource name of the location to list apps from. |
pageSize |
Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. |
pageToken |
Optional. The |
filter |
Optional. Filter to be applied when listing the apps. See https://google.aip.dev/160 for more details. |
orderBy |
Optional. Field to sort by. Only "name" and "create_time" is supported. See https://google.aip.dev/132#ordering for more details. |
Output Schema
Response message for AgentService.ListApps.
ListAppsResponse
| JSON representation |
|---|
{
"apps": [
{
object ( |
| Fields | |
|---|---|
apps[] |
The list of apps. |
nextPageToken |
A token that can be sent as |
unreachable[] |
Unordered list. Locations that could not be reached. |
App
| JSON representation |
|---|
{ "name": string, "displayName": string, "description": string, "pinned": boolean, "rootAgent": string, "languageSettings": { object ( |
| Fields | |
|---|---|
name |
Identifier. The unique identifier of the app. Format: |
displayName |
Required. Display name of the app. |
description |
Optional. Human-readable description of the app. |
pinned |
Optional. Whether the app is pinned in the app list. |
rootAgent |
Optional. The root agent is the entry point of the app. Format: |
languageSettings |
Optional. Language settings of the app. |
timeZoneSettings |
Optional. TimeZone settings of the app. |
audioProcessingConfig |
Optional. Audio processing configuration of the app. |
loggingSettings |
Optional. Logging settings of the app. |
errorHandlingSettings |
Optional. Error handling settings of the app. |
modelSettings |
Optional. The default LLM model settings for the app. Individual resources (e.g. agents, guardrails) can override these configurations as needed. |
toolExecutionMode |
Optional. The tool execution mode for the app. If not provided, will default to PARALLEL. |
evaluationMetricsThresholds |
Optional. The evaluation thresholds for the app. |
variableDeclarations[] |
Optional. The declarations of the variables. |
predefinedVariableDeclarations[] |
Output only. The declarations of predefined variables for the app. |
globalInstruction |
Optional. Instructions for all the agents in the app. You can use this instruction to set up a stable identity or personality across all the agents. |
guardrails[] |
Optional. List of guardrails for the app. Format: |
dataStoreSettings |
Optional. The data store settings for the app. |
defaultChannelProfile |
Optional. The default channel profile used by the app. |
metadata |
Optional. Metadata about the app. This field can be used to store additional information relevant to the app's details or intended usages. An object containing a list of |
createTime |
Output only. Timestamp when the app was created. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
updateTime |
Output only. Timestamp when the app was last updated. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
etag |
Output only. Etag used to ensure the object hasn't changed during a read-modify-write operation. If the etag is empty, the update will overwrite any concurrent changes. |
deploymentCount |
Output only. Number of deployments in the app. |
clientCertificateSettings |
Optional. The default client certificate settings for the app. |
locked |
Optional. Indicates whether the app is locked for changes. If the app is locked, modifications to the app resources will be rejected. |
LanguageSettings
| JSON representation |
|---|
{ "defaultLanguageCode": string, "supportedLanguageCodes": [ string ], "enableMultilingualSupport": boolean, "fallbackAction": string } |
| Fields | |
|---|---|
defaultLanguageCode |
Optional. The default language code of the app. |
supportedLanguageCodes[] |
Optional. List of languages codes supported by the app, in addition to the |
enableMultilingualSupport |
Optional. Enables multilingual support. If true, agents in the app will use pre-built instructions to improve handling of multilingual input. |
fallbackAction |
Optional. The action to perform when an agent receives input in an unsupported language. This can be a predefined action or a custom tool call. Valid values are: - A tool's full resource name, which triggers a specific tool execution. - A predefined system action, such as "escalate" or "exit", which triggers an |
TimeZoneSettings
| JSON representation |
|---|
{ "timeZone": string } |
| Fields | |
|---|---|
timeZone |
Optional. The time zone of the app from the time zone database, e.g., America/Los_Angeles, Europe/Paris. |
AudioProcessingConfig
| JSON representation |
|---|
{ "synthesizeSpeechConfigs": { string: { object ( |
| Fields | |
|---|---|
synthesizeSpeechConfigs |
Optional. Configuration of how the agent response should be synthesized, mapping from the language code to If the configuration for the specified language code is not found, the configuration for the root language code will be used. For example, if the map contains "en-us" and "en", and the specified language code is "en-gb", then "en" configuration will be used. Note: Language code is case-insensitive. An object containing a list of |
bargeInConfig |
Optional. Configures the agent behavior for the user barge-in activities. |
inactivityTimeout |
Optional. The duration of user inactivity (no speech or interaction) before the agent prompts the user for reengagement. If not set, the agent will not prompt the user for reengagement. A duration in seconds with up to nine fractional digits, ending with ' |
ambientSoundConfig |
Optional. Configuration for the ambient sound to be played with the synthesized agent response, to enhance the naturalness of the conversation. |
SynthesizeSpeechConfigsEntry
| JSON representation |
|---|
{
"key": string,
"value": {
object ( |
| Fields | |
|---|---|
key |
|
value |
|
SynthesizeSpeechConfig
| JSON representation |
|---|
{ "voice": string, "speakingRate": number } |
| Fields | |
|---|---|
voice |
Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code. For the list of available voices, please refer to Supported voices and languages from Cloud Text-to-Speech. |
speakingRate |
Optional. The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will return an error. |
BargeInConfig
| JSON representation |
|---|
{ "disableBargeIn": boolean, "bargeInAwareness": boolean } |
| Fields | |
|---|---|
disableBargeIn |
Optional. Disables user barge-in while the agent is speaking. If true, user input during agent response playback will be ignored. Deprecated: |
bargeInAwareness |
Optional. If enabled, the agent will adapt its next response based on the assumption that the user hasn't heard the full preceding agent message. This should not be used in scenarios where agent responses are displayed visually. |
Duration
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years |
nanos |
Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 |
AmbientSoundConfig
| JSON representation |
|---|
{ "volumeGainDb": number, // Union field |
| Fields | |
|---|---|
volumeGainDb |
Optional. Volume gain (in dB) of the normal native volume supported by ambient noise, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. |
Union field source. Ambient noise to be played with the synthesized agent response, to enhance the naturalness of the conversation. source can be only one of the following: |
|
prebuiltAmbientNoise |
Optional. Deprecated: |
gcsUri |
Optional. Ambient noise as a mono-channel, 16kHz WAV file stored in Cloud Storage. Note: Please make sure the CES service agent |
prebuiltAmbientSound |
Optional. Name of the prebuilt ambient sound. Valid values are: - "coffee_shop" - "keyboard" - "keypad" - "hum" - "office_1" - "office_2" - "office_3" - "room_1" - "room_2" - "room_3" - "room_4" - "room_5" - "air_conditioner" |
LoggingSettings
| JSON representation |
|---|
{ "redactionConfig": { object ( |
| Fields | |
|---|---|
redactionConfig |
Optional. Configuration for how sensitive data should be redacted. |
audioRecordingConfig |
Optional. Configuration for how audio interactions should be recorded. |
bigqueryExportSettings |
Optional. Settings to describe the BigQuery export behaviors for the app. The conversation data will be exported to BigQuery tables if it is enabled. |
cloudLoggingSettings |
Optional. Settings to describe the Cloud Logging behaviors for the app. |
conversationLoggingSettings |
Optional. Settings to describe the conversation logging behaviors for the app. |
evaluationAudioRecordingConfig |
Optional. Configuration for how audio interactions should be recorded for the evaluation. By default, audio recording is not enabled for evaluation sessions. |
metricAnalysisSettings |
Optional. Settings to describe the conversation data collection behaviors for the LLM analysis pipeline for the app. |
RedactionConfig
| JSON representation |
|---|
{ "enableRedaction": boolean, "inspectTemplate": string, "deidentifyTemplate": string } |
| Fields | |
|---|---|
enableRedaction |
Optional. If true, redaction will be applied in various logging scenarios, including conversation history, Cloud Logging and audio recording. |
inspectTemplate |
Optional. DLP inspect template name to configure detection of sensitive data types. Format: |
deidentifyTemplate |
Optional. DLP deidentify template name to instruct on how to de-identify content. Format: |
AudioRecordingConfig
| JSON representation |
|---|
{ "gcsBucket": string, "gcsPathPrefix": string } |
| Fields | |
|---|---|
gcsBucket |
Optional. The Cloud Storage bucket to store the session audio recordings. The URI must start with "gs://". Please choose a bucket location that meets your data residency requirements. Note: If the Cloud Storage bucket is in a different project from the app, you should grant |
gcsPathPrefix |
Optional. The Cloud Storage path prefix for audio recordings. This prefix can include the following placeholders, which will be dynamically substituted at serving time: - $project: project ID - $location: app location - $app: app ID - $date: session date in YYYY-MM-DD format - $session: session ID If the path prefix is not specified, the default prefix |
BigQueryExportSettings
| JSON representation |
|---|
{ "enabled": boolean, "project": string, "dataset": string } |
| Fields | |
|---|---|
enabled |
Optional. Indicates whether the BigQuery export is enabled. |
project |
Optional. The project ID of the BigQuery dataset to export the data to. Note: If the BigQuery dataset is in a different project from the app, you should grant |
dataset |
Optional. The BigQuery dataset to export the data to. |
CloudLoggingSettings
| JSON representation |
|---|
{ "enableCloudLogging": boolean } |
| Fields | |
|---|---|
enableCloudLogging |
Optional. Whether to enable Cloud Logging for the sessions. |
ConversationLoggingSettings
| JSON representation |
|---|
{ "disableConversationLogging": boolean } |
| Fields | |
|---|---|
disableConversationLogging |
Optional. Whether to disable conversation logging for the sessions. |
MetricAnalysisSettings
| JSON representation |
|---|
{ "llmMetricsOptedOut": boolean } |
| Fields | |
|---|---|
llmMetricsOptedOut |
Optional. Whether to collect conversation data for llm analysis metrics. If true, conversation data will not be collected for llm analysis metrics; otherwise, conversation data will be collected. |
ErrorHandlingSettings
| JSON representation |
|---|
{
"errorHandlingStrategy": enum ( |
| Fields | |
|---|---|
errorHandlingStrategy |
Optional. The strategy to use for error handling. |
ModelSettings
| JSON representation |
|---|
{ "model": string, // Union field |
| Fields | |
|---|---|
model |
Optional. The LLM model that the agent should use. If not set, the agent will inherit the model from its parent agent. |
Union field
|
|
temperature |
Optional. If set, this temperature will be used for the LLM model. Temperature controls the randomness of the model's responses. Lower temperatures produce responses that are more predictable. Higher temperatures produce responses that are more creative. |
EvaluationMetricsThresholds
| JSON representation |
|---|
{ "goldenEvaluationMetricsThresholds": { object ( |
| Fields | |
|---|---|
goldenEvaluationMetricsThresholds |
Optional. The golden evaluation metrics thresholds. |
hallucinationMetricBehavior |
Optional. Deprecated: Use |
goldenHallucinationMetricBehavior |
Optional. The hallucination metric behavior for golden evaluations. |
scenarioHallucinationMetricBehavior |
Optional. The hallucination metric behavior for scenario evaluations. |
GoldenEvaluationMetricsThresholds
| JSON representation |
|---|
{ "turnLevelMetricsThresholds": { object ( |
| Fields | |
|---|---|
turnLevelMetricsThresholds |
Optional. The turn level metrics thresholds. |
expectationLevelMetricsThresholds |
Optional. The expectation level metrics thresholds. |
toolMatchingSettings |
Optional. The tool matching settings. An extra tool call is a tool call that is present in the execution but does not match any tool call in the golden expectation. |
TurnLevelMetricsThresholds
| JSON representation |
|---|
{ "semanticSimilarityChannel": enum ( |
| Fields | |
|---|---|
semanticSimilarityChannel |
Optional. The semantic similarity channel to use for evaluation. |
Union field
|
|
semanticSimilaritySuccessThreshold |
Optional. The success threshold for semantic similarity. Must be an integer between 0 and 4. Default is >= 3. |
Union field
|
|
overallToolInvocationCorrectnessThreshold |
Optional. The success threshold for overall tool invocation correctness. Must be a float between 0 and 1. Default is 1.0. |
ExpectationLevelMetricsThresholds
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
toolInvocationParameterCorrectnessThreshold |
Optional. The success threshold for individual tool invocation parameter correctness. Must be a float between 0 and 1. Default is 1.0. |
ToolMatchingSettings
| JSON representation |
|---|
{
"extraToolCallBehavior": enum ( |
| Fields | |
|---|---|
extraToolCallBehavior |
Optional. Behavior for extra tool calls. Defaults to FAIL. |
VariableDeclaration
| JSON representation |
|---|
{
"name": string,
"description": string,
"schema": {
object ( |
| Fields | |
|---|---|
name |
Required. The name of the variable. The name must start with a letter or underscore and contain only letters, numbers, or underscores. |
description |
Required. The description of the variable. |
schema |
Required. The schema of the variable. |
Schema
| JSON representation |
|---|
{ "type": enum ( |
| Fields | |
|---|---|
type |
Required. The type of the data. |
properties |
Optional. Properties of Type.OBJECT. An object containing a list of |
required[] |
Optional. Required properties of Type.OBJECT. |
description |
Optional. The description of the data. |
items |
Optional. Schema of the elements of Type.ARRAY. |
nullable |
Optional. Indicates if the value may be null. |
uniqueItems |
Optional. Indicate the items in the array must be unique. Only applies to TYPE.ARRAY. |
prefixItems[] |
Optional. Schemas of initial elements of Type.ARRAY. |
additionalProperties |
Optional. Can either be a boolean or an object, controls the presence of additional properties. |
anyOf[] |
Optional. The value should be validated against any (one or more) of the subschemas in the list. |
enum[] |
Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]} |
default |
Optional. Default value of the data. |
ref |
Optional. Allows indirect references between schema nodes. The value should be a valid reference to a child of the root For example, the following schema defines a reference to a schema node named "Pet": The value of the "pet" property is a reference to the schema node named "Pet". See details in https://json-schema.org/understanding-json-schema/structuring. |
defs |
Optional. A map of definitions for use by An object containing a list of |
title |
Optional. The title of the schema. |
minItems |
Optional. Minimum number of the elements for Type.ARRAY. |
maxItems |
Optional. Maximum number of the elements for Type.ARRAY. |
Union field
|
|
minimum |
Optional. Minimum value for Type.INTEGER and Type.NUMBER. |
Union field
|
|
maximum |
Optional. Maximum value for Type.INTEGER and Type.NUMBER. |
PropertiesEntry
| JSON representation |
|---|
{
"key": string,
"value": {
object ( |
| Fields | |
|---|---|
key |
|
value |
|
Value
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field kind. The kind of value. kind can be only one of the following: |
|
nullValue |
Represents a null value. |
numberValue |
Represents a double value. |
stringValue |
Represents a string value. |
boolValue |
Represents a boolean value. |
structValue |
Represents a structured value. |
listValue |
Represents a repeated |
Struct
| JSON representation |
|---|
{ "fields": { string: value, ... } } |
| Fields | |
|---|---|
fields |
Unordered map of dynamically typed values. An object containing a list of |
FieldsEntry
| JSON representation |
|---|
{ "key": string, "value": value } |
| Fields | |
|---|---|
key |
|
value |
|
ListValue
| JSON representation |
|---|
{ "values": [ value ] } |
| Fields | |
|---|---|
values[] |
Repeated field of dynamically typed values. |
DefsEntry
| JSON representation |
|---|
{
"key": string,
"value": {
object ( |
| Fields | |
|---|---|
key |
|
value |
|
DataStoreSettings
| JSON representation |
|---|
{
"engines": [
{
object ( |
| Fields | |
|---|---|
engines[] |
Output only. The engines for the app. |
Engine
| JSON representation |
|---|
{
"name": string,
"type": enum ( |
| Fields | |
|---|---|
name |
Output only. The resource name of the engine. Format: |
type |
Output only. The type of the engine. |
ChannelProfile
| JSON representation |
|---|
{ "profileId": string, "channelType": enum ( |
| Fields | |
|---|---|
profileId |
Optional. The unique identifier of the channel profile. |
channelType |
Optional. The type of the channel profile. |
personaProperty |
Optional. The persona property of the channel profile. |
disableDtmf |
Optional. Whether to disable DTMF (dual-tone multi-frequency). |
disableBargeInControl |
Optional. Whether to disable user barge-in control in the conversation. - true: User interruptions are disabled while the agent is speaking. - false: The agent retains automatic control over when the user can interrupt. |
webWidgetConfig |
Optional. The configuration for the web widget. |
noiseSuppressionLevel |
Optional. The noise suppression level of the channel profile. Available values are "low", "moderate", "high", "very_high". |
PersonaProperty
| JSON representation |
|---|
{
"persona": enum ( |
| Fields | |
|---|---|
persona |
Optional. The persona of the channel. |
WebWidgetConfig
| JSON representation |
|---|
{ "modality": enum ( |
| Fields | |
|---|---|
modality |
Optional. The modality of the web widget. |
theme |
Optional. The theme of the web widget. |
webWidgetTitle |
Optional. The title of the web widget. |
securitySettings |
Optional. The security settings of the web widget. |
SecuritySettings
| JSON representation |
|---|
{ "enablePublicAccess": boolean, "enableOriginCheck": boolean, "allowedOrigins": [ string ], "enableRecaptcha": boolean } |
| Fields | |
|---|---|
enablePublicAccess |
Optional. Indicates whether public access to the web widget is enabled. If |
enableOriginCheck |
Optional. Indicates whether origin check for the web widget is enabled. If |
allowedOrigins[] |
Optional. The origins that are allowed to host the web widget. An origin is defined by RFC 6454. If empty, all origins are allowed. A maximum of 100 origins is allowed. Example: "https://example.com" |
enableRecaptcha |
Optional. Indicates whether reCAPTCHA verification for the web widget is enabled. |
MetadataEntry
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
|
value |
|
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
nanos |
Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |
ClientCertificateSettings
| JSON representation |
|---|
{ "tlsCertificate": string, "privateKey": string, "passphrase": string } |
| Fields | |
|---|---|
tlsCertificate |
Required. The TLS certificate encoded in PEM format. This string must include the begin header and end footer lines. |
privateKey |
Required. The name of the SecretManager secret version resource storing the private key encoded in PEM format. Format: |
passphrase |
Optional. The name of the SecretManager secret version resource storing the passphrase to decrypt the private key. Should be left unset if the private key is not encrypted. Format: |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌