Commit Graph

270 Commits

Author SHA1 Message Date
Haoming Chen
2ad0ccf83d feat(tools/bigquery-forecast): Add bigqueryforecast tool (#1148)
This tool wraps the BigQuery's AI.FORECAST function to do the time
series forecasting.

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-08-18 13:45:54 -07:00
Averi Kitsch
3abc9e00b5 docs: remove database from MongoDB source (#1166)
## Description
---
> Should include a concise description of the changes (bug or feature),
it's
> impact, along with a summary of the solution

## 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:
- [ ] 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/langchain-google-alloydb-pg-python/issues/new/choose)
before writing your code! That way we can discuss the change, evaluate
  designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
- [ ] Make sure to add `!` if this involve a breaking change

🛠️ Fixes #<issue_number_goes_here>
2025-08-18 17:24:01 +00:00
zhouyh
6fc49826d4 feat(tools/oceanbase): Add oceanbase Source and Tool (#895)
1.Added oceanbase Source and Tool
2.Add tests related to OceanBase
3.Add the documentation for Oceanbase
Close #894

---------

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
Co-authored-by: duwenxin <duwenxin@google.com>
2025-08-18 11:40:10 -04:00
release-please[bot]
d19cfc1e7e chore(main): release 0.12.0 (#1085)
🤖 I have created a release *beep* *boop*
---


##
[0.12.0](https://github.com/googleapis/genai-toolbox/compare/v0.11.0...v0.12.0)
(2025-08-14)


### Features

* **prebuiltconfig:** Introduce additional parameter to limit context in
list_tables
([#1151](https://github.com/googleapis/genai-toolbox/issues/1151))
([497d3b1](497d3b126d))
* **prebuiltconfig/alloydb-admin:** Add list cluster, instance and users
([#1126](https://github.com/googleapis/genai-toolbox/issues/1126))
([b42c139](b42c139158))
* **prebuiltconfig/alloydb-postgres:** Add tool to create user via Built
in user type or IAM
([#1130](https://github.com/googleapis/genai-toolbox/issues/1130))
([f5bcb9c](f5bcb9c755))
* **source/http:** Add User Agent to `http` invocations
([#1102](https://github.com/googleapis/genai-toolbox/issues/1102))
([6f55b78](6f55b78e96))
* **sources/postgres:** Add support for `queryParams`
([#1047](https://github.com/googleapis/genai-toolbox/issues/1047))
([7b57251](7b57251402)),
closes [#963](https://github.com/googleapis/genai-toolbox/issues/963)
* **tools/bigquery-execute-sql:** Add dry run support
([#1057](https://github.com/googleapis/genai-toolbox/issues/1057))
([1cac9b5](1cac9b5b37))
* **tools/dataplex-search-aspect-types:** Add support for
`dataplex-search-aspect-types` tool
([#1061](https://github.com/googleapis/genai-toolbox/issues/1061))
([d940187](d940187c85))
* **tools/looker:** Add `looker-make-look` tool to create Looks
([#1099](https://github.com/googleapis/genai-toolbox/issues/1099))
([61d9489](61d9489344))
* **tools/looker:** Add visualizations to `query-url` tool
([#1090](https://github.com/googleapis/genai-toolbox/issues/1090))
([5bf2758](5bf275846a))
* **tools/looker:** New Looker tools for dashboards
([#1118](https://github.com/googleapis/genai-toolbox/issues/1118))
([42be3f5](42be3f550c))
* **ui:** Add login with google button for automatic id token retrieval
([#1044](https://github.com/googleapis/genai-toolbox/issues/1044))
([d91bdfc](d91bdfcbdc))


### Bug Fixes

* Correct the capitalization of `map` manifests
([#1139](https://github.com/googleapis/genai-toolbox/issues/1139))
([0b0457c](0b0457c8e6))
* Remove unnecessary fields from `map` parameter manifests
([#1138](https://github.com/googleapis/genai-toolbox/issues/1138))
([fbe8c1a](fbe8c1a9c0))
* **tools/looker:** Add authorized invocation feature to all Looker
tools ([#1091](https://github.com/googleapis/genai-toolbox/issues/1091))
([3b1cce7](3b1cce72e7))
* Update ui info log to reflect port
([#1125](https://github.com/googleapis/genai-toolbox/issues/1125))
([6d691d5](6d691d582f))

---
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: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-08-14 16:41:28 -07:00
Ajaykumar Yadav
c65c11af24 docs: fix typos across docs (#1154)
got some typos while reading the docs

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-08-14 21:42:04 +00:00
Anuj Jhunjhunwala
d940187c85 feat(tools/dataplex-search-aspect-types): Add support for dataplex-search-aspect-types tool (#1061)
Added support for search aspect types tool in Dataplex.
Fixes #1056

---------

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-08-14 13:34:00 -07:00
Twisha Bansal
e92fed63de docs: fix genkit module installation (#1155) 2025-08-14 12:44:01 +00:00
Yuan Teoh
7b57251402 feat(sources/postgres): add support for queryParams (#1047)
Add support for `queryParams` for users that would like to connect with
additional query parameters.

```
sources:
    my-pg-source:
        kind: postgres
        host: 127.0.0.1
        port: 5432
        database: my_db
        user: ${USER_NAME}
        password: ${PASSWORD}
        queryParams:
            sslmode: verify-full
            sslrootcert: /tmp/ca.crt
```

`queryParams` will be added as raw query of the database connection url.

Fixes #963
2025-08-12 22:34:56 +00:00
Wenxin Du
de3429bdf1 docs: Update Redis and Valkey docs (#1143) 2025-08-12 22:04:23 +00:00
dishaprakash
0be91bcc67 docs: Add auth in Go SDK sample to the docsite (#1131)
docs: Add auth usage in Go SDK sample to the docsite

This PR adds Go samples on usage of the GetGoogleIDToken auth function
and usage of auth getters.
2025-08-12 20:58:45 +05:30
Dr. Strangelove
42be3f550c feat(tools/looker): New Looker tools for dashboards (#1118)
* get_dashboards
* make_dashboard
* add_dashboard_element
2025-08-11 17:13:08 -04:00
Twisha Bansal
129feebc2b docs: add js samples to docsite (#1127) 2025-08-11 19:01:14 +05:30
Averi Kitsch
38cea9495e docs: fix links (#1114) 2025-08-08 10:09:26 -07:00
AlexTalreja
a020b7a041 docs(ui): add Toolbox UI login with google feature to docs (#1111)
Add `Login with Google` feature to Toolbox docs
2025-08-07 15:27:46 -07:00
Ganga4060
9483ccc3de docs: Fix broken links (#1106)
Fixed broken links for template parameters in couchbase and MySQL in
tools.

Co-authored-by: Twisha Bansal <58483338+twishabansal@users.noreply.github.com>
Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-08-07 14:31:45 -07:00
Dr. Strangelove
baa0fe9260 docs(looker): Minor changes to docs to be uniform with everything else (#1110)
* Renamed the tools docs with dashes instead of underscores.
* Added make_look tool to list in how-to/connect-ide/looker_mcp.md

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-08-07 19:08:56 +00:00
Dr. Strangelove
61d9489344 feat(tools/looker): add looker-make-look tool to create Looks (#1099) 2025-08-07 12:48:40 -04:00
Twisha Bansal
f6b15de8cd docs: fix js quickstart (#1104)
Use the newly recommended `@langchain/google-genai` library to use
gemini API keys.
2025-08-07 10:35:20 +00:00
Dr. Strangelove
5bf275846a feat: add visualizations to query-url tool (#1090)
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-08-06 18:17:02 -04:00
prernakakkar-google
9c045253bd docs: add mysql and mssql prebuilt docs (#1060)
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-08-06 17:16:35 +00:00
Huan Chen
1cac9b5b37 feat(bigquery-execute-sql): add dry run support (#1057)
Add optional `dry_run` parameter to bigquery-execute-sql, which defaults
to `false`.

When the `dry_run` parameter is set to `true`, the tool returns the
metadata from the dry run instead of executing the query.

Fixes #703

---------

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-08-05 23:56:28 +00:00
Anushka Saxena
bff528093d docs: add pre-built configurations for ide connection to toolbox using mcp (#962)
### Description
To provide clear, accessible documentation for each of these pre-built
tools, add a new heading for `Pre-built Tools` under the "Available
Tools" section on each Source page.

###  Related Issues
Address and resolves #960

---------

Signed-off-by: Anushka Saxena <anushkasaxenaa@google.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-08-05 15:13:09 -07:00
release-please[bot]
a09f628b52 chore(main): release 0.11.0 (#1071)
🤖 I have created a release *beep* *boop*
---


##
[0.11.0](https://github.com/googleapis/genai-toolbox/compare/v0.11.0...v0.11.0)
(2025-08-05)


### ⚠ BREAKING CHANGES

* **tools/bigquery-sql:** Ensure invoke always returns a non-null value
([#1020](https://github.com/googleapis/genai-toolbox/issues/1020))
([9af55b6](9af55b651d))
* **tools/bigquery-execute-sql:** Update the return messages
([#1034](https://github.com/googleapis/genai-toolbox/issues/1034))
([051e686](051e686476))

### Features

* Add TiDB source and tool
([#829](https://github.com/googleapis/genai-toolbox/issues/829))
([6eaf36a](6eaf36ac85))
* Interactive web UI for Toolbox
([#1065](https://github.com/googleapis/genai-toolbox/issues/1065))
([8749b03](8749b03003))
* **prebuiltconfigs/cloud-sql-postgres:** Introduce additional parameter
to limit context in list tables
([#1062](https://github.com/googleapis/genai-toolbox/issues/1062))
([c3a58e1](c3a58e1d16))
* **tools/looker-query-url:** Add support for `looker-query-url` tool
([#1015](https://github.com/googleapis/genai-toolbox/issues/1015))
([327ddf0](327ddf0439))
* **tools/dataplex-lookup-entry:** Add support for
`dataplex-lookup-entry` tool
([#1009](https://github.com/googleapis/genai-toolbox/issues/1009))
([5fa1660](5fa1660fc8))

### Bug Fixes

* **tools/bigquery,mssql,mysql,postgres,spanner,tidb:** Add query
logging to execute-sql tools
([#1069](https://github.com/googleapis/genai-toolbox/issues/1069))
([0527532]([0527532bd7))

---
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: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-08-05 14:00:26 -07:00
Averi Kitsch
f79cdd6144 revert: 'feat: add support for DuckDB' (#1079)
DuckDB requires an overhaul of the build system, see
https://github.com/marcboeker/go-duckdb/issues/94
2025-08-05 11:44:52 -07:00
Twisha Bansal
c7b443d94a docs: update alloydb ai nl docs to enable parameterized_views (#1074)
Clarifies fix for
https://github.com/googleapis/genai-toolbox/issues/1041
2025-08-05 21:55:01 +05:30
Averi Kitsch
af3d791dea chore: roll back version (#1077) 2025-08-05 16:12:31 +00:00
release-please[bot]
8d0fa6783a chore(main): release 0.11.0 (#1000)
🤖 I have created a release *beep* *boop*
---


##
[0.11.0](https://github.com/googleapis/genai-toolbox/compare/v0.10.0...v0.11.0)
(2025-08-04)


### ⚠ BREAKING CHANGES

* **tools/bigquery-sql:** Ensure invoke always returns a non-null value
([#1020](https://github.com/googleapis/genai-toolbox/issues/1020))
([9af55b6](9af55b651d))
* **tools/bigquery-execute-sql:** Update the return messages
([#1034](https://github.com/googleapis/genai-toolbox/issues/1034))
([051e686](051e686476))

### Features

* Add DuckDB source and tool
([#879](https://github.com/googleapis/genai-toolbox/pull/879))
([fd14933](fd149337e9))
* Add TiDB source and tool
([#829](https://github.com/googleapis/genai-toolbox/issues/829))
([6eaf36a](6eaf36ac85))
* Interactive web UI for Toolbox
([#1065](https://github.com/googleapis/genai-toolbox/issues/1065))
([8749b03](8749b03003))
* **tools/looker-query-url:** Add support for `looker-query-url` tool
([#1015](https://github.com/googleapis/genai-toolbox/issues/1015))
([327ddf0](327ddf0439))
* **tools/dataplex-lookup-entry:** Add support for
`dataplex-lookup-entry` tool
([#1009](https://github.com/googleapis/genai-toolbox/issues/1009))
([5fa1660](5fa1660fc8))

---
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: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-08-04 19:11:17 -07:00
Averi Kitsch
ecf9d65e8a docs: update architecture diagram (#1038) 2025-08-04 22:20:25 +00:00
AlexTalreja
8749b03003 feat: interactive web UI for Toolbox (#1065)
Introduce Toolbox UI, which can be launched with the `--ui` flag. 

This initial version of Toolbox UI allows users to test Toolbox by
inspecting tools/toolsets, modifying parameters, managing headers, and
executing API calls.
2025-08-04 11:47:38 -07:00
prernakakkar-google
bfabcf826e docs: Redirect alloydb pages to cgc (#1064) 2025-08-04 10:53:45 -07:00
Cheese
6eaf36ac85 feat: support tidb in data source, sql tool, and execute sql tool (#829)
This PR supports TiDB in:

1. sources - tidb: As a data source;
2. tools - tidb - tidbsql: As a prepared SQL running tool;
3. tools - tidb - tidbexecutesql: As an arbitrary SQL running tool (for
development purposes).

And its corresponding docs.

---------

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
Co-authored-by: Yuan Teoh <yuanteoh@google.com>
2025-08-02 00:54:22 -07:00
Anuj Jhunjhunwala
5fa1660fc8 feat(tools/dataplex-lookup-entry): Add support for dataplex-lookup-entry tool (#1009)
Added support for lookup entry tool in Dataplex.
Fixes #997

---------

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
2025-08-01 15:18:56 -04:00
Dr. Strangelove
327ddf0439 feat: new tool - looker-query-url (#1015) 2025-07-31 17:45:45 +00:00
Twisha Bansal
330b14e518 docs: fix method name (#1042) 2025-07-31 10:29:32 +05:30
Shobhit Singh
5bdab8c83b fix: template paramaters link in bigquery-sql tool (#1032) 2025-07-31 02:57:09 +00:00
Pranava B
fd149337e9 feat: add support for DuckDB (#879)
Fixes #861 
This PR adds support for DuckDB which is a free, open-source, embedded,
in-process, relational database management system (RDBMS) designed for
analytical processing (OLAP)

---------

Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-07-29 14:31:22 -07:00
Averi Kitsch
a279d32c57 docs: add link checker and fix broken links (#1014) 2025-07-28 14:51:18 -07:00
Dr. Strangelove
0568423e33 docs: Fix looker source links from looker tools. (#1013)
The relative links to the Looker source documentation page weren't
resolving correctly on the documentation website.

I updated the links in all of the Looker tool markdown files to use a
different relative path that should be correctly interpreted by the Hugo
static site generator. I changed the link from `../sources/looker.md` to
`../../sources/looker/`.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-07-28 09:18:01 -07:00
Matt Cornillon
92845c943a docs(samples): Adding AlloyDB samples (#987)
Co-authored-by: Matt Cornillon <cornillon@google.com>
Co-authored-by: Averi Kitsch <akitsch@google.com>
2025-07-25 11:38:19 -07:00
Yuan Teoh
90d4558a8e docs: update docs lint (#995) 2025-07-25 17:26:28 +00:00
prernakakkar-google
7791c6f87e docs: Minor documentation fixes for AlloyDB Admin API using MCP (#1003) 2025-07-25 09:17:55 -07:00
Pranava B
8ff60ca430 feat: add homebrew installation support for toolbox (#936)
Fixes #820 

- Added installation and upgrade support for toolbox via homebrew
-https://github.com/Homebrew/homebrew-core/pull/231149,
https://github.com/Homebrew/homebrew-core/pull/230590
- This PR updates the documentation files to include the same.

Install toolbox via homebrew with:
```
brew install mcp-toolbox
```

Start the server using the command:
```
toolbox --tools-file "tools.yaml"
```
2025-07-25 14:17:22 +00:00
release-please[bot]
c45390e6f7 chore(main): release 0.10.0 (#886)
🤖 I have created a release *beep* *boop*
---


##
[0.10.0](https://github.com/googleapis/genai-toolbox/compare/v0.9.0...v0.10.0)
(2025-07-25)


### Features

* Add `Map` parameters support
([#928](https://github.com/googleapis/genai-toolbox/issues/928))
([4468bc9](4468bc920b))
* Add Dataplex source and tool
([#847](https://github.com/googleapis/genai-toolbox/issues/847))
([30c16a5](30c16a559e))
* Add Looker source and tool
([#923](https://github.com/googleapis/genai-toolbox/issues/923))
([c67e01b](c67e01bcf9))
* Add support for null optional parameter
([#802](https://github.com/googleapis/genai-toolbox/issues/802))
([a817b12](a817b120ca)),
closes [#736](https://github.com/googleapis/genai-toolbox/issues/736)
* **prebuilt/alloydb-admin-config:** Add alloydb control plane as a
prebuilt config
([#937](https://github.com/googleapis/genai-toolbox/issues/937))
([0b28b72](0b28b72aa0))
* **prebuilt/mysql,prebuilt/mssql:** Add generic mysql and mssql
prebuilt tools
([#983](https://github.com/googleapis/genai-toolbox/issues/983))
([c600c30](c600c30374))
* **server/mcp:** Support MCP version 2025-06-18
([#898](https://github.com/googleapis/genai-toolbox/issues/898))
([313d3ca](313d3ca0d0))
* **sources/mssql:** Add support for encrypt connection parameter
([#874](https://github.com/googleapis/genai-toolbox/issues/874))
([14a868f](14a868f2a0))
* **sources/firestore:** Add Firestore as Source
([#786](https://github.com/googleapis/genai-toolbox/issues/786))
([2bb790e](2bb790e4f8))
* **sources/mongodb:** Add MongoDB Source
([#969](https://github.com/googleapis/genai-toolbox/issues/969))
([74dbd61](74dbd6124d))
* **tools/alloydb-wait-for-operation:** Add wait for operation tool with
exponential backoff
([#920](https://github.com/googleapis/genai-toolbox/issues/920))
([3f6ec29](3f6ec2944e))
* **tools/mongodb-aggregate:** Add MongoDB `aggregate` Tools
([#977](https://github.com/googleapis/genai-toolbox/issues/977))
([bd399bb](bd399bb0fb))
* **tools/mongodb-delete:** Add MongoDB `delete` Tools
([#974](https://github.com/googleapis/genai-toolbox/issues/974))
([78e9752](78e9752f62))
* **tools/mongodb-find:** Add MongoDB `find` Tools
([#970](https://github.com/googleapis/genai-toolbox/issues/970))
([a747475](a7474752d8))
* **tools/mongodb-insert:** Add MongoDB `insert` Tools
([#975](https://github.com/googleapis/genai-toolbox/issues/975))
([4c63f0c](4c63f0c1e4))
* **tools/mongodb-update:** Add MongoDB `update` Tools
([#972](https://github.com/googleapis/genai-toolbox/issues/972))
([dfde52c](dfde52ca9a))
* **tools/neo4j-execute-cypher:** Add neo4j-execute-cypher for Neo4j
sources ([#946](https://github.com/googleapis/genai-toolbox/issues/946))
([81d0505](81d05053b2))
* **tools/neo4j-schema:** Add neo4j-schema tool
([#978](https://github.com/googleapis/genai-toolbox/issues/978))
([be7db3d](be7db3dff2))
* **tools/wait:** Create wait for tool
([#885](https://github.com/googleapis/genai-toolbox/issues/885))
([ed5ef4c](ed5ef4caea))


### Bug Fixes

* Fix document preview pipeline for forked PRs
([#950](https://github.com/googleapis/genai-toolbox/issues/950))
([481cc60](481cc608ba))
* **prebuilt/firestore:** Mark database field as required in the
firestore prebuilt tools
([#959](https://github.com/googleapis/genai-toolbox/issues/959))
([15417d4](15417d4e0c))
* **prebuilt/cloud-sql-mssql:** Correct source reference for execute_sql
tool in cloud-sql-mssql.yaml prebuilt config
([#938](https://github.com/googleapis/genai-toolbox/issues/938))
([d16728e](d16728e5c6))
* **prebuilt/cloud-sql-mysql:** Update list_table tool
([#924](https://github.com/googleapis/genai-toolbox/issues/924))
([2083ba5](2083ba5048))
* Replace 'float' with 'number' in McpManifest
([#985](https://github.com/googleapis/genai-toolbox/issues/985))
([59e23e1](59e23e1725))
* **server/api:** Add logger to context in tool invoke handler
([#891](https://github.com/googleapis/genai-toolbox/issues/891))
([8ce311f](8ce311f256))
* **sources/looker:** Add agent tag to Looker API calls.
([#966](https://github.com/googleapis/genai-toolbox/issues/966))
([f55dd6f](f55dd6fcd0))
* **tools/bigquery-execute-sql:** Ensure invoke always returns a
non-null value
([#925](https://github.com/googleapis/genai-toolbox/issues/925))
([9a55b80](9a55b80482))
* **tools/mysqlsql:** Unmarshal json data from database during invoke
([#979](https://github.com/googleapis/genai-toolbox/issues/979))
([ccc3498](ccc3498cf0)),
closes [#840](https://github.com/googleapis/genai-toolbox/issues/840)

---
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: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-07-24 17:58:37 -07:00
nester-neo4j
be7db3dff2 feat(tools/neo4j-schema): add neo4j-schema tool (#978)
This pull request introduces a new tool, `neo4j-schema`, for extracting
and processing comprehensive schema information from Neo4j databases. It
includes updates to the documentation, implementation of caching
mechanisms, helper utilities for schema transformation, and
corresponding unit tests. The most important changes are grouped by
theme below:

### Tool Integration:
- **`cmd/root.go`**: Added import for the new `neo4j-schema` tool to
integrate it into the application.

### Documentation:
- **`docs/en/resources/tools/neo4j/neo4j-schema.md`**: Added detailed
documentation for the `neo4j-schema` tool, describing its functionality,
caching behavior, and usage examples.

### Caching Implementation:
- **`internal/tools/neo4j/neo4jschema/cache/cache.go`**: Implemented a
thread-safe, in-memory cache with expiration and optional janitor for
cleaning expired items.

### Unit Tests:
- **`internal/tools/neo4j/neo4jschema/cache/cache_test.go`**: Added
comprehensive tests for the caching system, including functionality for
setting, retrieving, expiration, janitor cleanup, and concurrent access.

### Helper Utilities:
- **`internal/tools/neo4j/neo4jschema/helpers/helpers.go`**: Added
utility functions for processing schema data, including support for APOC
and native Cypher queries, and converting raw query results into
structured formats.

---------

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-07-25 00:40:16 +00:00
Anuj Jhunjhunwala
30c16a559e feat: add Dataplex source and tool (#847)
- Users have the preference to choose their clients. Below example is
using Gemini CLI.

- Users can use the pre-built Dataplex tools by creating a settings.json
file under .gemini directory. The contents of settings.json would be as
follows:-

```
{
  "mcpServers": {
    "dataplex": {
      "command": "./toolbox",
      "args": ["--prebuilt","dataplex","--stdio"],
      "env": {
          "DATAPLEX_PROJECT": "test-project"
      }
    }
  }
}
```

Fixes #831

---------

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
Co-authored-by: Mateusz Nowak <matnow@google.com>
Co-authored-by: Mateusz Nowak <kontakt@mateusznowak.pl>
2025-07-24 15:31:35 -07:00
ShanQincheng
14a868f2a0 feat(sources/mssql): add support for encrypt connection parameter (#874)
## 1. Why do we need to support the `encrypt` parameter?
MSSQL databases that `genai-toolbox` attempts to connect to may have
their encryption levels set differently. For example, a testing/demo
purpose MSSQL database may not require encryption at all. However,
`genai-toolbox` currently uses the default encryption parameter
(`encrypt=false`) to connect to this type of database and will throw an
error:
```
ERROR "toolbox failed to initialize: unable to initialize configs: unable to initialize source "my-mssql-source": unable to connect successfully: TLS Handshake failed: cannot read handshake packet: EOF"
```
> In this case, the encryption parameter should be set to
`encrypt=disable`.


## 2. Is this a necessary feature?
`genai-toolbox` uses the `github.com/microsoft/go-mssqldb` package as a
dependency to connect to MSSQL databases. According to the
[README](https://github.com/microsoft/go-mssqldb?tab=readme-ov-file#common-parameters)
of the `github.com/microsoft/go-mssqldb` package, `encrypt` is one of
the common parameters. Therefore, I believe supporting the `encrypt`
parameter in `genai-toolbox` is necessary.

## 3. How to replicate the error mentioned above?
### 3.1 Use this `docker-compose.yaml` file to start a demo MSSQL
instance
```
services:
  demo-mssql-database:
    image: mcr.microsoft.com/mssql/server:2017-CU1-ubuntu
    ports:
      - "20256:1433"
    environment:
      ACCEPT_EULA: "Y"
      MSSQL_SA_PASSWORD: "hellopassword!"
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "/opt/mssql-tools/bin/sqlcmd", "-S", "localhost", "-U", "sa", "-P", "hellopassword!", "-Q", "SELECT 1"]
      interval: 5s
      retries: 10

  demo-mssql-database-init:
    image: mcr.microsoft.com/mssql/server:2017-CU1-ubuntu
    network_mode: service:demo-mssql-database
    command: >
      /bin/bash -c "/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P hellopassword! -d master -Q 'CREATE DATABASE DemoDatabase;'"
    depends_on:
      demo-mssql-database:
        condition: service_healthy
```

### 3.2 Use `genai-toolbox` to connect to the above demo MSSQL database
with this `tools.yaml` configuration file:
```
sources:
       my-mssql-source:
                kind: mssql
                host: localhost
                port: 20256
                database: master
                user: sa
                password: 'hellopassword!'
```

### 3.3 We shall see the error:
```
ERROR "toolbox failed to initialize: unable to initialize configs: unable to initialize source "my-mssql-source": unable to connect successfully: TLS Handshake failed: cannot read handshake packet: EOF"
```

---------

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-07-24 21:51:25 +00:00
Averi Kitsch
3746dbae65 docs: fix typos in MCP docs for Postgres (#991)
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-07-24 21:38:55 +00:00
Averi Kitsch
25a0bb7a37 docs: fix typos in MCP docs (#990)
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-07-24 21:14:37 +00:00
Wenxin Du
bd399bb0fb ci: Add MongoDB aggregate Tool and integration test (#977)
Co-authored-by: Author: Dennis Geurts <dennisg@dennisg.nl>
2025-07-24 16:49:41 -04:00
Wenxin Du
4c63f0c1e4 feat: Add MongoDB insert Tools (#975)
Add MongoDB `insert` Tools:

- mongodb-insert-one
- mongodb-insert-many

---------
Co-authored-by: Author: Dennis Geurts <dennisg@dennisg.nl>
2025-07-24 15:54:12 -04:00