MCP Tools Reference: saasservicemgmt

Tool: list_saas

Lists Saas resources. Required parameter: 'parent' (e.g. projects/my-project/locations/us-central1). Optional parameters: 'page_size', 'page_token', 'filter', 'order_by'.

The following sample demonstrate how to use curl to invoke the list_saas MCP tool.

Curl Request
  
curl  
--location  
 'https://saasservicemgmt.googleapis.com/mcp' 
  
 \ 
--header  
 'content-type: application/json' 
  
 \ 
--header  
 'accept: application/json, text/event-stream' 
  
 \ 
--data  
 '{ 
 "method": "tools/call", 
 "params": { 
 "name": "list_saas", 
 "arguments": { 
 // provide these details according to the tool' 
s  
MCP  
specification  
 } 
  
 } 
,  
 "jsonrpc" 
:  
 "2.0" 
,  
 "id" 
:  
 1 
 } 
 ' 
  

Input Schema

The request structure for the ListSaas method.

ListSaasRequest

JSON representation
 { 
 "parent" 
 : 
 string 
 , 
 "pageSize" 
 : 
 integer 
 , 
 "pageToken" 
 : 
 string 
 , 
 "filter" 
 : 
 string 
 , 
 "orderBy" 
 : 
 string 
 } 
Fields
parent

string

Required. The parent of the saas.

pageSize

integer

The maximum number of saas to send per page.

pageToken

string

The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.

filter

string

Filter the list as specified in https://google.aip.dev/160 .

orderBy

string

Order results as specified in https://google.aip.dev/132 .

Output Schema

The response structure for the ListSaas method.

ListSaasResponse

JSON representation
 { 
 "saas" 
 : 
 [ 
 { 
 object (  Saas 
 
) 
 } 
 ] 
 , 
 "nextPageToken" 
 : 
 string 
 , 
 "unreachable" 
 : 
 [ 
 string 
 ] 
 } 
Fields
saas[]

object ( Saas )

The resulting saas.

nextPageToken

string

If present, the next page token can be provided to a subsequent ListSaas call to list the next page. If empty, there are no more pages.

unreachable[]

string

Locations that could not be reached.

Saas

JSON representation
 { 
 "name" 
 : 
 string 
 , 
 "locations" 
 : 
 [ 
 { 
 object (  Location 
 
) 
 } 
 ] 
 , 
 "applicationTemplate" 
 : 
 { 
 object (  CompositeRef 
 
) 
 } 
 , 
 "blueprintRepo" 
 : 
 string 
 , 
 "state" 
 : 
 enum ( State 
) 
 , 
 "conditions" 
 : 
 [ 
 { 
 object (  SaasCondition 
 
) 
 } 
 ] 
 , 
 "error" 
 : 
 { 
 object (  Status 
 
) 
 } 
 , 
 "labels" 
 : 
 { 
 string 
 : 
 string 
 , 
 ... 
 } 
 , 
 "annotations" 
 : 
 { 
 string 
 : 
 string 
 , 
 ... 
 } 
 , 
 "uid" 
 : 
 string 
 , 
 "etag" 
 : 
 string 
 , 
 "createTime" 
 : 
 string 
 , 
 "updateTime" 
 : 
 string 
 } 
Fields
name

string

Identifier. The resource name (full URI of the resource) following the standard naming scheme:

"projects/{project}/locations/{location}/saas/{saas}"

locations[]

object ( Location )

Optional. List of locations that the service is available in. Rollout refers to the list to generate a rollout plan.

applicationTemplate

object ( CompositeRef )

Reference to composite ApplicationTemplate. When specified, the template components will be imported into their equivalent UnitKind, Release and Blueprint resources. Deleted references will not delete imported resources. Should only be specified on source regions, and be unspecified on replica regions.

blueprintRepo

string

Output only. Name of repository in Artifact Registry for system-generated Blueprints, eg. Blueprints of imported ApplicationTemplates.

state

enum ( State )

Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty.

conditions[]

object ( SaasCondition )

Output only. A set of conditions which indicate the various conditions this resource can have.

error

object ( Status )

Output only. If the state is FAILED, the corresponding error code and message. Defaults to code=OK for all other states.

labels

map (key: string, value: string)

Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

annotations

map (key: string, value: string)

Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects.

More info: https://kubernetes.io/docs/user-guide/annotations

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

uid

string

Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.

