Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 4 additions & 4 deletions MCP-TOOLBOX-EXTENSION.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,16 +166,16 @@ instances, often by analyzing metrics and logs.

### Other Google Cloud Data Services

#### Dataplex
#### Knowledge Catalog (formerly known as Dataplex)

* For interacting with Dataplex data lakes and assets:
* For interacting with Knowledge Catalog data lakes and assets:

```bash
gemini extensions install https://github.com/gemini-cli-extensions/dataplex
gemini extensions install https://github.com/gemini-cli-extensions/knowledge-catalog
```

Configuration:
https://github.com/gemini-cli-extensions/dataplex/tree/main?tab=readme-ov-file#configuration
https://github.com/gemini-cli-extensions/knowledge-catalog/tree/main?tab=readme-ov-file#configuration

#### Looker

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ You can use the Toolbox in any MCP-compatible IDE or client (e.g., Gemini CLI, G
When you run Toolbox with a `--prebuilt=<database>` flag, you instantly get access to standard tools to interact with that database.

Supported databases currently include:
- **Google Cloud:** AlloyDB, BigQuery, Cloud SQL (PostgreSQL, MySQL, SQL Server), Spanner, Firestore, Dataplex
- **Google Cloud:** AlloyDB, BigQuery, Cloud SQL (PostgreSQL, MySQL, SQL Server), Spanner, Firestore, Knowledge Catalog (formerly known as Dataplex).
- **Other Databases:** PostgreSQL, MySQL, SQL Server, Oracle, MongoDB, Redis, Elasticsearch, CockroachDB, ClickHouse, Couchbase, Neo4j, Snowflake, Trino, and more.

For a full list of available tools and their capabilities across all supported databases, see the [Prebuilt Tools Reference](https://mcp-toolbox.dev/documentation/configuration/prebuilt-configs/).
Expand Down
4 changes: 4 additions & 0 deletions cmd/internal/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1747,6 +1747,10 @@ func TestPrebuiltTools(t *testing.T) {
Name: "replication",
ToolNames: []string{"replication_stats", "list_replication_slots", "list_publication_tables", "list_roles", "list_pg_settings", "database_overview"},
},
"vectorassist": {
Name: "vectorassist",
ToolNames: []string{"execute_sql", "define_spec", "modify_spec", "apply_spec", "generate_query"},
},
},
},
{
Expand Down
4 changes: 4 additions & 0 deletions cmd/internal/imports.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,10 @@ import (
_ "github.com/googleapis/mcp-toolbox/internal/tools/cloudsqlmysql/cloudsqlmysqlcreateinstance"
_ "github.com/googleapis/mcp-toolbox/internal/tools/cloudsqlpg/cloudsqlpgcreateinstances"
_ "github.com/googleapis/mcp-toolbox/internal/tools/cloudsqlpg/cloudsqlpgupgradeprecheck"
_ "github.com/googleapis/mcp-toolbox/internal/tools/cloudsqlpg/vectorassistapplyspec"
_ "github.com/googleapis/mcp-toolbox/internal/tools/cloudsqlpg/vectorassistdefinespec"
_ "github.com/googleapis/mcp-toolbox/internal/tools/cloudsqlpg/vectorassistgeneratequery"
_ "github.com/googleapis/mcp-toolbox/internal/tools/cloudsqlpg/vectorassistmodifyspec"
_ "github.com/googleapis/mcp-toolbox/internal/tools/cockroachdb/cockroachdbexecutesql"
_ "github.com/googleapis/mcp-toolbox/internal/tools/cockroachdb/cockroachdblistschemas"
_ "github.com/googleapis/mcp-toolbox/internal/tools/cockroachdb/cockroachdblisttables"
Expand Down
4 changes: 4 additions & 0 deletions docs/CLOUDSQLPG_README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,10 @@ The Cloud SQL for PostgreSQL MCP server provides the following tools:
| `list_triggers` | Lists all non-internal triggers in a database. |
| `list_indexes` | Lists available user indexes in the database. |
| `list_sequences` | Lists sequences in the database. |
| `define_spec` | Defines a new vector specification for search workloads. |
| `modify_spec` | Modifies an existing vector specification. |
| `apply_spec` | Executes SQL recommendations for a vector specification. |
| `generate_query` | Generates optimized SQL queries for vector searches. |


## Custom MCP Server Configuration
Expand Down
18 changes: 9 additions & 9 deletions docs/DATAPLEX_README.md → docs/KNOWLEDGE_CATALOG_README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Dataplex MCP Server
# Knowledge Catalog MCP Server

The Dataplex Model Context Protocol (MCP) Server gives AI-powered development tools the ability to work with your Google Cloud Dataplex Catalog. It supports searching and looking up entries and aspect types.
The Knowledge Catalog (formerly known as Dataplex) Model Context Protocol (MCP) Server gives AI-powered development tools the ability to work with your Google Cloud Knowledge Catalog. It supports searching and looking up entries and aspect types.

## Features

An editor configured to use the Dataplex MCP server can use its AI capabilities to help you:
An editor configured to use the Knowledge Catalog MCP server can use its AI capabilities to help you:

- **Search Catalog** - Search for entries in Dataplex Catalog
- **Search Catalog** - Search for entries in Knowledge Catalog
- **Explore Metadata** - Lookup specific entries and search aspect types

## Prerequisites
Expand Down Expand Up @@ -37,18 +37,18 @@ You'll now be able to see all enabled tools in the "Tools" tab.

## Usage

Once configured, the MCP server will automatically provide Dataplex capabilities to your AI assistant. You can:
Once configured, the MCP server will automatically provide Knowledge Catalog capabilities to your AI assistant. You can:

* "Search for entries related to 'sales' in Dataplex."
* "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'."

## Server Capabilities

The Dataplex MCP server provides the following tools:
The Knowledge Catalog MCP server provides the following tools:

| Tool Name | Description |
|:----------------------|:-----------------------------------------------------------------------------------------------------------------------------|
| `search_entries` | Search for entries in Dataplex 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. |
Expand Down Expand Up @@ -79,4 +79,4 @@ Add the following configuration to your MCP client (e.g., `settings.json` for Ge

## Documentation

For more information, visit the [Dataplex documentation](https://cloud.google.com/dataplex/docs).
For more information, visit the [Knowledge Catalog documentation](https://cloud.google.com/dataplex/docs).
2 changes: 1 addition & 1 deletion docs/en/documentation/connect-to/gemini-cli/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Below are a list of Gemini CLI Extensions powered by MCP Toolbox:
* [cloud-sql-postgresql-observability](https://github.com/gemini-cli-extensions/cloud-sql-postgresql-observability)
* [cloud-sql-sqlserver](https://github.com/gemini-cli-extensions/cloud-sql-sqlserver)
* [cloud-sql-sqlserver-observability](https://github.com/gemini-cli-extensions/cloud-sql-sqlserver-observability)
* [dataplex](https://github.com/gemini-cli-extensions/dataplex)
* [knowledge-catalog](https://github.com/gemini-cli-extensions/knowledge-catalog)
* [firestore-native](https://github.com/gemini-cli-extensions/firestore-native)
* [looker](https://github.com/gemini-cli-extensions/looker)
* [mcp-toolbox](https://github.com/gemini-cli-extensions/mcp-toolbox)
Expand Down
2 changes: 1 addition & 1 deletion docs/en/documentation/introduction/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ Set the appropriate environment variables to connect, see the [Prebuilt Tools Re
When you run Toolbox with a `--prebuilt=<database>` flag, you instantly get access to standard tools to interact with that database.

Supported databases currently include:
- **Google Cloud:** AlloyDB, BigQuery, Cloud SQL (PostgreSQL, MySQL, SQL Server), Spanner, Firestore, Dataplex
- **Google Cloud:** AlloyDB, BigQuery, Cloud SQL (PostgreSQL, MySQL, SQL Server), Spanner, Firestore, Knowledge Catalog (formerly known as Dataplex).
- **Other Databases:** PostgreSQL, MySQL, SQL Server, Oracle, MongoDB, Redis, Elasticsearch, CockroachDB, ClickHouse, Couchbase, Neo4j, Snowflake, Trino, and more.

For a full list of available tools and their capabilities across all supported databases, see the [Prebuilt Tools Reference](https://mcp-toolbox.dev/documentation/configuration/prebuilt-configs/).
Expand Down
10 changes: 5 additions & 5 deletions docs/en/integrations/bigquery/tools/bigquery-search-catalog.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: >

## About

A `bigquery-search-catalog` tool returns all entries in Dataplex Catalog (e.g.
A `bigquery-search-catalog` tool returns all entries in Knowledge Catalog (e.g.
tables, views, models) with system=bigquery that matches given user query.

`bigquery-search-catalog` takes a required `query` parameter based on which
Expand All @@ -30,14 +30,14 @@ following parameters:
### IAM Permissions

Bigquery uses [Identity and Access Management (IAM)][iam-overview] to control
user and group access to Dataplex resources. Toolbox will use your
user and group access to Knowledge Catalog (formerly known as Dataplex) resources. Toolbox will use your
[Application Default Credentials (ADC)][adc] to authorize and authenticate when
interacting with [Dataplex][dataplex-docs].
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 [Dataplex Universal Catalog IAM permissions][iam-permissions]
and [Dataplex Universal Catalog IAM roles][iam-roles] for more information on
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
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
title: "vector-assist-apply-spec"
type: docs
weight: 1
description: >
The "vector-assist-apply-spec" tool automatically executes all SQL recommendations
associated with a specific vector specification or table to finalize the
vector search setup.
---

## About

The `vector-assist-apply-spec` tool automatically executes all the SQL recommendations associated with a specific vector specification (spec_id) or table. It runs the necessary commands in the correct sequence to provision the workload, marking each step as applied once successful.

Use this tool when the user has reviewed the generated recommendations from a defined (or modified) spec and is ready to apply the changes directly to their database instance to finalize the vector search setup. Under the hood, this tool connects to the target database and executes the `vector_assist.apply_spec` function.

## Compatible Sources

{{< compatible-sources >}}

## Requirements

{{< notice tip >}}
Ensure that your target PostgreSQL database has the required `vector_assist` extension installed, in order for this tool to execute successfully.
{{< /notice >}}

## Parameters

The tool takes the following input parameters:

| Parameter | Type | Description | Required |
| :------------ | :----- | :-------------------------------------------------------------------- | :------- |
| `spec_id` | string | Unique ID of the vector specification to apply. | No |
| `table_name` | string | Target table name for applying the vector specification. | No |
| `column_name` | string | Text or vector column name to uniquely identify the specification. | No |
| `schema_name` | string | Schema name for the target table. | No |

> Note
> Parameters are marked as required or optional based on the vector assist function definitions.
> The function may perform further validation on optional parameters to ensure all necessary
> data is available before returning a response.

## Example

```yaml
kind: tool
name: apply_spec
type: vector-assist-apply-spec
source: my-database-source
description: "This tool automatically executes all the SQL recommendations associated with a specific vector specification (spec_id) or table. It runs the necessary commands in the correct sequence to provision the workload, marking each step as applied once successful. Use this tool when the user has reviewed the generated recommendations from a defined (or modified) spec and is ready to apply the changes directly to their database instance to finalize the vector search setup."
```

## Reference

| **field** | **type** | **required** | **description** |
|-------------|:--------:|:------------:|------------------------------------------------------|
| type | string | true | Must be "vector-assist-apply-spec". |
| source | string | true | Name of the source the SQL should execute on. |
| description | string | false | Description of the tool that is passed to the agent. |
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
title: "vector-assist-define-spec"
type: docs
weight: 1
description: >
The "vector-assist-define-spec" tool defines a new vector specification by
capturing the user's intent and requirements for a vector search workload,
generating SQL recommendations for setting up database, embeddings, and
vector indexes.
---

## About

The `vector-assist-define-spec` tool defines a new vector specification by capturing the user's intent and requirements for a vector search workload. It generates a complete, ordered set of SQL recommendations required to set up the database, embeddings, and vector indexes.

Use this tool at the very beginning of the vector setup process when an agent or user first wants to configure a table for vector search, generate embeddings, or create a new vector index. Under the hood, this tool connects to the target database and executes the `vector_assist.define_spec` function to generate the necessary specifications.

## Compatible Sources

{{< compatible-sources >}}

## Requirements

{{< notice tip >}}
Ensure that your target PostgreSQL database has the required `vector_assist` extension installed, in order for this tool to execute successfully.
{{< /notice >}}

## Parameters

The tool takes the following input parameters:

| Parameter | Type | Description | Required |
| :----------------------- | :------ | :--------------------------------------------------------------------- | :------- |
| `table_name` | string | Target table name for setting up the vector workload. | Yes |
| `schema_name` | string | Name of the schema containing the target table. | No |
| `spec_id` | string | Unique ID for the vector specification; auto-generated if omitted. | No |
| `vector_column_name` | string | Name of the column containing the vector embeddings. | No |
| `text_column_name` | string | Name of the text column for setting up vector search. | No |
| `vector_index_type` | string | Type of vector index ('hnsw', 'ivfflat', or 'scann'). | No |
| `embeddings_available` | boolean | Indicates if vector embeddings already exist in the table. | No |
| `num_vectors` | integer | Expected total number of vectors in the dataset. | No |
| `dimensionality` | integer | Dimension of existing vectors or the chosen embedding model. | No |
| `embedding_model` | string | Model to be used for generating vector embeddings. | No |
| `prefilter_column_names` | array | List of columns to use for prefiltering vector queries. | No |
| `distance_func` | string | Distance function for comparing vectors ('cosine', 'ip', 'l2', 'l1'). | No |
| `quantization` | string | Quantization method for vector indexes ('none', 'halfvec', 'bit'). | No |
| `memory_budget_kb` | integer | Maximum memory (in KB) the index can use during build. | No |
| `target_recall` | float | Target recall rate for standard vector queries using this index. | No |
| `target_top_k` | integer | Number of top results (top-K) to retrieve per query. | No |
| `tune_vector_index` | boolean | Indicates whether automatic tuning is required for the index. | No |

> Note
> Parameters are marked as required or optional based on the vector assist function definitions.
> The function may perform further validation on optional parameters to ensure all necessary
> data is available before returning a response.

## Example

```yaml
kind: tool
name: define_spec
type: vector-assist-define-spec
source: my-database-source
description: "This tool defines a new vector specification by capturing the user's intent and requirements for a vector search workload. This generates a complete, ordered set of SQL recommendations required to set up the database, embeddings, and vector indexes. Use this tool at the very beginning of the vector setup process when a user first wants to configure a table for vector search, generate embeddings, or create a new vector index."
```

## Reference

| **field** | **type** | **required** | **description** |
|-------------|:--------:|:------------:|------------------------------------------------------|
| type | string | true | Must be "vector-assist-define-spec". |
| source | string | true | Name of the source the SQL should execute on. |
| description | string | false | Description of the tool that is passed to the agent. |
Loading
Loading