Files
genai-toolbox/docs/en/getting-started/quickstart/shared/configure_toolbox.md
release-please[bot] cb4529cbaa chore(main): release 0.22.0 (#1997)
🤖 I have created a release *beep* *boop*
---


##
[0.22.0](https://github.com/googleapis/genai-toolbox/compare/v0.21.0...v0.22.0)
(2025-12-04)


### Features

* Add allowed-origins flag
([#1984](https://github.com/googleapis/genai-toolbox/issues/1984))
([862868f](862868f284))
* **tools/postgres:** Add list-query-stats and get-column-cardinality
functions
([#1976](https://github.com/googleapis/genai-toolbox/issues/1976))
([9f76026](9f76026925))
* **tools/spanner:** Add spanner list graphs to prebuiltconfigs
([#2056](https://github.com/googleapis/genai-toolbox/issues/2056))
([0e7fbf4](0e7fbf465c))
* **prebuilt/cloud-sql:** Add clone instance tool for cloud sql
([#1845](https://github.com/googleapis/genai-toolbox/issues/1845))
([5e43630](5e43630907))
* **serverless-spark:** Add create_pyspark_batch tool
([1bf0b51](1bf0b51f03))
* **serverless-spark:** Add create_spark_batch tool
([17a9792](17a979207d))
* Support alternate accessToken header name
([#1968](https://github.com/googleapis/genai-toolbox/issues/1968))
([18017d6](18017d6545))
* Support for annotations
([#2007](https://github.com/googleapis/genai-toolbox/issues/2007))
([ac21335](ac21335f4e))
* **tool/mssql:** Set default host and port for MSSQL source
([#1943](https://github.com/googleapis/genai-toolbox/issues/1943))
([7a9cc63](7a9cc63376))
* **tools/cloudsqlpg:** Add CloudSQL PostgreSQL pre-check tool
([#1722](https://github.com/googleapis/genai-toolbox/issues/1722))
([8752e05](8752e05ab6))
* **tools/postgres-list-publication-tables:** Add new
postgres-list-publication-tables tool
([#1919](https://github.com/googleapis/genai-toolbox/issues/1919))
([f4b1f0a](f4b1f0a680))
* **tools/postgres-list-tablespaces:** Add new postgres-list-tablespaces
tool ([#1934](https://github.com/googleapis/genai-toolbox/issues/1934))
([5ad7c61](5ad7c6127b))
* **tools/spanner-list-graph:** Tool impl + docs + tests
([#1923](https://github.com/googleapis/genai-toolbox/issues/1923))
([a0f44d3](a0f44d34ea))


### Bug Fixes

* Add import for firebirdsql
([#2045](https://github.com/googleapis/genai-toolbox/issues/2045))
([fb7aae9](fb7aae9d35))
* Correct FAQ to mention HTTP tools
([#2036](https://github.com/googleapis/genai-toolbox/issues/2036))
([7b44237](7b44237d4a))
* Format BigQuery numeric output as decimal strings
([#2084](https://github.com/googleapis/genai-toolbox/issues/2084))
([155bff8](155bff80c1))
* Set default annotations for tools in code if annotation not provided
in yaml
([#2049](https://github.com/googleapis/genai-toolbox/issues/2049))
([565460c](565460c4ea))
* **tools/alloydb-postgres-list-tables:** Exclude google_ml schema from
list_tables
([#2046](https://github.com/googleapis/genai-toolbox/issues/2046))
([a03984c](a03984cc15))
* **tools/alloydbcreateuser:** Remove duplication of project praram
([#2028](https://github.com/googleapis/genai-toolbox/issues/2028))
([730ac6d](730ac6d228))
* **tools/mongodb:** Remove `required` tag from the `canonical` field
([#2099](https://github.com/googleapis/genai-toolbox/issues/2099))
([744214e](744214e04c))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-12-04 19:10:51 -05:00

122 lines
4.0 KiB
Markdown

<!-- This file has been used in local_quickstart.md, local_quickstart_go.md & local_quickstart_js.md -->
<!-- [START configure_toolbox] -->
In this section, we will download Toolbox, configure our tools in a
`tools.yaml`, and then run the Toolbox server.
1. Download the latest version of Toolbox as a binary:
{{< notice tip >}}
Select the
[correct binary](https://github.com/googleapis/genai-toolbox/releases)
corresponding to your OS and CPU architecture.
{{< /notice >}}
<!-- {x-release-please-start-version} -->
```bash
export OS="linux/amd64" # one of linux/amd64, darwin/arm64, darwin/amd64, or windows/amd64
curl -O https://storage.googleapis.com/genai-toolbox/v0.22.0/$OS/toolbox
```
<!-- {x-release-please-end} -->
1. Make the binary executable:
```bash
chmod +x toolbox
```
1. Write the following into a `tools.yaml` file. Be sure to update any fields
such as `user`, `password`, or `database` that you may have customized in the
previous step.
{{< notice tip >}}
In practice, use environment variable replacement with the format ${ENV_NAME}
instead of hardcoding your secrets into the configuration file.
{{< /notice >}}
```yaml
sources:
my-pg-source:
kind: postgres
host: 127.0.0.1
port: 5432
database: toolbox_db
user: ${USER_NAME}
password: ${PASSWORD}
tools:
search-hotels-by-name:
kind: postgres-sql
source: my-pg-source
description: Search for hotels based on name.
parameters:
- name: name
type: string
description: The name of the hotel.
statement: SELECT * FROM hotels WHERE name ILIKE '%' || $1 || '%';
search-hotels-by-location:
kind: postgres-sql
source: my-pg-source
description: Search for hotels based on location.
parameters:
- name: location
type: string
description: The location of the hotel.
statement: SELECT * FROM hotels WHERE location ILIKE '%' || $1 || '%';
book-hotel:
kind: postgres-sql
source: my-pg-source
description: >-
Book a hotel by its ID. If the hotel is successfully booked, returns a NULL, raises an error if not.
parameters:
- name: hotel_id
type: string
description: The ID of the hotel to book.
statement: UPDATE hotels SET booked = B'1' WHERE id = $1;
update-hotel:
kind: postgres-sql
source: my-pg-source
description: >-
Update a hotel's check-in and check-out dates by its ID. Returns a message
indicating whether the hotel was successfully updated or not.
parameters:
- name: hotel_id
type: string
description: The ID of the hotel to update.
- name: checkin_date
type: string
description: The new check-in date of the hotel.
- name: checkout_date
type: string
description: The new check-out date of the hotel.
statement: >-
UPDATE hotels SET checkin_date = CAST($2 as date), checkout_date = CAST($3
as date) WHERE id = $1;
cancel-hotel:
kind: postgres-sql
source: my-pg-source
description: Cancel a hotel by its ID.
parameters:
- name: hotel_id
type: string
description: The ID of the hotel to cancel.
statement: UPDATE hotels SET booked = B'0' WHERE id = $1;
toolsets:
my-toolset:
- search-hotels-by-name
- search-hotels-by-location
- book-hotel
- update-hotel
- cancel-hotel
```
For more info on tools, check out the `Resources` section of the docs.
1. Run the Toolbox server, pointing to the `tools.yaml` file created earlier:
```bash
./toolbox --tools-file "tools.yaml"
```
{{< notice note >}}
Toolbox enables dynamic reloading by default. To disable, use the
`--disable-reload` flag.
{{< /notice >}}
<!-- [END configure_toolbox] -->