etag

string

Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.

createTime

string ( Timestamp format)

Output only. The timestamp when the resource 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: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30" .

updateTime

string ( Timestamp format)

Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.

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: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30" .

Location

JSON representation
 { 
 "name" 
 : 
 string 
 } 
Fields
name

string

Optional. Name of location.

CompositeRef

JSON representation
 { 
 "applicationTemplate" 
 : 
 string 
 , 
 "revision" 
 : 
 string 
 , 
 "syncOperation" 
 : 
 string 
 } 
Fields
applicationTemplate

string

Required. Reference to the ApplicationTemplate resource.

revision

string

Revision of the ApplicationTemplate to use. Changes to revision will trigger manual resynchronization. If empty, ApplicationTemplate will be ignored.

syncOperation

string

Output only. Reference to on-going AppTemplate import and replication operation (i.e. the operation_id for the long-running operation). This field is opaque for external usage.

SaasCondition

JSON representation
 { 
 "status" 
 : 
 enum ( Status 
) 
 , 
 "type" 
 : 
 enum ( Type 
) 
 , 
 "lastTransitionTime" 
 : 
 string 
 , 
 "message" 
 : 
 string 
 , 
 "reason" 
 : 
 string 
 } 
Fields
status

enum ( Status )

Required. Status of the condition.

type

enum ( Type )

Required. Type of the condition.

lastTransitionTime

string ( Timestamp format)

Required. Last time the condition transited from one status to another.

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: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30" .

message

string

Required. Human readable message indicating details about the last transition.

reason

string

Required. Brief reason for the condition's last transition.

Timestamp

JSON representation
 { 
 "seconds" 
 : 
 string 
 , 
 "nanos" 
 : 
 integer 
 } 
Fields
seconds

string ( int64 format)

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

integer

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.

Status

JSON representation
 { 
 "code" 
 : 
 integer 
 , 
 "message" 
 : 
 string 
 , 
 "details" 
 : 
 [ 
 { 
 "@type" 
 : 
 string 
 , 
 field1 
 : 
 ... 
 , 
 ... 
 } 
 ] 
 } 
Fields
code

integer

The status code, which should be an enum value of google.rpc.Code .

message

string

A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.

details[]

object

A list of messages that carry the error details. There is a common set of message types for APIs to use.

An object containing fields of an arbitrary type. An additional field "@type" contains a URI identifying the type. Example: { "id": 1234, "@type": "types.example.com/standard/id" } .

Any

JSON representation
 { 
 "typeUrl" 
 : 
 string 
 , 
 "value" 
 : 
 string 
 } 
Fields
typeUrl

string

Identifies the type of the serialized Protobuf message with a URI reference consisting of a prefix ending in a slash and the fully-qualified type name.

Example: type.googleapis.com/google.protobuf.StringValue

This string must contain at least one / character, and the content after the last / must be the fully-qualified name of the type in canonical form, without a leading dot. Do not write a scheme on these URI references so that clients do not attempt to contact them.

The prefix is arbitrary and Protobuf implementations are expected to simply strip off everything up to and including the last / to identify the type. type.googleapis.com/ is a common default prefix that some legacy implementations require. This prefix does not indicate the origin of the type, and URIs containing it are not expected to respond to any requests.

All type URL strings must be legal URI references with the additional restriction (for the text format) that the content of the reference must consist only of alphanumeric characters, percent-encoded escapes, and characters in the following set (not including the outer backticks): /-.~_!$&()*+,;= . Despite our allowing percent encodings, implementations should not unescape them to prevent confusion with existing parsers. For example, type.googleapis.com%2FFoo should be rejected.

In the original design of Any , the possibility of launching a type resolution service at these type URLs was considered but Protobuf never implemented one and considers contacting these URLs to be problematic and a potential security issue. Do not attempt to contact type URLs.

value

string ( bytes format)

Holds a Protobuf serialization of the type described by type_url.

A base64-encoded string.

LabelsEntry

JSON representation
 { 
 "key" 
 : 
 string 
 , 
 "value" 
 : 
 string 
 } 
Fields
key

string

value

string

AnnotationsEntry

JSON representation
 { 
 "key" 
 : 
 string 
 , 
 "value" 
 : 
 string 
 } 
Fields
key

string

value

string

Tool Annotations

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌

Create a Mobile Website
View Site in Mobile | Classic
Share by: