MCP Tools Reference: dataplex.googleapis.com

Tool: get_operation

Gets the status of a long-running operation.

Usage

Some tools return a long-running operation. You can use this tool to get the status of the operation. If an operation takes an extended amount of time, then wait at least 5 seconds before rechecking the status of the operation.

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

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

Input Schema

Request message for GetOperation. The fields project_id, location, and operation_id combine to form the full resource name of the operation: projects/{project_id}/locations/{location}/operations/{operation_id}. This should be the name returned by the tool that initiated the operation.

GetOperationRequest

JSON representation
{
  "projectId": string,
  "location": string,
  "operationId": string
}
Fields
projectId

string

Required. The ID of the Google Cloud project containing the operation.

location

string

Required. The Google Cloud location (region) of the operation.

operationId

string

Required. The unique identifier of the operation to get, which was returned by the tool that initiated the operation.

Output Schema

Response message for GetOperation.

GetOperationResponse

JSON representation
{
  "name": string,
  "done": boolean,
  "response": {
    "@type": string,
    field1: ...,
    ...
  },
  "error": {
    object (Status)
  }
}
Fields
name

string

The name of the operation.

done

boolean

Whether the operation has completed.

response

object

Optional. The operation result, which can be either an error or a valid response. If done == false, neither error nor response is set. If done == true, exactly one of error or response can be set. Some services might not provide the result. The response of the operation.

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" }.

error

object (Status)

Optional. The error returned by the operation if any.

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.

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" }.

Tool Annotations

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