mirror of
https://github.com/googleapis/genai-toolbox.git
synced 2026-02-18 11:02:26 -05:00
## Description
---
This pull request introduces a new custom tool kind `mssql-list-tables`
that allows users to list tables within a SQL server database.
### Example Configuration
```yaml
tools:
list_tables:
kind: mssql-list-tables
source: mssql-source
description: Use this tool to retrieve schema information for all or specified tables. Output format can be simple (only table names) or detailed.
```
### Example Request
```
curl -X POST http://127.0.0.1:5000/api/tool/list_tables/invoke \
-H "Content-Type: application/json" \
-d '{
"table_names": "users",
"output_format": "simple"
}'
```
## 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)
- [ ] 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 #<issue_number_goes_here>
---------
Co-authored-by: Averi Kitsch <akitsch@google.com>
41 lines
1.6 KiB
YAML
41 lines
1.6 KiB
YAML
# Copyright 2025 Google LLC
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
sources:
|
|
cloudsql-mssql-source:
|
|
kind: cloud-sql-mssql
|
|
project: ${CLOUD_SQL_MSSQL_PROJECT}
|
|
region: ${CLOUD_SQL_MSSQL_REGION}
|
|
instance: ${CLOUD_SQL_MSSQL_INSTANCE}
|
|
database: ${CLOUD_SQL_MSSQL_DATABASE}
|
|
ipAddress: ${CLOUD_SQL_MSSQL_IP_ADDRESS}
|
|
user: ${CLOUD_SQL_MSSQL_USER}
|
|
password: ${CLOUD_SQL_MSSQL_PASSWORD}
|
|
ipType: ${CLOUD_SQL_MSSQL_IP_TYPE:public}
|
|
tools:
|
|
execute_sql:
|
|
kind: mssql-execute-sql
|
|
source: cloudsql-mssql-source
|
|
description: Use this tool to execute SQL.
|
|
|
|
list_tables:
|
|
kind: mssql-list-tables
|
|
source: cloudsql-mssql-source
|
|
description: "Lists detailed schema information (object type, columns, constraints, indexes, triggers, comment) as JSON for user-created tables (ordinary or partitioned). Filters by a comma-separated list of names. If names are omitted, lists all tables in user schemas."
|
|
|
|
toolsets:
|
|
cloud_sql_mssql_database_tools:
|
|
- execute_sql
|
|
- list_tables
|