Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
5b47370
Add ListDataProducts method to Dataplex source
theantagonist9509 Jun 2, 2026
56df565
Add dataplex-list-data-products tool
theantagonist9509 Jun 2, 2026
8a316a3
Add documentation for dataplex-list-data-products tool
theantagonist9509 Jun 3, 2026
9dcf8f7
Merge branch 'googleapis:main' into main
theantagonist9509 Jun 3, 2026
b12df0a
Fix potential resource leak in integration test for Dataplex
theantagonist9509 Jun 3, 2026
d0a9e67
Add defensive parameter checks to Dataplex source method ListDataProd…
theantagonist9509 Jun 3, 2026
dfda14a
Add prebuilt tool for dataplex-list-data-products
theantagonist9509 Jun 8, 2026
d386226
Add dataplex-get-data-product tool
theantagonist9509 Jun 8, 2026
aa84d25
Make dataplex-list-data-products tool return only necessary fields
theantagonist9509 Jun 8, 2026
da96441
Merge main into feat/dataplex-get-data-product to sync dataplex-list-…
theantagonist9509 Jun 8, 2026
fca8a20
Fix existing Dataplex integration test teardown resource leaks and ma…
theantagonist9509 Jun 16, 2026
2577247
Merge branch 'main' into feat/dataplex-get-data-product
theantagonist9509 Jun 16, 2026
988b62d
Reduce sleep time for aspect type propagation in Dataplex integration…
theantagonist9509 Jun 16, 2026
4336b2f
Reduce sleep time for aspect type propagation in Dataplex integration…
theantagonist9509 Jun 17, 2026
35cb5fc
Update dataplex-list-data-products tool output format
theantagonist9509 Jun 17, 2026
d3c482a
Merge branch 'main' into feat/dataplex-get-data-product
theantagonist9509 Jun 17, 2026
18fe088
Update dataplex-get-data-product tool API
theantagonist9509 Jun 17, 2026
f655e6d
Merge upstream into PR
theantagonist9509 Jun 17, 2026
59658a7
Update Dataplex data-products toolset
theantagonist9509 Jun 18, 2026
469590f
Reference Data Products usage guide in dataplex-list-data-products to…
theantagonist9509 Jun 18, 2026
c4b1d5e
Fix failing prebuilt configs test
theantagonist9509 Jun 18, 2026
c2f10b3
Update dataplex-list-data-products tool doc formatting
theantagonist9509 Jun 18, 2026
21db8d4
Merge upstream into PR
theantagonist9509 Jun 19, 2026
8a43669
Merge branch 'main' into feat/dataplex-get-data-product
theantagonist9509 Jun 20, 2026
1986679
Apply suggestions from code review
theantagonist9509 Jun 23, 2026
f7c451a
Address PR comments
theantagonist9509 Jun 24, 2026
2502e92
Merge branch 'main' into feat/dataplex-get-data-product
theantagonist9509 Jun 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions cmd/internal/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1860,6 +1860,10 @@ func TestPrebuiltTools(t *testing.T) {
Name: "discovery",
ToolNames: []string{"search_entries", "lookup_entry", "search_aspect_types", "lookup_context", "search_dq_scans"},
},
"data-products": tools.ToolsetConfig{
Name: "data-products",
ToolNames: []string{"search_entries", "lookup_entry", "search_aspect_types", "lookup_context", "list_data_products", "get_data_product"},
},
"enrich": tools.ToolsetConfig{
Name: "enrich",
ToolNames: []string{"search_entries", "lookup_entry", "lookup_context", "generate_data_insights", "get_data_insights", "generate_data_profile", "get_data_profile", "discover_metadata", "get_discovery_results", "check_data_quality", "get_data_quality_results", "get_operation", "get_run_status"},
Expand Down
2 changes: 2 additions & 0 deletions cmd/internal/imports.go
Original file line number Diff line number Diff line change
Expand Up @@ -164,11 +164,13 @@ import (
_ "github.com/googleapis/mcp-toolbox/internal/tools/dataplex/dataplexgeneratedatainsights"
_ "github.com/googleapis/mcp-toolbox/internal/tools/dataplex/dataplexgeneratedataprofile"
_ "github.com/googleapis/mcp-toolbox/internal/tools/dataplex/dataplexgetdatainsights"
_ "github.com/googleapis/mcp-toolbox/internal/tools/dataplex/dataplexgetdataproduct"
_ "github.com/googleapis/mcp-toolbox/internal/tools/dataplex/dataplexgetdataprofile"
_ "github.com/googleapis/mcp-toolbox/internal/tools/dataplex/dataplexgetdataqualityresults"
_ "github.com/googleapis/mcp-toolbox/internal/tools/dataplex/dataplexgetdiscoveryresults"
_ "github.com/googleapis/mcp-toolbox/internal/tools/dataplex/dataplexgetoperation"
_ "github.com/googleapis/mcp-toolbox/internal/tools/dataplex/dataplexgetrunstatus"
_ "github.com/googleapis/mcp-toolbox/internal/tools/dataplex/dataplexlistdataproducts"
_ "github.com/googleapis/mcp-toolbox/internal/tools/dataplex/dataplexlookupcontext"
_ "github.com/googleapis/mcp-toolbox/internal/tools/dataplex/dataplexlookupentry"
_ "github.com/googleapis/mcp-toolbox/internal/tools/dataplex/dataplexsearchaspecttypes"
Expand Down
10 changes: 8 additions & 2 deletions docs/KNOWLEDGE_CATALOG_README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ The Knowledge Catalog (formerly known as Dataplex) Model Context Protocol (MCP)
An editor configured to use the Knowledge Catalog MCP server can use its AI capabilities to help you:

- **Search Catalog** - Search for entries in Knowledge Catalog
- **Explore Metadata** - Lookup specific entries and search aspect types
- **Explore Metadata** - Lookup specific entries, search aspect types, and list/retrieve Data Products
- **Data Quality** - Search for data quality scans

## Prerequisites

Expand Down Expand Up @@ -41,17 +42,22 @@ Once configured, the MCP server will automatically provide Knowledge Catalog cap

* "Search for entries related to 'sales' in Knowledge Catalog."
* "Look up details for the entry 'projects/my-project/locations/us-central1/entryGroups/my-group/entries/my-entry'."
* "List all Data Products."
* "Get details of the Data Product 'projects/my-project/locations/us-central1/dataProducts/my-product'."

## Server Capabilities

The Knowledge Catalog MCP server provides the following tools:

| Tool Name | Description |
|:----------------------|:-----------------------------------------------------------------------------------------------------------------------------|
| `search_entries` | Search for entries in Knowledge Catalog. |
| `search_entries` | Search for entries in Knowledge Catalog. |
| `lookup_entry` | Retrieve specific subset of metadata (for example, schema, usage, business overview, and contacts) of a specific data asset. |
| `search_aspect_types` | Find aspect types relevant to the query. |
| `lookup_context` | Retrieve rich metadata regarding one or more data assets along with their relationships. |
| `search_dq_scans` | Search for Data Quality scans. |
| `list_data_products` | List Data Products for the current project. |
| `get_data_product` | Retrieve a specific Data Product. |

## Custom MCP Server Configuration

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ aliases:
* `search_aspect_types`: Finds aspect types relevant to the query.
* `lookup_context`: Retrieves rich metadata regarding one or more data assets along with their relationships.
* `search_dq_scans`: Search for data quality scans in Dataplex.
* `list_data_products`: Lists Data Products across all locations.
* `get_data_product`: Retrieves a specific Data Product.
* `generate_data_insights`: Creates a new Dataplex Data Documentation scan template and triggers the run.
* `get_data_insights`: Retrieves the final generated data insights for a completed scan.
* `generate_data_profile`: Creates a new Dataplex Data Profile scan template and triggers the run.
Expand All @@ -33,5 +35,6 @@ aliases:
* `get_run_status`: Retrieves the execution status of the latest background job run.
* **Toolsets:**
* `discovery`: Metadata discovery and search toolset (`search_entries`, `lookup_entry`, `search_aspect_types`, `lookup_context`, `search_dq_scans`).
* `data-products`: Data Products and Data Assets curation and management toolset (`search_entries`, `lookup_entry`, `search_aspect_types`, `lookup_context`, `list_data_products`, `get_data_product`).
* `enrich`: Metadata enrichment pipeline orchestration and execution toolset (`search_entries`, `lookup_entry`, `lookup_context`, `generate_data_insights`, `get_data_insights`, `generate_data_profile`, `get_data_profile`, `discover_metadata`, `get_discovery_results`, `check_data_quality`, `get_data_quality_results`, `get_operation`, `get_run_status`).

18 changes: 16 additions & 2 deletions docs/en/integrations/knowledge-catalog/source.md
Original file line number Diff line number Diff line change
Expand Up @@ -373,5 +373,19 @@ This abbreviated syntax works for the qualified predicates except for `label` in
1. Use this tool to retrieve rich metadata regarding one or more data assets along with their relationships.
2. You must provide the `resources` list with full resource names.
### Response
1. Present the requested metadata and relationship information.
```
1. Present the requested metadata and relationship information.

## Tool: list_data_products
### Request
1. Use this tool to retrieve all Data Products globally across all locations.
2. You can optionally filter by `display_name` (e.g., "`display_name:\"my-product\"`") or other fields using the Dataplex filter syntax.
### Response
1. Unless asked for a specific data product, respond with all entries returned.

## Tool: get_data_product
### Request
1. Use this tool to retrieve detailed metadata for a specific Data Product.
2. You must provide `locationId` and `dataProductId`.
### Response
1. Present the retrieved metadata for the Data Product, including its display name, description, owner emails, asset count, labels, and access groups.
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
title: "dataplex-get-data-product"
type: docs
weight: 1
description: >
A "dataplex-get-data-product" tool allows to retrieve a specific Data Product.
---

## About

A `dataplex-get-data-product` tool retrieves detailed metadata for a specific Data Product in Knowledge Catalog (formerly known as Dataplex).

View the [Data Products guide][guide] for more information.

[guide]: https://docs.cloud.google.com/dataplex/docs/data-products-overview

## Compatible Sources

{{< compatible-sources >}}

## Requirements

### IAM Permissions

Knowledge Catalog uses [Identity and Access Management (IAM)][iam-overview] to control
user and group access to Knowledge Catalog resources. Toolbox will use your
[Application Default Credentials (ADC)][adc] to authorize and authenticate when
interacting with [Knowledge Catalog][dataplex-docs].

In addition to [setting the ADC for your server][set-adc], you need to ensure
the IAM identity has been given the correct IAM permissions for the tasks you
intend to perform. See [Knowledge Catalog IAM permissions][iam-permissions]
and [Knowledge Catalog IAM roles][iam-roles] for more information on
applying IAM permissions and roles to an identity.

[iam-overview]: https://cloud.google.com/dataplex/docs/iam-and-access-control
[adc]: https://cloud.google.com/docs/authentication#adc
[set-adc]: https://cloud.google.com/docs/authentication/provide-credentials-adc
[iam-permissions]: https://cloud.google.com/dataplex/docs/iam-permissions
[iam-roles]: https://cloud.google.com/dataplex/docs/iam-roles
[dataplex-docs]: https://cloud.google.com/dataplex

## Parameters

The `dataplex-get-data-product` tool has the following parameters:

| **field** | **type** | **required** | **description** |
| ------------- | -------- | ------------ | --------------------------------------------------------------- |
| locationId | string | true | The location ID (e.g. `us`, `us-central1`) of the Data Product. |
| dataProductId | string | true | The unique ID of the Data Product. |

## Example

```yaml
kind: tool
name: get_data_product
type: dataplex-get-data-product
source: my-dataplex-source
description: Use this tool to retrieve a Data Product.
```

## Reference

| **field** | **type** | **required** | **description** |
| ----------- | -------- | ------------ | -------------------------------------------------- |
| type | string | true | Must be "dataplex-get-data-product". |
| source | string | true | Name of the source the tool should execute on. |
| description | string | true | Description of the tool that is passed to the LLM. |
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
title: "dataplex-list-data-products"
type: docs
weight: 1
description: >
A "dataplex-list-data-products" tool allows to list data products.
---

## About

A `dataplex-list-data-products` tool lists all Data Products in Knowledge Catalog (formerly known as Dataplex) across all locations (globally).

View the [Data Products guide][guide] for more information.

[guide]: https://docs.cloud.google.com/dataplex/docs/data-products-overview

## Compatible Sources

{{< compatible-sources >}}

## Requirements

### IAM Permissions

Knowledge Catalog uses [Identity and Access Management (IAM)][iam-overview] to control
user and group access to Knowledge Catalog resources. Toolbox will use your
[Application Default Credentials (ADC)][adc] to authorize and authenticate when
interacting with [Knowledge Catalog][dataplex-docs].

In addition to [setting the ADC for your server][set-adc], you need to ensure
the IAM identity has been given the correct IAM permissions for the tasks you
intend to perform. See [Knowledge Catalog IAM permissions][iam-permissions]
and [Knowledge Catalog IAM roles][iam-roles] for more information on
applying IAM permissions and roles to an identity.

[iam-overview]: https://cloud.google.com/dataplex/docs/iam-and-access-control
[adc]: https://cloud.google.com/docs/authentication#adc
[set-adc]: https://cloud.google.com/docs/authentication/provide-credentials-adc
[iam-permissions]: https://cloud.google.com/dataplex/docs/iam-permissions
[iam-roles]: https://cloud.google.com/dataplex/docs/iam-roles
[dataplex-docs]: https://cloud.google.com/dataplex

## Parameters

The `dataplex-list-data-products` tool has the following optional parameters:

| **field** | **type** | **required** | **description** |
| --------- | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| filter | string | false | Filter string to list data products. Use `=` for exact matching and `:` for contains matching. String literals must be enclosed within double quotes. E.g. `display_name:"my-product"`. |
| pageSize | integer | false | Number of returned data products in the page. Defaults to `10`. |
| orderBy | string | false | Specifies the ordering of results. |

## Example

```yaml
kind: tool
name: list_data_products
type: dataplex-list-data-products
source: my-dataplex-source
description: Use this tool to list Data Products.
```

## Reference

| **field** | **type** | **required** | **description** |
| ----------- | -------- | ------------ | -------------------------------------------------- |
| type | string | true | Must be "dataplex-list-data-products". |
| source | string | true | Name of the source the tool should execute on. |
| description | string | true | Description of the tool that is passed to the LLM. |
22 changes: 22 additions & 0 deletions internal/prebuiltconfigs/tools/dataplex.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,18 @@ source: dataplex-source
description: Use this tool to search for data quality scans in Dataplex.
---
kind: tool
name: list_data_products
type: dataplex-list-data-products
source: dataplex-source
description: Lists Data Products across all locations.
---
kind: tool
name: get_data_product
type: dataplex-get-data-product
source: dataplex-source
description: Retrieves specific metadata regarding a Data Product.
---
kind: tool
name: generate_data_insights
type: dataplex-generate-data-insights
source: dataplex-source
Expand Down Expand Up @@ -232,6 +244,16 @@ tools:
- search_dq_scans
---
kind: toolset
name: data-products
tools:
- search_entries
- lookup_entry
- search_aspect_types
- lookup_context
- list_data_products
- get_data_product
---
kind: toolset
name: enrich
tools:
- search_entries
Expand Down
Loading
Loading