MCP Tools Reference: cloudsupport.googleapis.com

Tool: search_cases

Search for cases using a query. Note: The parent (project) parameter is mandatory for this tool. To search across displayName, description, and comments, use a global restriction with no keyword or operator (e.g., "my search"). To search cases updated after a certain date, use updateTime with ISO datetime format (e.g., updateTime>"2020-01-01T00:00:00-05:00"). If you provide an empty query, all cases under the parent resource will be returned.

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

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

Input Schema

The request message for the SearchCases endpoint.

SearchCasesRequest

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

string

Required. The name of the parent resource to search for cases under.

query

string

Optional. An expression used to filter cases.

Expressions use the following fields separated by AND and specified with =:

  • state: Can be OPEN or CLOSED.
  • priority: Can be P0, P1, P2, P3, or P4. You can specify multiple values for priority using the OR operator. For example, priority=P1 OR priority=P2.
  • creator.email: The email address of the case creator.

To search across displayName, description, and comments, use a global restriction with no keyword or operator. For example, "my search".

To search only cases updated after a certain date, use update_time restricted with that particular date, time, and timezone in ISO datetime format. For example, update_time>"2020-01-01T00:00:00-05:00". update_time only supports the greater than operator (>).

Examples:

  • state=CLOSED
  • state=OPEN AND creator.email="tester@example.com"
  • state=OPEN AND (priority=P0 OR priority=P1)
  • update_time>"2020-01-01T00:00:00-05:00"
pageSize

integer

Optional. The maximum number of cases fetched with each request. The default page size is 10.

pageToken

string

Optional. A token identifying the page of results to return. If unspecified, the first page is retrieved.

Output Schema

The response message for the SearchCases endpoint.

SearchCasesResponse

JSON representation
{
  "cases": [
    {
      object (Case)
    }
  ],
  "nextPageToken": string
}
Fields
cases[]

object (Case)

The list of cases associated with the parent after any filters have been applied.

nextPageToken

string

A token to retrieve the next page of results. Set this in the page_token field of subsequent SearchCases requests. If unspecified, there are no more results to retrieve.

Case

JSON representation
{
  "name": string,
  "displayName": string,
  "description": string,
  "classificationId": string,
  "classificationDisplayName": string,
  "subscriberEmailAddresses": [
    string
  ],
  "state": enum (State),
  "createTime": string,
  "updateTime": string,
  "creatorDisplayName": string,
  "creatorUsername": string,
  "creatorGoogleSupport": boolean,
  "escalated": boolean,
  "priority": enum (Priority),
  "testCase": boolean,
  "timeZone": string,
  "languageCode": string,
  "contactEmail": string
}
Fields
name

string

Output only. Identifier. The resource name for the case.

displayName

string

The short summary of the issue reported in this case.

description

string

A broad description of the issue.

classificationId

string

Required. A Case Classification represents the topic that a case is about. The classification_id is the unique ID for a classification.

classificationDisplayName

string

A human readable display name for the classification.

subscriberEmailAddresses[]

string

The email addresses to receive updates on this case.

state

enum (State)

Output only. The current status of the support case.

createTime

string (Timestamp format)

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

creatorDisplayName

string

Output only. The display name of the case creator. If not provided, it is inferred from credentials supplied during creation.

This will be obfuscated if the user is a Google Support agent.

creatorUsername

string

Output only. The username of the case creator. It may look like an email or other format provided by the identity provider. If not provided, it is inferred from the credentials supplied. When a creatorDisplayName is provided, a creatorUsername must also be provided. If the user is a Google Support agent, this will not be set.

creatorGoogleSupport

boolean

Output only. Whether the creator is a Google support actor.

escalated

boolean

Whether the case is currently escalated.

priority

enum (Priority)

The priority of this case.

testCase

boolean

Whether this case was created for internal API testing and should not be acted on by the support team.

timeZone

string

The timezone of the user who created the support case. It is in a format IANA recognizes: https://www.iana.org/time-zones.

languageCode

string

The language the user has requested to receive support in. This is a BCP 47 language code (e.g., "en", "zh-CN", "zh-TW", "ja", "ko").

contactEmail

string

A user-supplied email address to send case update notifications for. This should only be used in BYOID flows, where we cannot infer the user's email address directly from their EUCs.

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.

State

The status of a support case.

Enums
STATE_UNSPECIFIED Case is in an unknown state.
NEW The case has been created but no one is assigned to work on it yet.
IN_PROGRESS_GOOGLE_SUPPORT The case is currently being handled by Google support.
ACTION_REQUIRED Google is waiting for a response.
SOLUTION_PROVIDED A solution has been offered for the case, but it isn't yet closed.
CLOSED The case has been resolved.

Priority

The case Priority. P0 is most urgent and P4 the least.

Enums
PRIORITY_UNSPECIFIED Priority is undefined or has not been set yet.
P0 Extreme impact on a production service. Service is hard down.
P1 Critical impact on a production service. Service is currently unusable.
P2 Severe impact on a production service. Service is usable but greatly impaired.
P3 Medium impact on a production service. Service is available, but moderately impaired.
P4 General questions or minor issues. Production service is fully available.

Tool Annotations

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