Commit Graph

49 Commits

Author SHA1 Message Date
Huan Chen
0fd88b574b feat: add new bigquery tools. (#619)
Added five new tools and corresponding documents:
1. bigquery-execute-sql
2. bigquery-list-dataset-ids
3. bigquery-list-table-ids
4. bigquery-get-dataset-info
5.  bigquery-get-table-info

---------

Co-authored-by: duwenxin <duwenxin@google.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-05-28 14:38:08 -07:00
Yuan
1bf6003eae docs: add note to tools (#608)
Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-05-28 15:38:18 +00:00
Huan Chen
8df757b280 docs: add note for bigquery parameter replacement introduction. (#589)
For issue https://github.com/googleapis/genai-toolbox/issues/566

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
2025-05-23 17:54:05 +00:00
prernakakkar-google
6083a224aa Feat: Add Execute sql tool for SQL Server(MSSQL) (#585)
This tool can be used across mssql(SQL Server) sources.

`mssql-execute-sql` config is as below:

```
tools:
  mssql_execute_sql_tool:
     kind: "mssql-execute-sql"
     source: my-mssql-source
     description: Use this tool to execute sql.
```

The `mssql-execute-sql` tool takes one parameter. Example request as
follow:
```
curl -X POST -H "Content-Type: application/json" -d '{"sql": "SELECT 1"}' http://127.0.0.1:5000/api/tool/mssql_execute_sql_tool/invoke
```

Reference for bug: b/416163913

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
Co-authored-by: Mend Renovate <bot@renovateapp.com>
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
Co-authored-by: Anubhav Dhawan <anubhavdhawan@google.com>
Co-authored-by: Huan Chen <142538604+Genesis929@users.noreply.github.com>
2025-05-22 00:10:55 +05:30
trehanshakuntG
d65747a2dc feat: add spanner-execute-sql tool (#576)
This tool can be used across spanner sources.

`spanner-execute-sql` config is as below:

```
tools:
  spanner_execute_sql_tool:
    kind: "spanner-execute-sql"
    source: my-spanner-source
    description: Use this tool to execute sql.
```

The `spanner-execute-sql` tool takes one parameter. Example request as
follow:
```
curl -X POST -H "Content-Type: application/json" -d '{"sql": "SELECT 1"}' http://127.0.0.1:5000/api/tool/spanner_execute_sql_tool/invoke
```

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-19 14:48:11 -07:00
trehanshakuntG
8590061ae4 feat: add mysql-execute-sql tool (#577)
This tool can be used across mysql sources.

`mysql-execute-sql` config is as below:

```
tools:
  mysql_execute_sql_tool:
    kind: "mysql-execute-sql"
    source: my-mysql-source
    description: Use this tool to execute sql.
```

The `mysql-execute-sql` tool takes one parameter. Example request as
follow:
```
curl -X POST -H "Content-Type: application/json" -d '{"sql": "SELECT 1"}' http://127.0.0.1:5000/api/tool/mysql_execute_sql_tool/invoke
```
2025-05-20 02:17:39 +05:30
trehanshakuntG
6512704e77 feat: Add support for read-only in Spanner tool (#563)
Allowing user to add `readOnly` field in spanner tools.

The existing tool doesn't work for reading schema tables since schema
tables can only be accessed through read-only transaction.

This PR also resolve #435 for Spanner tool.

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-05-16 12:08:05 +05:30
An Nguyen
2068f26302 chore: fix bigtable doc typo (#570)
Fix bigtable doc typo
2025-05-15 21:44:04 +00:00
Jack Wotherspoon
8b68764ef6 docs: update wording and typos for AuthServices (#525)
The wording for `Authorized Invocations` reads a bit funny and has a
typo.

Updating it to make a bit more sense and fixing a couple other typos
around auth.
2025-05-05 16:24:03 +00:00
Jack Wotherspoon
8b635955fc docs: update typo in MySQL tool (#526)
Updating description of MySQL tool to properly mention MySQL as it
has a typo and currently says SQL Server.
2025-05-05 10:10:59 -06:00
shyam-cb
d7390b06b7 feat: add Couchbase as Source and Tool (#307)
Added couchbase support to Genai Toolbox

---------

Co-authored-by: duwenxin <duwenxin@google.com>
2025-05-02 16:37:58 -04:00
Yuan
11ea7bc584 feat: add postgres-execute-sql tool (#490)
This tool can be used across all postgres sources.

`postgres-execute-sql` config is as below:

```
tools:
  postgres_execute_sql_tool:
    kind: "postgres-execute-sql"
    source: my-alloydb-source // or any other sources that is compatible with this tool
    description: Use this tool to execute sql.
```

The `postgres-execute-sql` tool takes one parameter. Example request as
follow:
```
curl -X POST -H "Content-Type: application/json" -d '{"sql": "SELECT 1"}' http://127.0.0.1:5000/api/tool/postgres_execute_sql_tool/invoke
```
2025-05-01 17:43:41 +00:00
Kurtis Van Gent
8646989f80 chore: Update SQLite-sql title (#493) 2025-04-25 22:55:55 +00:00
Kurtis Van Gent
d1c870c004 chore: update bigquery-sql title (#492) 2025-04-25 16:51:41 -06:00
Wenxin Du
b8dd50aded docs: Update IAM guide for Cloud SQL and AlloyDB (#480) 2025-04-25 15:27:12 -04:00
Wenxin Du
eadb678a7b feat: Support env replacement for tool.yaml (#462)
Environment variable replacement is needed so that users don't have to
hardcode their secrets in configuring `tools.yaml`.
Both formats `$ENV_NAME` and `${ENV_NAME}` are standard ways to declare
an environment variable.
However, some database statement placeholders that are already using the
`$ENV_NAME` format.
Therefore, we only support env var declaration using `${ENV_NAME}` to
disambiguate it from other usages.

Fixes issue: https://github.com/googleapis/genai-toolbox/issues/431
2025-04-23 07:33:02 -04:00
waqarahmed6095
fc14cbfd07 feat: sqlite implementation (#438)
Adding sqlite implementation

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
Co-authored-by: Yuan Teoh <yuanteoh@google.com>
2025-04-22 22:25:53 -07:00
Huan Chen
8055aa519f feat: Add BigQuery source and tool (#463)
A `BigQuery` source can be added as the following example:

```yaml
sources:
  my-bigquery-source:
    kind: bigquery
    project: bigframes-dev
    location: us # This field is optional
```

A `BigQuery` tool can be added as below:
```yaml
tools:
  search-hotels-by-name:
    kind: bigquery-sql
    source: my-bigquery-source
    description: Search for hotels based on name.
    parameters:
      - name: name
        type: string
        description: The name of the hotel.
```

---------

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-04-22 20:37:38 -06:00
Andreas Deininger
8954fb0378 chore(docs): fix duplicate persistance key warning (#453)
When previewing the site, warnings are printed out:

```
WARN  Shortcode "tabpane": duplicate tab-persistence key "yaml" detected, disabling persistence to avoid multiple tab display.
```

This PR fixes these issues.

Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
2025-04-18 11:25:57 -06:00
An Nguyen
ae53b8eeff feat: Add Bigtable source and tool (#418)
# Add Bigtable support

A `bigtable` source can be added as the following example

```
sources:
  test-bigtable-source:
    kind: "bigtable"
    project: "sample-project"
    instance: "sample-instance"
```

A `bigtable` tool can be added as below

```
tools:
  get-test-tool-data:
    kind: bigtable-sql
    source: test-bigtable-source
    description: Some description
    statement: SELECT * FROM `test-table` WHERE address['state'] = @state;
    parameters:
      - name: state
        type: string
        description: Filter by state
```

---------

Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-04-18 10:48:28 -06:00
Andreas Deininger
91f4402a71 Fix typos (#451)
This PR fixes a few typos I spotted in the project.
2025-04-17 17:40:43 -07:00
Wenxin Du
be85b82078 feat: add IAM AuthN to Cloud SQL Sources (#414)
Add IAM support for Cloud SQL source connection using Go language
connector:
https://pkg.go.dev/cloud.google.com/go/cloudsqlconn#section-readme
2025-04-08 16:26:00 -04:00
Wenxin Du
e8ed447d91 feat: Add IAM authentication to AlloyDB Source (#399)
Add IAM support for AlloyDB source connection:
https://pkg.go.dev/cloud.google.com/go/alloydbconn#section-readme
2025-04-08 13:02:44 -04:00
Kurtis Van Gent
8ef32cc73a chore: rebrand as MCP Toolbox (#412) 2025-04-07 15:46:20 -06:00
totoleon
f02885fd4a feat: add 'alloydb-ai-nl' tool (#358)
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
Co-authored-by: Averi Kitsch <akitsch@google.com>
Co-authored-by: Yuan <45984206+Yuan325@users.noreply.github.com>
2025-04-04 11:30:58 -07:00
Andrew Brook
c46f271fa0 docs: fix typo in http tool (#393)
Fixed a typo in the doc for HTTP tool

Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
2025-04-04 11:03:59 -06:00
Wenxin Du
cfffe83936 docs: fix misc typos (#364)
fix some typos and formats in code & docs
`neo4jrc` should be `neo4jsrc`
2025-04-04 12:21:24 -04:00
Wenxin Du
64da5b4efe feat: Add HTTP Source and Tool (#332)
Add Source and Tool for tool invocation through HTTP requests.
2025-04-02 14:52:35 -04:00
Twisha Bansal
c836e0f9d7 docs: add llamaindex sdk info to toolbox docs (#330) 2025-03-17 22:48:28 +05:30
Yuan
f1156ffc18 docs(tool/spanner-sql): fix spanner-sql kind in example (#303)
Update `spanner-sql` kind in example. It was previously updated
throughout the doc, except for the example.
It should be `spanner-sql` instead of `spanner`.

Fixes #302
2025-02-24 10:10:23 -08:00
Yuan
04cb5fbc3e feat!: deprecate authsource in favor of authservice (#297)
Rename existing `authSource` to `authService` through deprecation.
`AuthService` more clearly distinguishes it from `Sources` objects.

`authSources` will be converted into `authServices` after the
unmarshalling process. A warning log is shown if `authSources` are used
(for both within tools parameters and defining auth services):
```
2025-02-20T13:57:51.156025-08:00 WARN "`authSources` is deprecated, use `authServices` for parameters instead"
2025-02-20T13:57:51.156569-08:00 WARN "`authSources` is deprecated, use `authServices` instead"
2025-02-20T13:57:52.047584-08:00 INFO "Initialized 1 sources."
...
```

The manifest generated will continue to use `authSources` to keep
compatibility with the sdks:
```
{
"serverVersion":"0.1.0",
"tools":{
  "test_tool2":{
    "description":"Use this tool to test\n",
    "parameters":[{
      "name":"user_id",
      "type":"string",
      "description":"Auto-populated from Google login",
      "authSources":["my-google-auth"]
      }]
    }
  }
}
```



Test cases with `authSources` are kept for compatibility. Will be
removed when `authSources` are no longer supported.
2025-02-21 18:36:04 -08:00
Anubhav Dhawan
941745b3a3 doc: Update README to improve Toolbox LangChain SDK installation instructions (#287)
Add the bash command to `pip install` the package directly in the README
for a quicker start.

Also add “SDK” after “Toolbox LangChain” to clearly show that “Toolbox
LangChain” is an SDK.

> [!NOTE]
> We had released the PyPI package for Toolbox LangChain SDK as
`toolbox-langchain` and not `toolbox-langchain-sdk` but it still makes
sense to call it “Toolbox LangChain SDK” in natural language.
2025-02-10 08:34:27 -07:00
fengjessica
0bb5010a52 chore: update description for draph (#281)
Updated Dgraph description

---------

Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
2025-02-06 15:54:04 -08:00
Yuan
4b7bb158b4 docs(tools): fix broken links (#284)
Fix broken links to auth source page.

Fixes #282
2025-02-06 15:38:52 -08:00
Kurtis Van Gent
9ab4dcceac chore(docs): correct reference to auth params (#278) 2025-02-06 10:32:42 -07:00
Kurtis Van Gent
cd4b35e108 chore: make docs public (#274) 2025-02-05 21:32:39 -07:00
Kurtis Van Gent
91b134a2a3 chore: move telemetry and deploy pages (#263) 2025-02-04 19:51:24 -07:00
Kurtis Van Gent
a402c9e670 chore: improve quickstart (#262)
Improves the quick start to mention more Chat Models, and uses info boxes now that they are added.
2025-02-04 15:09:24 -07:00
Kurtis Van Gent
1104ec9668 chore: move AuthSources to new docsite (#236)
Migrations the AuthSources parts of the documentation to the new
docsite.
2025-02-04 19:26:12 +00:00
Kurtis Van Gent
77a9999a24 chore: migrate tools to docsite (#235)
This migrates the 'tools' documentation to the new docsite.
2025-02-04 19:18:35 +00:00
Yuan
b578e6ce89 docs(mssql): add docs for source (#256)
Add docs for `mssql` source, and update for `mssql-sql` tool.
2025-02-03 18:34:01 +00:00
Shivaji Kharse
617cc872d1 feat: add dgraph tool and source (#233)
* add dgraph tool and source
2025-02-01 15:32:06 -07:00
Yuan
5f9fc762e5 docs(mysql): add docs for source (#251)
Add docs for `mysql` source.
2025-01-31 19:07:41 +00:00
Yuan
b0ecc16a43 docs(cloudsql-pg): fix typos (#247)
Fix typos in cloud sql pg docs.
2025-01-29 15:04:54 -08:00
Yuan
a7b4f20c3c docs(cloudsql-mssql): fixing some typo and add doc to github pages (#246)
Fixing typo to be consistent with other cloudsql docs, and add source
docs to github pages.
2025-01-29 22:45:55 +00:00
Yuan
a900e562d6 docs(cloudsql-mysql): add docs for source and tools (#240)
Add docs for `cloud-sql-mysql` source and `mysql-sql` tool.
2025-01-29 14:41:40 -08:00
Wenxin Du
9bad952060 feat: Add Cloud SQL for SQL Server Source and Tool (#223)
1. `sql/database` provides a `Scan()`interface to scan query results
into typed variables. Therefore we have to create a slice of typed
variables (types retrieved from rows.ColumnTypes()) to pass them into
`Scan()`. Using []byte works but makes the printing result different
from other tools (e.g [1] instead of %!s(int32=1)]
2. MS SQL supports both named (e.g @name) and positional args (e.g @p2),
so we have to check if the name is contained in the original statement
before passing them into `db.Query()` as either named arg or as values.
2025-01-23 21:21:12 +08:00
Kurtis Van Gent
1de3853006 chore: move sources documentation to docsite (#225)
Migrates the docs/sources documentation to the new docsite.

---------

Co-authored-by: Anubhav Dhawan <anubhav756@gmail.com>
2025-01-22 16:57:06 +00:00
Kurtis Van Gent
141cae7702 docs: add site for hosting docs on github pages (#204)
Adds a static site generation using Hugo, and deployed to GitHub pages
(googleapis.github.io/genai-toolbox).
2025-01-13 15:37:31 -07:00