mirror of
https://github.com/googleapis/genai-toolbox.git
synced 2026-05-02 03:00:36 -04:00
feat(tools/postgres-list-views): add new postgres-list-views tool (#1709)
## Description Adds a read-only PostgreSQL custom list_views tool, that returns the details of views present in database. Each row includes: schema_name, view_name, owner_name Test Output: <img width="2433" height="1274" alt="Screenshot 2025-10-19 at 3 59 31 PM" src="https://github.com/user-attachments/assets/76e1e994-390a-4239-aba7-0d02253bbcc4" /> <img width="2533" height="1017" alt="Screenshot 2025-10-19 at 4 07 25 PM" src="https://github.com/user-attachments/assets/537fbddd-d862-4044-a09b-cb9f180c21fa" /> ## PR Checklist > Thank you for opening a Pull Request! Before submitting your PR, there are a > few things you can do to make sure it goes smoothly: - [x] Make sure you reviewed [CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md) - [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [x] Ensure the tests and linter pass - [x] Code coverage does not decrease (if any source code was changed) - [x] Appropriate docs were updated (if necessary) - [x] Make sure to add `!` if this involve a breaking change 🛠️ Fixes #1738 Co-authored-by: Averi Kitsch <akitsch@google.com>
This commit is contained in:
@@ -43,6 +43,8 @@ details on how to connect your AI tools (IDEs) to databases via Toolbox and MCP.
|
||||
* `list_replication_slots`: Lists replication slots in the database.
|
||||
* `list_invalid_indexes`: Lists invalid indexes in the database.
|
||||
* `get_query_plan`: Generate the execution plan of a statement.
|
||||
* `list_views`: Lists views in the database from pg_views with a default
|
||||
limit of 50 rows. Returns schemaname, viewname and the ownername.
|
||||
|
||||
## AlloyDB Postgres Admin
|
||||
|
||||
@@ -210,6 +212,8 @@ details on how to connect your AI tools (IDEs) to databases via Toolbox and MCP.
|
||||
* `list_replication_slots`: Lists replication slots in the database.
|
||||
* `list_invalid_indexes`: Lists invalid indexes in the database.
|
||||
* `get_query_plan`: Generate the execution plan of a statement.
|
||||
* `list_views`: Lists views in the database from pg_views with a default
|
||||
limit of 50 rows. Returns schemaname, viewname and the ownername.
|
||||
|
||||
## Cloud SQL for PostgreSQL Observability
|
||||
|
||||
@@ -492,6 +496,8 @@ details on how to connect your AI tools (IDEs) to databases via Toolbox and MCP.
|
||||
* `list_replication_slots`: Lists replication slots in the database.
|
||||
* `list_invalid_indexes`: Lists invalid indexes in the database.
|
||||
* `get_query_plan`: Generate the execution plan of a statement.
|
||||
* `list_views`: Lists views in the database from pg_views with a default
|
||||
limit of 50 rows. Returns schemaname, viewname and the ownername.
|
||||
|
||||
## Google Cloud Serverless for Apache Spark
|
||||
|
||||
|
||||
@@ -45,6 +45,9 @@ cluster][alloydb-free-trial].
|
||||
- [`postgres-list-installed-extensions`](../tools/postgres/postgres-list-installed-extensions.md)
|
||||
List installed extensions in a PostgreSQL database.
|
||||
|
||||
- [`postgres-list-views`](../tools/postgres/postgres-list-views.md)
|
||||
List views in an AlloyDB for PostgreSQL database.
|
||||
|
||||
### Pre-built Configurations
|
||||
|
||||
- [AlloyDB using MCP](https://googleapis.github.io/genai-toolbox/how-to/connect-ide/alloydb_pg_mcp/)
|
||||
|
||||
@@ -41,6 +41,9 @@ to a database by following these instructions][csql-pg-quickstart].
|
||||
- [`postgres-list-installed-extensions`](../tools/postgres/postgres-list-installed-extensions.md)
|
||||
List installed extensions in a PostgreSQL database.
|
||||
|
||||
- [`postgres-list-views`](../tools/postgres/postgres-list-views.md)
|
||||
List views in a PostgreSQL database.
|
||||
|
||||
### Pre-built Configurations
|
||||
|
||||
- [Cloud SQL for Postgres using
|
||||
|
||||
@@ -35,6 +35,9 @@ reputation for reliability, feature robustness, and performance.
|
||||
- [`postgres-list-installed-extensions`](../tools/postgres/postgres-list-installed-extensions.md)
|
||||
List installed extensions in a PostgreSQL database.
|
||||
|
||||
- [`postgres-list-views`](../tools/postgres/postgres-list-views.md)
|
||||
List views in a PostgreSQL database.
|
||||
|
||||
### Pre-built Configurations
|
||||
|
||||
- [PostgreSQL using MCP](https://googleapis.github.io/genai-toolbox/how-to/connect-ide/postgres_mcp/)
|
||||
|
||||
40
docs/en/resources/tools/postgres/postgres-list-views.md
Normal file
40
docs/en/resources/tools/postgres/postgres-list-views.md
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: "postgres-list-views"
|
||||
type: docs
|
||||
weight: 1
|
||||
description: >
|
||||
The "postgres-list-views" tool lists views in a Postgres database, with a default limit of 50 rows.
|
||||
aliases:
|
||||
- /resources/tools/postgres-list-views
|
||||
---
|
||||
|
||||
## About
|
||||
|
||||
The `postgres-list-views` tool retrieves a list of top N (default 50) views from a Postgres database, excluding those in system schemas (`pg_catalog`, `information_schema`). It's compatible with any of the following sources:
|
||||
|
||||
- [alloydb-postgres](../../sources/alloydb-pg.md)
|
||||
- [cloud-sql-postgres](../../sources/cloud-sql-pg.md)
|
||||
- [postgres](../../sources/postgres.md)
|
||||
|
||||
`postgres-list-views` lists detailed view information (schemaname, viewname, ownername) as JSON for views in a database. The tool takes the following input parameters:
|
||||
|
||||
- `viewname` (optional): A string pattern to filter view names. The search uses SQL
|
||||
LIKE operator to filter the views. Default: `""`
|
||||
- `limit` (optional): The maximum number of rows to return. Default: `50`.
|
||||
|
||||
## Example
|
||||
|
||||
```yaml
|
||||
tools:
|
||||
list_views:
|
||||
kind: postgres-list-views
|
||||
source: cloudsql-pg-source
|
||||
```
|
||||
|
||||
## Reference
|
||||
|
||||
| **field** | **type** | **required** | **description** |
|
||||
|-------------|:--------:|:-------------:|------------------------------------------------------|
|
||||
| kind | string | true | Must be "postgres-list-views". |
|
||||
| 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. |
|
||||
Reference in New Issue
Block a user