MCP Reference: dataplex.googleapis.com

MCP server for interacting with Knowledge Catalog (formerly known as Dataplex).

A Model Context Protocol (MCP) server acts as a proxy between an external service that provides context, data, or capabilities to a Large Language Model (LLM) or AI application. MCP servers connect AI applications to external systems such as databases and web services, translating their responses into a format that the AI application can understand.

Server Setup

You must enable MCP servers and set up authentication before use. For more information about using Google and Google Cloud remote MCP servers, see Google Cloud MCP servers overview.

Server Endpoints

An MCP service endpoint is the network address and communication interface (usually a URL) of the MCP server that an AI application (the Host for the MCP client) uses to establish a secure, standardized connection. It is the point of contact for the LLM to request context, call a tool, or access a resource. Google MCP endpoints can be global or regional.

The Cloud Dataplex API MCP server has the following global MCP endpoint:

  • https://dataplex.googleapis.com/mcp

MCP Tools

An MCP tool is a function or executable capability that an MCP server exposes to a LLM or AI application to perform an action in the real world.

Tools

The dataplex.googleapis.com MCP server has the following tools:

MCP Tools
search_entries

Searches for data assets (eg. table/dataset/view) in Knowledge Catalog (formerly known as Dataplex) based on the provided search query.

The query parameter expects a specific syntax. Example: type:table (name:books OR fiction) Supports logical operators (AND, OR, NOT) and grouping. Warning: Performing broad searches without specific filters (e.g., type:table) can be slow and consume significant resources. When performing exploratory searches, always use the page_size parameter to limit the number of results returned.

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.
get_data_asset Fetches details of a single, specified Data Asset that is part of a Data Product.
list_data_products List Data Products in a particular project.
list_data_assets List Data Assets in a particular data product.
create_data_product

Initiates the creation of a Data Product.

  • The tool returns a long-running operation. Use the get_operation tool to poll its status until the operation completes.
  • The data product creation operation can take several minutes. Use a command line tool to pause for 5 seconds before rechecking the status.
  • After you use the create_data_product tool to create a data product, you can use the update_data_product tool to add access groups and labels in case provided by the user else do not call the update_data_product tool and just call the get_data_product tool to get the data product details.
update_data_product

Initiates the update of a Data Product. Update the metadata of an existing data product.

  • The update_mask parameter specifies which fields of the data product to update. For example, to update only the description field, set update_mask to description. To update multiple fields at once, separate the field names with commas. For example, description,labels updates both the description and labels fields.
  • The tool returns a long-running operation. Use the get_operation tool to poll its status until the operation completes.
  • The data product update operation can take several minutes. Use a command line tool to pause for 5 seconds before rechecking the status.
  • After you use the update_data_product tool, use the get_data_product tool to retrieve the current values of the data product fields.
create_data_asset

Initiates the creation of a Data Asset.

  • The tool returns a long-running operation. Use the get_operation tool to poll its status until the operation completes.
  • In case access group configs are provided, the access group name provided is the key and the role provided is the value.
  • The data asset creation operation can take several minutes. Use a command line tool to pause for 5 seconds before rechecking the status.
  • After you use the create_data_asset tool to create a data product, use the get_data_asset tool to get the data asset details.
update_data_asset

Initiates the update of a Data Asset.

  • The update_mask parameter specifies which fields of the data product to update. For example, to update only the description field, set update_mask to description. To update multiple fields at once, separate the field names with commas. For example, access_group_configs,labels updates both the access_group_configs and labels fields.
  • The tool returns a long-running operation. Use the get_operation tool to poll its status until the operation completes.
  • In case access group configs are provided, the access group name provided is the key and the role provided is the value.
  • The data product update operation can take several minutes. Use a command line tool to pause for 5 seconds before rechecking the status.
  • After you use the update_data_asset tool, use the get_data_asset tool to retrieve the current values of the data product fields.
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 use a command line tool to pause for 5 seconds before rechecking the status of the operation.

Parameters * name: The name of the operation to get. * name should be the name returned by the tool that initiated the operation. * name should be in the format of projects/{project}/locations/{location}/operations/{operation}

Returns * response: The response of the operation. * error: The error returned by the operation if any.

lookup_context Retrieves rich metadata regarding one or more data assets along with their relationships.
lookup_entry Retrieves detailed technical metadata including 1P and 3P aspects regarding a specific data asset using simplified parameters.
update_data_product_aspects

Updates aspects of a Catalog Entry representing a Data Product.

For Custom Aspects:

  1. Find Aspect Type: Use List Aspect Types (via gcloud) or search_entries tool to identify the aspect type ID. Aspect display name may differ from aspect type ID. Try searching in the 'global' location if the aspect location is not known.
  2. Get Template: Once the aspect type ID is found, run gcloud dataplex aspect-types describe [ASPECT_TYPE_ID] --location=[ASPECT_LOCATION] --project=[ASPECT_PROJECT_ID] --format=yaml. Check the template for field names, types, and required fields.
  3. Map Data: Use the retrieved template schema to populate the data map.

Request Structure:

  • For a custom aspect:
{
  "project_id": "[ASPECT_PROJECT_ID]",
  "location": "[ASPECT_LOCATION]",
  "aspect_name": "[ASPECT_NAME]",
  "data": {
    "field_name_1": "value_1",
    "field_name_2": 123
  }
}
  • For a Contract:
{
  "project_id": "dataplex-types",
  "location": "global",
  "aspect_name": "refresh-cadence",
  "data": {
    "cronSchedule": "* * * * *",
    "frequency": "Daily",
    "refreshTime": "09:00 PST",
    "thresholdInMinutes": 15
  }
}
  • For Documentation:
{
  "project_id": "dataplex-types",
  "location": "global",
  "aspect_name": "overview",
  "data": {
    "content": "YOUR_DOCUMENTATION_CONTENT"
  }
}

Get MCP tool specifications

To get the MCP tool specifications for all tools in an MCP server, use the tools/list method. The following example demonstrates how to use curl to list all tools and their specifications currently available within the MCP server.

Curl Request
                      
curl --location 'https://dataplex.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'