Tool: get_data_product
Fetches details of a single, specified Data Product. Once you have used the get_data_product tool to fetch the metadata for a Data Product, you can use the list_data_assets tool to list the Data Assets that are part of that Data Product.
The following sample demonstrate how to use curl
to invoke the get_data_product
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_data_product", "arguments": { // provide these details according to the tool' s MCP specification } } , "jsonrpc" : "2.0" , "id" : 1 } ' |
Input Schema
Request message for getting a data product.
GetDataProductRequest
| JSON representation |
|---|
{ "name" : string } |
| Fields | |
|---|---|
name
|
Required. The name of the data product to retrieve. Format: projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id} |
Output Schema
A data product is a curated collection of data assets, packaged to address specific use cases. It's a way to manage and share data in a more organized, product-like manner.
DataProduct
| JSON representation |
|---|
{ "name" : string , "uid" : string , "displayName" : string , "createTime" : string , "updateTime" : string , "etag" : string , "labels" : { string : string , ... } , "description" : string , "icon" : string , "ownerEmails" : [ string ] , "assetCount" : integer , "accessGroups" : { string : { object ( |
name
string
Identifier. Resource name of the data product. Format: projects/{project_id_or_number}/locations/{location_id}/dataProducts/{data_product_id}
.
uid
string
Output only. System generated unique ID for the data product. This ID will be different if the data product is deleted and re-created with the same name.
displayName
string
Required. User-friendly display name of the data product.
createTime
string (
Timestamp
format)
Output only. The time at which the data product 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 at which the data product 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"
.
etag
string
Optional. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.
labels
map (key: string, value: string)
Optional. User-defined labels for the data product.
Example:
{
"environment": "production",
"billing": "marketing-department"
}
An object containing a list of "key": value
pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }
.
description
string
Optional. Description of the data product.
icon
string ( bytes
format)
Optional. Base64 encoded image representing the data product. Max Size: 3.0MiB Expected image dimensions are 512x512 pixels, however the API only performs validation on size of the encoded data. Note: For byte fields, the content of the fields are base64-encoded (which increases the size of the data by 33-36%) when using JSON on the wire.
A base64-encoded string.
ownerEmails[]
string
Required. Emails of the data product owners.
assetCount
integer
Output only. Number of data assets associated with this data product.
accessGroups
map (key: string, value: object (
AccessGroup
))
Optional. Data product access groups by access group id as key. If data product is used only for packaging data assets, then access groups may be empty. However, if a data product is used for sharing data assets, then at least one access group must be specified.
Example:
{
"analyst": {
"id": "analyst",
"displayName": "Analyst",
"description": "Access group for analysts",
"principal": {
"googleGroup": "analysts@example.com"
}
}
}
An object containing a list of "key": value
pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }
.
Union field _access_approval_config
.
_access_approval_config
can be only one of the following:
accessApprovalConfig
object (
AccessApprovalConfig
)
Optional. Configuration for access approval for the data product.
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. |
LabelsEntry
| JSON representation |
|---|
{ "key" : string , "value" : string } |
| Fields | |
|---|---|
key
|
|
value
|
|
AccessGroupsEntry
| JSON representation |
|---|
{
"key"
:
string
,
"value"
:
{
object (
|
| Fields | |
|---|---|
key
|
|
value
|
|
AccessGroup
| JSON representation |
|---|
{
"id"
:
string
,
"displayName"
:
string
,
"description"
:
string
,
"principal"
:
{
object (
|
| Fields | |
|---|---|
id
|
Required. Unique identifier of the access group within the data product. User defined. Eg. "analyst", "developer", etc. |
displayName
|
Required. User friendly display name of the access group. Eg. "Analyst", "Developer", etc. |
description
|
Optional. Description of the access group. |
principal
|
Required. The principal entity associated with this access group. |
Principal
| JSON representation |
|---|
{ // Union field |
type
. The type of the principal entity. type
can be only one of the following:googleGroup
string
Optional. Email of the Google Group, as per https://cloud.google.com/iam/docs/principals-overview#google-group .
Union field _service_account
.
_service_account
can be only one of the following:
serviceAccount
string
Optional. Specifies the email of the producer service account, as per https://cloud.google.com/iam/docs/principals-overview#service-account .
AccessApprovalConfig
| JSON representation |
|---|
{ "approverEmails" : [ string ] } |
| Fields | |
|---|---|
approverEmails[]
|
Optional. Specifies the email addresses of users who are potential approvers and are notified when an access request is made for the data product. The maximum number of emails allowed is 10. |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌

