Tool: list_engines
List the engines (apps) under a collection.
The following sample demonstrate how to use curl to invoke the list_engines MCP tool.
| Curl Request |
|---|
curl --location 'https://discoveryengine.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_engines", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request message for EngineService.ListEngines method.
ListEnginesRequest
| JSON representation |
|---|
{ "parent": string, "pageSize": integer, "pageToken": string, "filter": string } |
| Fields | |
|---|---|
parent |
Required. The parent resource name, such as |
pageSize |
Optional. Not supported. |
pageToken |
Optional. Not supported. |
filter |
Optional. Filter by solution type. For example: solution_type=SOLUTION_TYPE_SEARCH |
Output Schema
Response message for EngineService.ListEngines method.
ListEnginesResponse
| JSON representation |
|---|
{
"engines": [
{
object ( |
| Fields | |
|---|---|
engines[] |
All the customer's |
nextPageToken |
Not supported. |
Engine
| JSON representation |
|---|
{ "name": string, "displayName": string, "createTime": string, "updateTime": string, "dataStoreIds": [ string ], "solutionType": enum ( |
| Fields | |
|---|---|
name |
Immutable. Identifier. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: |
displayName |
Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters. |
createTime |
Output only. Timestamp the Recommendation Engine was created at. 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 the Recommendation Engine 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: |
dataStoreIds[] |
Optional. The data stores associated with this engine. For If Note that when used in |
solutionType |
Required. The solutions of the engine. |
industryVertical |
Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on |
commonConfig |
Common config spec that specifies the metadata of the engine. |
knowledgeGraphConfig |
Optional. Configurations for the Knowledge Graph. Only applicable if |
appType |
Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type. |
disableAnalytics |
Optional. Whether to disable analytics for searches performed on this engine. |
features |
Optional. Feature config for the engine to opt in or opt out of features. Supported keys:
An object containing a list of |
cmekConfig |
Output only. CMEK-related information for the Engine. |
configurableBillingApproach |
Optional. Configuration for configurable billing approach. |
modelConfigs |
Optional. Maps a model name to its specific configuration for this engine. This allows admin users to turn on/off individual models. This only stores models whose states are overridden by the admin. When the state is unspecified, or model_configs is empty for this model, the system will decide if this model should be available or not based on the default configuration. For example, a preview model should be disabled by default if the admin has not chosen to enable it. An object containing a list of |
observabilityConfig |
Optional. Observability config for the engine. |
connectorTenantInfo |
Optional. Maps a connector ID (e.g., "hybrid-github", "shopify") to tenant-specific information required for that connector. The structure of the tenant information string is connector-dependent. An object containing a list of |
agentGatewaySetting |
Optional. The agent gateway setting for the engine. |
marketplaceAgentVisibility |
Optional. The visibility of marketplace agents in the agent gallery. |
procurementContactEmails[] |
Optional. The emails of the procurement contacts. |
Union field engine_config. Additional config specs that defines the behavior of the engine. engine_config can be only one of the following: |
|
similarDocumentsConfig |
Additional config specs for a |
chatEngineConfig |
Configurations for the Chat Engine. Only applicable if |
searchEngineConfig |
Configurations for the Search Engine. Only applicable if |
mediaRecommendationEngineConfig |
Configurations for the Media Engine. Only applicable on the data stores with |
Union field engine_metadata. Engine metadata to monitor the status of the engine. engine_metadata can be only one of the following: |
|
recommendationMetadata |
Output only. Additional information of a recommendation engine. Only applicable if |
chatEngineMetadata |
Output only. Additional information of the Chat Engine. Only applicable if |
ChatEngineConfig
| JSON representation |
|---|
{
"agentCreationConfig": {
object ( |
| Fields | |
|---|---|
agentCreationConfig |
The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using |
dialogflowAgentToLink |
The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide Format: Note that the |
allowCrossRegion |
Optional. If the flag set to true, we allow the agent and engine are in different locations, otherwise the agent and engine are required to be in the same location. The flag is set to false by default. Note that the |
AgentCreationConfig
| JSON representation |
|---|
{ "business": string, "defaultLanguageCode": string, "timeZone": string, "location": string } |
| Fields | |
|---|---|
business |
Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search. |
defaultLanguageCode |
Required. The default language of the agent as a language tag. See Language Support for a list of the currently supported language codes. |
timeZone |
Required. The time zone of the agent from the time zone database, e.g., America/New_York, Europe/Paris. |
location |
Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default. |
SearchEngineConfig
| JSON representation |
|---|
{ "searchTier": enum ( |
| Fields | |
|---|---|
searchTier |
The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to |
requiredSubscriptionTier |
Optional. The required subscription tier of this engine. They cannot be modified after engine creation. If the required subscription tier is search, user with higher license tier like assist can still access the standalone app associated with this engine. |
searchAddOns[] |
The add-on that this search engine enables. |
MediaRecommendationEngineConfig
| JSON representation |
|---|
{ "type": string, "optimizationObjective": string, "optimizationObjectiveConfig": { object ( |
| Fields | |
|---|---|
type |
Required. The type of engine. e.g., This field together with Currently supported values: |
optimizationObjective |
The optimization objective. e.g., This field together with Currently supported values: If not specified, we choose default based on engine type. Default depends on type of recommendation:
|
optimizationObjectiveConfig |
Name and value of the custom threshold for cvr optimization_objective. For target_field |
trainingState |
The training state that the engine is in (e.g. Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for |
engineFeaturesConfig |
Optional. Additional engine features config. |
OptimizationObjectiveConfig
| JSON representation |
|---|
{ "targetField": string, "targetFieldValueFloat": number } |
| Fields | |
|---|---|
targetField |
Required. The name of the field to target. Currently supported values: |
targetFieldValueFloat |
Required. The threshold to be applied to the target (e.g., 0.5). |
EngineFeaturesConfig
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field type_dedicated_config. Feature related configurations applied to a specific type of media recommendation engines. type_dedicated_config can be only one of the following: |
|
recommendedForYouConfig |
Recommended for you engine feature config. |
mostPopularConfig |
Most popular engine feature config. |
RecommendedForYouFeatureConfig
| JSON representation |
|---|
{ "contextEventType": string } |
| Fields | |
|---|---|
contextEventType |
The type of event with which the engine is queried at prediction time. If set to |
MostPopularFeatureConfig
| JSON representation |
|---|
{ "timeWindowDays": string } |
| Fields | |
|---|---|
timeWindowDays |
The time window of which the engine is queried at training and prediction time. Positive integers only. The value translates to the last X days of events. Currently required for the |
RecommendationMetadata
| JSON representation |
|---|
{ "servingState": enum ( |
| Fields | |
|---|---|
servingState |
Output only. The serving state of the engine: |
dataState |
Output only. The state of data requirements for this engine: Engine cannot be trained if the data is in |
lastTuneTime |
Output only. The timestamp when the latest successful tune finished. Only applicable on Media Recommendation engines. 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: |
lastTrainTime |
Output only. The timestamp when the latest successful training finished. Only applicable on Media Recommendation engines. 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: |
tuningOperation |
Output only. The latest tune operation id associated with the engine. Only applicable on Media Recommendation engines. If present, this operation id can be used to determine if there is an ongoing tune for this engine. To check the operation status, send the GetOperation request with this operation id in the engine resource format. If no tuning has happened for this engine, the string is empty. |
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. |
ChatEngineMetadata
| JSON representation |
|---|
{ "dialogflowAgent": string } |
| Fields | |
|---|---|
dialogflowAgent |
The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: |
CommonConfig
| JSON representation |
|---|
{ "companyName": string } |
| Fields | |
|---|---|
companyName |
The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features. |
KnowledgeGraphConfig
| JSON representation |
|---|
{
"enableCloudKnowledgeGraph": boolean,
"cloudKnowledgeGraphTypes": [
string
],
"enablePrivateKnowledgeGraph": boolean,
"privateKnowledgeGraphTypes": [
string
],
"featureConfig": {
object ( |
| Fields | |
|---|---|
enableCloudKnowledgeGraph |
Whether to enable the Cloud Knowledge Graph for the engine. Defaults to false if not specified. |
cloudKnowledgeGraphTypes[] |
Specify entity types to support. |
enablePrivateKnowledgeGraph |
Whether to enable the Private Knowledge Graph for the engine. Defaults to false if not specified. |
privateKnowledgeGraphTypes[] |
Specify entity types to support. |
featureConfig |
Optional. Feature config for the Knowledge Graph. |
FeatureConfig
| JSON representation |
|---|
{ "disablePrivateKgQueryUnderstanding": boolean, "disablePrivateKgEnrichment": boolean, "disablePrivateKgAutoComplete": boolean, "disablePrivateKgQueryUiChips": boolean } |
| Fields | |
|---|---|
disablePrivateKgQueryUnderstanding |
Whether to disable the private KG query understanding for the engine. Defaults to false if not specified. |
disablePrivateKgEnrichment |
Whether to disable the private KG enrichment for the engine. Defaults to false if not specified. |
disablePrivateKgAutoComplete |
Whether to disable the private KG auto complete for the engine. Defaults to false if not specified. |
disablePrivateKgQueryUiChips |
Whether to disable the private KG for query UI chips. Defaults to false if not specified. |
FeaturesEntry
| JSON representation |
|---|
{
"key": string,
"value": enum ( |
| Fields | |
|---|---|
key |
|
value |
|
CmekConfig
| JSON representation |
|---|
{ "name": string, "kmsKey": string, "kmsKeyVersion": string, "state": enum ( |
| Fields | |
|---|---|
name |
Required. The name of the CmekConfig of the form |
kmsKey |
Required. KMS key resource name which will be used to encrypt resources |
kmsKeyVersion |
Output only. KMS key version resource name which will be used to encrypt resources |
state |
Output only. The states of the CmekConfig. |
isDefault |
Output only. The default CmekConfig for the Customer. |
lastRotationTimestampMicros |
Output only. The timestamp of the last key rotation. |
singleRegionKeys[] |
Optional. Single-regional CMEKs that are required for some VAIS features. |
notebooklmState |
Output only. Whether the NotebookLM Corpus is ready to be used. |
SingleRegionKey
| JSON representation |
|---|
{ "kmsKey": string } |
| Fields | |
|---|---|
kmsKey |
Required. Single-regional kms key resource name which will be used to encrypt resources |
ModelConfigsEntry
| JSON representation |
|---|
{
"key": string,
"value": enum ( |
| Fields | |
|---|---|
key |
|
value |
|
ObservabilityConfig
| JSON representation |
|---|
{ "observabilityEnabled": boolean, "sensitiveLoggingEnabled": boolean } |
| Fields | |
|---|---|
observabilityEnabled |
Optional. Enables observability. If |
sensitiveLoggingEnabled |
Optional. Enables sensitive logging. Sensitive logging includes customer core content (e.g. prompts, responses). If |
ConnectorTenantInfoEntry
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
|
value |
|
AgentGatewaySetting
| JSON representation |
|---|
{
"defaultEgressAgentGateway": {
object ( |
| Fields | |
|---|---|
defaultEgressAgentGateway |
Optional. The default egress agent gateway to use, when this setting is applied to a Gemini Enterprise resource. The deployment mode must be GOOGLE_MANAGED, and the governed access path must be AGENT_TO_ANYWHERE. |
AgentGatewayReference
| JSON representation |
|---|
{ "name": string } |
| Fields | |
|---|---|
name |
Required. Immutable. The resource name of the agent gateway. Expected format: |
SearchTier
Tiers of search features. Different tiers might have different pricing. To learn more, check the pricing documentation.
| Enums | |
|---|---|
SEARCH_TIER_UNSPECIFIED |
Default value when the enum is unspecified. This is invalid to use. |
SEARCH_TIER_STANDARD |
Standard tier. |
SEARCH_TIER_ENTERPRISE |
Enterprise tier. |
SubscriptionTier
Subscription tier information.
| Enums | |
|---|---|
SUBSCRIPTION_TIER_UNSPECIFIED |
Default value. |
SUBSCRIPTION_TIER_SEARCH |
Search tier. Search tier can access Vertex AI Search features and NotebookLM features. |
SUBSCRIPTION_TIER_SEARCH_AND_ASSISTANT |
Gemini Enterprise Plus tier. |
SUBSCRIPTION_TIER_NOTEBOOK_LM |
NotebookLM tier. NotebookLM is a subscription tier can only access NotebookLM features. |
SUBSCRIPTION_TIER_FRONTLINE_WORKER |
Gemini Frontline worker tier. |
SUBSCRIPTION_TIER_AGENTSPACE_STARTER |
Gemini Business Starter tier. |
SUBSCRIPTION_TIER_AGENTSPACE_BUSINESS |
Gemini Business tier. |
SUBSCRIPTION_TIER_ENTERPRISE |
Gemini Enterprise Standard tier. |
SUBSCRIPTION_TIER_ENTERPRISE_EMERGING |
Gemini Enterprise Standard tier for emerging markets. |
SUBSCRIPTION_TIER_EDU |
Gemini Enterprise EDU tier. |
SUBSCRIPTION_TIER_EDU_PRO |
Gemini Enterprise EDU Pro tier. |
SUBSCRIPTION_TIER_EDU_EMERGING |
Gemini Enterprise EDU tier for emerging market only. |
SUBSCRIPTION_TIER_EDU_PRO_EMERGING |
Gemini Enterprise EDU Pro tier for emerging market. |
SUBSCRIPTION_TIER_FRONTLINE_STARTER |
Gemini Frontline Starter tier. |
SearchAddOn
Add-on that provides additional functionality for search.
| Enums | |
|---|---|
SEARCH_ADD_ON_UNSPECIFIED |
Default value when the enum is unspecified. This is invalid to use. |
SEARCH_ADD_ON_LLM |
Large language model add-on. |
TrainingState
The training state of the engine.
| Enums | |
|---|---|
TRAINING_STATE_UNSPECIFIED |
Unspecified training state. |
PAUSED |
The engine training is paused. |
TRAINING |
The engine is training. |
ServingState
The serving state of the recommendation engine.
| Enums | |
|---|---|
SERVING_STATE_UNSPECIFIED |
Unspecified serving state. |
INACTIVE |
The engine is not serving. |
ACTIVE |
The engine is serving and can be queried. |
TUNED |
The engine is trained on tuned hyperparameters and can be queried. |
DataState
Describes whether this engine have sufficient training data to be continuously trained.
| Enums | |
|---|---|
DATA_STATE_UNSPECIFIED |
Unspecified default value, should never be explicitly set. |
DATA_OK |
The engine has sufficient training data. |
DATA_ERROR |
The engine does not have sufficient training data. Error messages can be queried via Stackdriver. |
SolutionType
The type of solution.
| Enums | |
|---|---|
SOLUTION_TYPE_UNSPECIFIED |
Default value. |
SOLUTION_TYPE_RECOMMENDATION |
Used for Recommendations AI. |
SOLUTION_TYPE_SEARCH |
Used for Discovery Search. |
SOLUTION_TYPE_CHAT |
Used for use cases related to the Generative AI agent. |
SOLUTION_TYPE_GENERATIVE_CHAT |
Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with SOLUTION_TYPE_CHAT solution. |
SOLUTION_TYPE_AI_MODE |
Used for AI Mode. |
IndustryVertical
The industry vertical associated with the DataStore.
| Enums | |
|---|---|
INDUSTRY_VERTICAL_UNSPECIFIED |
Value used when unset. |
GENERIC |
The generic vertical for documents that are not specific to any industry vertical. |
MEDIA |
The media industry vertical. |
HEALTHCARE_FHIR |
The healthcare FHIR vertical. |
AppType
The app of the engine.
| Enums | |
|---|---|
APP_TYPE_UNSPECIFIED |
All non specified apps. |
APP_TYPE_INTRANET |
App type for intranet search and Agentspace. |
FeatureState
The state of the feature for the engine.
| Enums | |
|---|---|
FEATURE_STATE_UNSPECIFIED |
The feature state is unspecified. |
FEATURE_STATE_ON |
The feature is turned on to be accessible. |
FEATURE_STATE_OFF |
The feature is turned off to be inaccessible. |
State
States of the CmekConfig.
| Enums | |
|---|---|
STATE_UNSPECIFIED |
The CmekConfig state is unknown. |
CREATING |
The CmekConfig is creating. |
ACTIVE |
The CmekConfig can be used with DataStores. |
KEY_ISSUE |
The CmekConfig is unavailable, most likely due to the KMS Key being revoked. |
DELETING |
The CmekConfig is deleting. |
DELETE_FAILED |
The CmekConfig deletion process failed. |
UNUSABLE |
The CmekConfig is not usable, most likely due to some internal issue. |
ACTIVE_ROTATING |
The KMS key version is being rotated. |
DELETED |
The KMS key is soft deleted. Some cleanup policy will eventually be applied. |
EXPIRED |
The KMS key is expired, meaning the key has been disabled for 30+ days. The customer can call DeleteCmekConfig to change the state to DELETED. |
NotebookLMState
States of NotebookLM.
| Enums | |
|---|---|
NOTEBOOK_LM_STATE_UNSPECIFIED |
The NotebookLM state is unknown. |
NOTEBOOK_LM_NOT_READY |
The NotebookLM is not ready. |
NOTEBOOK_LM_READY |
The NotebookLM is ready to be used. |
NOTEBOOK_LM_NOT_ENABLED |
The NotebookLM is not enabled. |
ConfigurableBillingApproach
Configuration for configurable billing approach.
| Enums | |
|---|---|
CONFIGURABLE_BILLING_APPROACH_UNSPECIFIED |
Default value. For Spark and non-Spark non-configurable billing approach. General pricing model. |
CONFIGURABLE_BILLING_APPROACH_ENABLED |
The billing approach follows configurations specified by customer. |
ModelState
The status of the model for the engine.
| Enums | |
|---|---|
MODEL_STATE_UNSPECIFIED |
The model state is unspecified. |
MODEL_ENABLED |
The model is enabled by admin. |
MODEL_DISABLED |
The model is disabled by admin. |
MarketplaceAgentVisibility
Represents which marketplace agents are visible to any users in agent gallery.
| Enums | |
|---|---|
MARKETPLACE_AGENT_VISIBILITY_UNSPECIFIED |
Defaults to MARKETPLACE_AGENT_VISIBILITY_UNSPECIFIED. |
SHOW_AVAILABLE_AGENTS_ONLY |
Only agents that are currently available for use by the user are visible. |
SHOW_AGENTS_ALREADY_INTEGRATED |
Show marketplace agents that the user does not yet have access to but are integrated into the engine. This level also includes all agents visible with SHOW_AVAILABLE_AGENTS_ONLY. |
SHOW_AGENTS_ALREADY_PURCHASED |
Show all agents visible with SHOW_AGENTS_ALREADY_INTEGRATED, plus agents that have already been purchased by the project/organization, even if they are not currently integrated into the engine. |
SHOW_ALL_AGENTS |
All agents in the marketplace are visible, regardless of access or purchase status. This level encompasses all agents shown in the previous levels. |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