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:
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.
Initiates the creation of a Data Product.
- The tool returns a long-running operation. Use the
get_operationtool 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_producttool to create a data product, you can use theupdate_data_producttool to add access groups and labels in case provided by the user else do not call theupdate_data_producttool and just call theget_data_producttool to get the data product details.
Initiates the update of a Data Product. Update the metadata of an existing data product.
- The
update_maskparameter specifies which fields of the data product to update. For example, to update only thedescriptionfield, setupdate_masktodescription. To update multiple fields at once, separate the field names with commas. For example,description,labelsupdates both thedescriptionandlabelsfields. - The tool returns a long-running operation. Use the
get_operationtool 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_producttool, use theget_data_producttool to retrieve the current values of the data product fields.
Initiates the creation of a Data Asset.
- The tool returns a long-running operation. Use the
get_operationtool 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_assettool to create a data product, use theget_data_assettool to get the data asset details.
Initiates the update of a Data Asset.
- The
update_maskparameter specifies which fields of the data product to update. For example, to update only thedescriptionfield, setupdate_masktodescription. To update multiple fields at once, separate the field names with commas. For example,access_group_configs,labelsupdates both theaccess_group_configsandlabelsfields. - The tool returns a long-running operation. Use the
get_operationtool 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_assettool, use theget_data_assettool to retrieve the current values of the data product fields.
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.
Updates aspects of a Catalog Entry representing a Data Product.
For Custom Aspects:
- Find Aspect Type: Use List Aspect Types (via gcloud) or
search_entriestool 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. - 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. - Map Data: Use the retrieved template schema to populate the
datamap.
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 }' |

