Skip to content

Commit 7119a9e

Browse files
Merge branch 'main' into feat(tools/cloudsqlpg)--tools-for-vectorassist
2 parents 0abd7f3 + 8b07b2d commit 7119a9e

File tree

104 files changed

+4125
-630
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+4125
-630
lines changed

.ci/integration.cloudbuild.yaml

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
steps:
1616
- id: "detect-changes"
1717
name: "gcr.io/cloud-builders/git"
18-
waitFor: ["-"]
18+
waitFor: ["-"]
1919
entrypoint: "bash"
2020
args:
2121
- -c
@@ -98,15 +98,20 @@ steps:
9898
- "CLOUD_SQL_POSTGRES_REGION=$_REGION"
9999
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
100100
secretEnv:
101-
["CLOUD_SQL_POSTGRES_USER", "CLOUD_SQL_POSTGRES_PASS", "CLIENT_ID", "API_KEY"]
101+
[
102+
"CLOUD_SQL_POSTGRES_USER",
103+
"CLOUD_SQL_POSTGRES_PASS",
104+
"CLIENT_ID",
105+
"API_KEY",
106+
]
102107
volumes:
103108
- name: "go"
104109
path: "/gopath"
105110
args:
106111
- -c
107112
- |
108113
PATTERN="cloudsqlpg|internal/sources/postgres|tests/postgres|internal/server/|tests/common.go|tests/tool.go|.ci/"
109-
114+
110115
if grep -qE "$$PATTERN" /workspace/changed_files.txt; then
111116
echo "Relevant changes detected. Starting Cloud SQL Postgres tests..."
112117
.ci/test_with_coverage.sh \
@@ -137,7 +142,7 @@ steps:
137142
- -c
138143
- |
139144
PATTERN="alloydb|internal/sources/postgres|tests/postgres|internal/server/|tests/common.go|.ci/"
140-
145+
141146
if grep -qE "$$PATTERN" /workspace/changed_files.txt; then
142147
echo "Relevant changes detected. Starting AlloyDB tests..."
143148
.ci/test_with_coverage.sh \
@@ -161,7 +166,13 @@ steps:
161166
- "ALLOYDB_POSTGRES_DATABASE=$_DATABASE_NAME"
162167
- "ALLOYDB_POSTGRES_REGION=$_REGION"
163168
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
164-
secretEnv: ["ALLOYDB_POSTGRES_USER", "ALLOYDB_POSTGRES_PASSWORD", "CLIENT_ID", "API_KEY"]
169+
secretEnv:
170+
[
171+
"ALLOYDB_POSTGRES_USER",
172+
"ALLOYDB_POSTGRES_PASSWORD",
173+
"CLIENT_ID",
174+
"API_KEY",
175+
]
165176
volumes:
166177
- name: "go"
167178
path: "/gopath"
@@ -276,7 +287,7 @@ steps:
276287
- "GOPATH=/gopath"
277288
- "BIGQUERY_PROJECT=$PROJECT_ID"
278289
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
279-
secretEnv: ["CLIENT_ID"]
290+
secretEnv: ["CLIENT_ID", "API_KEY"]
280291
volumes:
281292
- name: "go"
282293
path: "/gopath"
@@ -508,7 +519,7 @@ steps:
508519
- "SPANNER_DATABASE=$_DATABASE_NAME"
509520
- "SPANNER_INSTANCE=$_SPANNER_INSTANCE"
510521
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
511-
secretEnv: ["CLIENT_ID"]
522+
secretEnv: ["CLIENT_ID", "API_KEY"]
512523
volumes:
513524
- name: "go"
514525
path: "/gopath"
@@ -536,7 +547,7 @@ steps:
536547
- "GOPATH=/gopath"
537548
- "NEO4J_DATABASE=$_NEO4J_DATABASE"
538549
- "NEO4J_URI=$_NEO4J_URI"
539-
secretEnv: ["NEO4J_USER", "NEO4J_PASS"]
550+
secretEnv: ["NEO4J_USER", "NEO4J_PASS", "API_KEY"]
540551
volumes:
541552
- name: "go"
542553
path: "/gopath"
@@ -757,8 +768,7 @@ steps:
757768
env:
758769
- "GOPATH=/gopath"
759770
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
760-
secretEnv:
761-
["CLIENT_ID"]
771+
secretEnv: ["CLIENT_ID"]
762772
volumes:
763773
- name: "go"
764774
path: "/gopath"
@@ -1159,7 +1169,7 @@ steps:
11591169
env:
11601170
- "GOPATH=/gopath"
11611171
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
1162-
secretEnv: ["CLIENT_ID", "ELASTICSEARCH_USER", "ELASTICSEARCH_PASS", "ELASTICSEARCH_HOST"]
1172+
secretEnv: ["CLIENT_ID", "API_KEY"]
11631173
volumes:
11641174
- name: "go"
11651175
path: "/gopath"
@@ -1188,7 +1198,8 @@ steps:
11881198
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
11891199
- "SNOWFLAKE_DATABASE=$_SNOWFLAKE_DATABASE"
11901200
- "SNOWFLAKE_SCHEMA=$_SNOWFLAKE_SCHEMA"
1191-
secretEnv: ["CLIENT_ID", "SNOWFLAKE_USER", "SNOWFLAKE_PASS", "SNOWFLAKE_ACCOUNT"]
1201+
secretEnv:
1202+
["CLIENT_ID", "SNOWFLAKE_USER", "SNOWFLAKE_PASS", "SNOWFLAKE_ACCOUNT"]
11921203
volumes:
11931204
- name: "go"
11941205
path: "/gopath"
@@ -1215,7 +1226,8 @@ steps:
12151226
env:
12161227
- "GOPATH=/gopath"
12171228
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
1218-
secretEnv: ["CLIENT_ID", "CASSANDRA_USER", "CASSANDRA_PASS", "CASSANDRA_HOST"]
1229+
secretEnv:
1230+
["CLIENT_ID", "CASSANDRA_USER", "CASSANDRA_PASS", "CASSANDRA_HOST"]
12191231
volumes:
12201232
- name: "go"
12211233
path: "/gopath"
@@ -1237,13 +1249,14 @@ steps:
12371249
12381250
- id: "oracle"
12391251
name: ghcr.io/oracle/oraclelinux9-instantclient:23
1240-
waitFor: ["install-dependencies","detect-changes"]
1252+
waitFor: ["install-dependencies", "detect-changes"]
12411253
entrypoint: /bin/bash
12421254
env:
12431255
- "GOPATH=/gopath"
12441256
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
12451257
- "ORACLE_SERVER_NAME=$_ORACLE_SERVER_NAME"
1246-
secretEnv: ["CLIENT_ID", "ORACLE_USERNAME", "ORACLE_PASSWORD", "ORACLE_HOST"]
1258+
secretEnv:
1259+
["CLIENT_ID", "ORACLE_USERNAME", "ORACLE_PASSWORD", "ORACLE_HOST"]
12471260
volumes:
12481261
- name: "go"
12491262
path: "/gopath"
@@ -1337,7 +1350,7 @@ steps:
13371350
- "SINGLESTORE_USER=$_SINGLESTORE_USER"
13381351
- "SINGLESTORE_DATABASE=$_SINGLESTORE_DATABASE"
13391352
- "SERVICE_ACCOUNT_EMAIL=$SERVICE_ACCOUNT_EMAIL"
1340-
secretEnv: ["SINGLESTORE_PASSWORD", "SINGLESTORE_HOST", "CLIENT_ID"]
1353+
secretEnv: ["SINGLESTORE_PASSWORD", "SINGLESTORE_HOST", "CLIENT_ID", "API_KEY"]
13411354
volumes:
13421355
- name: "go"
13431356
path: "/gopath"
@@ -1351,7 +1364,9 @@ steps:
13511364
.ci/test_with_coverage.sh \
13521365
"SingleStore" \
13531366
singlestore \
1354-
singlestore
1367+
singlestore \
1368+
"" \
1369+
"API_KEY"
13551370
else
13561371
echo "No relevant changes for SingleStore. Skipping shard."
13571372
exit 0
@@ -1384,7 +1399,6 @@ steps:
13841399
exit 0
13851400
fi
13861401
1387-
13881402
availableSecrets:
13891403
secretManager:
13901404
# Common secrets
@@ -1474,12 +1488,6 @@ availableSecrets:
14741488
env: YUGABYTEDB_USER
14751489
- versionName: projects/$PROJECT_ID/secrets/yugabytedb_pass/versions/latest
14761490
env: YUGABYTEDB_PASS
1477-
- versionName: projects/$PROJECT_ID/secrets/elastic_search_host/versions/latest
1478-
env: ELASTICSEARCH_HOST
1479-
- versionName: projects/$PROJECT_ID/secrets/elastic_search_user/versions/latest
1480-
env: ELASTICSEARCH_USER
1481-
- versionName: projects/$PROJECT_ID/secrets/elastic_search_pass/versions/latest
1482-
env: ELASTICSEARCH_PASS
14831491
- versionName: projects/$PROJECT_ID/secrets/snowflake_account/versions/latest
14841492
env: SNOWFLAKE_ACCOUNT
14851493
- versionName: projects/$PROJECT_ID/secrets/snowflake_user/versions/latest

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,4 @@ __pycache__/
2626
mcp-toolbox
2727
toolbox
2828
toolbox.exe
29+
**/test.db

.hugo/hugo.cloudflare.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ ignoreFiles = ["quickstart/shared", "quickstart/python", "quickstart/js", "quick
7676
# Add a new version block here before every release
7777
# The order of versions in this file is mirrored into the dropdown
7878

79+
[[params.versions]]
80+
version = "v1.0.0"
81+
url = "https://mcp-toolbox.dev/v1.0.0/"
82+
7983
[[params.versions]]
8084
version = "v0.32.0"
8185
url = "https://mcp-toolbox.dev/v0.32.0/"

.hugo/hugo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ ignoreFiles = ["quickstart/shared", "quickstart/python", "quickstart/js", "quick
6161
# Add a new version block here before every release
6262
# The order of versions in this file is mirrored into the dropdown
6363

64+
[[params.versions]]
65+
version = "v1.0.0"
66+
url = "https://mcp-toolbox.dev/v1.0.0/"
67+
6468
[[params.versions]]
6569
version = "v0.32.0"
6670
url = "https://mcp-toolbox.dev/v0.32.0/"

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
# Changelog
22

3+
## [1.0.0](https://github.com/googleapis/mcp-toolbox/compare/v0.32.0...v1.0.0) (2026-04-10)
4+
5+
6+
> [!IMPORTANT]
7+
> This is the first stable release. Please review the [UPGRADING.md](UPGRADING.md) guide for instructions on migrating from previous beta versions.
8+
9+
10+
### ⚠ BREAKING CHANGES
11+
12+
* **tools/elasticsearch:** add vector search support and remove query passing through param ([#2891](https://github.com/googleapis/mcp-toolbox/issues/2891))
13+
* **tools/looker:** refactor looker-git-branch tool into 5 separate tools ([#2976](https://github.com/googleapis/mcp-toolbox/issues/2976))
14+
15+
### Features
16+
17+
* **auth:** Support opaque token validation for `generic` authService ([#2944](https://github.com/googleapis/mcp-toolbox/issues/2944)) ([c924701](https://github.com/googleapis/mcp-toolbox/commit/c924701adede95877594423d78b7ae72fe0b9c82))
18+
* **cloudsqlpg:** Run `SELECT 1` after successful connection attempt ([#2997](https://github.com/googleapis/mcp-toolbox/issues/2997)) ([6ed9700](https://github.com/googleapis/mcp-toolbox/commit/6ed9700e15f08b31e65eb0afa605f4a8ea937e66))
19+
* **tools/bigquerysql:** Add semantic search support ([#2890](https://github.com/googleapis/mcp-toolbox/issues/2890)) ([862c396](https://github.com/googleapis/mcp-toolbox/commit/862c396cadfa1d95d12cc121312a81035c22cbad))
20+
* **tools/elasticsearch-execute-esql:** Add Tool to execute arbitrary ES/QL queries ([#3013](https://github.com/googleapis/mcp-toolbox/issues/3013)) ([ae49fb7](https://github.com/googleapis/mcp-toolbox/commit/ae49fb737031d783b6734a0ea35488dd0f4c7ccc))
21+
* **tools/elasticsearch:** Add vector search support and remove query passing through param ([#2891](https://github.com/googleapis/mcp-toolbox/issues/2891)) ([d44e879](https://github.com/googleapis/mcp-toolbox/commit/d44e879336f6628790e3f1dca2477cb56fe8f080))
22+
* **tools/looker:** Refactor looker-git-branch tool into 5 separate tools ([#2976](https://github.com/googleapis/mcp-toolbox/issues/2976)) ([b2472d4](https://github.com/googleapis/mcp-toolbox/commit/b2472d4926dacc496fc6956185fb281b5e75f56f))
23+
* **tools/mysql:** Add list-table-stats-tool to list table statistics in MySQL and Cloud SQL MySQL source. ([#2938](https://github.com/googleapis/mcp-toolbox/issues/2938)) ([dc2c2b4](https://github.com/googleapis/mcp-toolbox/commit/dc2c2b44e512e34d4d3a0b9c63b59374c37c4c4a))
24+
325
## [0.32.0](https://github.com/googleapis/mcp-toolbox/compare/v0.31.0...v0.32.0) (2026-04-08)
426

527

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ To install Toolbox as a binary:
240240
>
241241
> ```sh
242242
> # see releases page for other versions
243-
> export VERSION=0.32.0
243+
> export VERSION=1.0.0
244244
> curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox
245245
> chmod +x toolbox
246246
> ```
@@ -253,7 +253,7 @@ To install Toolbox as a binary:
253253
>
254254
> ```sh
255255
> # see releases page for other versions
256-
> export VERSION=0.32.0
256+
> export VERSION=1.0.0
257257
> curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/arm64/toolbox
258258
> chmod +x toolbox
259259
> ```
@@ -266,7 +266,7 @@ To install Toolbox as a binary:
266266
>
267267
> ```sh
268268
> # see releases page for other versions
269-
> export VERSION=0.32.0
269+
> export VERSION=1.0.0
270270
> curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/darwin/amd64/toolbox
271271
> chmod +x toolbox
272272
> ```
@@ -279,7 +279,7 @@ To install Toolbox as a binary:
279279
>
280280
> ```cmd
281281
> :: see releases page for other versions
282-
> set VERSION=0.32.0
282+
> set VERSION=1.0.0
283283
> curl -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v%VERSION%/windows/amd64/toolbox.exe"
284284
> ```
285285
>
@@ -291,7 +291,7 @@ To install Toolbox as a binary:
291291
>
292292
> ```powershell
293293
> # see releases page for other versions
294-
> $VERSION = "0.32.0"
294+
> $VERSION = "1.0.0"
295295
> curl.exe -o toolbox.exe "https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/windows/amd64/toolbox.exe"
296296
> ```
297297
>
@@ -304,7 +304,7 @@ You can also install Toolbox as a container:
304304

305305
```sh
306306
# see releases page for other versions
307-
export VERSION=0.32.0
307+
export VERSION=1.0.0
308308
docker pull us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:$VERSION
309309
```
310310

@@ -328,7 +328,7 @@ To install from source, ensure you have the latest version of
328328
[Go installed](https://go.dev/doc/install), and then run the following command:
329329

330330
```sh
331-
go install github.com/googleapis/mcp-toolbox@v0.32.0
331+
go install github.com/googleapis/mcp-toolbox@v1.0.0
332332
```
333333
<!-- {x-release-please-end} -->
334334

UPGRADING.md

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,16 @@ This guide outlines what has changed and the steps you need to take to upgrade.
1616

1717
## 🚨 Breaking Changes (Action Required)
1818

19-
### 1. Endpoint Transition: `/api` disabled by default
19+
### 1. Repository Rename: genai-toolbox ➡️ mcp-toolbox
20+
The GitHub repository has been officially renamed to `googleapis/mcp-toolbox`. To update your local environment, run the following commands:
21+
22+
1. Rename your local directory: `cd .. && mv genai-toolbox mcp-toolbox && cd mcp-toolbox`
23+
24+
2. Update the remote URL: `git remote set-url origin git@github.com:googleapis/mcp-toolbox.git`
25+
26+
3. Verify the update: `git remote -v`
27+
28+
### 2. Endpoint Transition: `/api` disabled by default
2029
The legacy `/api` endpoint for the native Toolbox protocol is now disabled by default. All official SDKs have been updated to use the `/mcp` endpoint, which aligns with the standard Model Context Protocol (MCP) specification.
2130

2231
If you still require the legacy `/api` endpoint, you must explicitly activate it using a new command-line flag.
@@ -27,15 +36,15 @@ If you still require the legacy `/api` endpoint, you must explicitly activate it
2736
relied on a non-standard feature that is missing from the new implementation, please submit a
2837
feature request on our [GitHub Issues page](https://github.com/googleapis/mcp-toolbox/issues).
2938

30-
### 2. Strict Tool Naming Validation (SEP986)
39+
### 3. Strict Tool Naming Validation (SEP986)
3140
Tool names are now strictly validated against [ModelContextProtocol SEP986 guidelines](https://github.com/alexhancock/modelcontextprotocol/blob/main/docs/specification/draft/server/tools.mdx#tool-names) prior to MCP initialization.
3241
* **Migration:** Ensure all your tool names **only** contain alphanumeric characters, hyphens (`-`), underscores (`_`), and periods (`.`). Any other special characters will cause initialization to fail.
3342

34-
### 3. Removed CLI Flags
43+
### 4. Removed CLI Flags
3544
The legacy snake_case flag `--tools_file` has been completely removed.
3645
* **Migration:** Update your deployment scripts to use `--config` instead.
3746

38-
### 4. Singular `kind` Values in Configuration
47+
### 5. Singular `kind` Values in Configuration
3948
_(This step applies only if you are currently using the new flat format.)_
4049

4150
All primitive kind fields in configuration files have been updated to use singular nouns instead of plural. For example, `kind: sources` is now `kind: source`, and `kind: tools` is now `kind: tool`.
@@ -44,12 +53,12 @@ All primitive kind fields in configuration files have been updated to use singul
4453
values. _(Note: If you transitioned to the flat format using the `./toolbox migrate` command, this step was handled automatically.)_
4554

4655

47-
### 5. Configuration Schema: `authSources` renamed
56+
### 6. Configuration Schema: `authSources` renamed
4857
The `authSources` field is no longer supported in configuration files.
4958
* **Migration:** Rename all instances of `authSources` to `authService` in your
5059
configuration files.
5160

52-
### 6. CloudSQL for SQL Server: `ipAddress` removed
61+
### 7. CloudSQL for SQL Server: `ipAddress` removed
5362
The `ipAddress` field for the CloudSQL for SQL Server source was redundant and has been removed.
5463
* **Migration:** Remove the `ipAddress` field from your CloudSQL for SQL Server configurations.
5564

cmd/internal/config_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1767,7 +1767,7 @@ func TestPrebuiltTools(t *testing.T) {
17671767
},
17681768
"monitor": tools.ToolsetConfig{
17691769
Name: "monitor",
1770-
ToolNames: []string{"get_query_plan", "list_active_queries", "get_query_metrics", "get_system_metrics", "list_table_fragmentation", "list_tables_missing_unique_indexes"},
1770+
ToolNames: []string{"get_query_plan", "list_active_queries", "get_query_metrics", "get_system_metrics", "list_table_fragmentation", "list_table_stats", "list_tables_missing_unique_indexes"},
17711771
},
17721772
"lifecycle": tools.ToolsetConfig{
17731773
Name: "lifecycle",
@@ -1851,7 +1851,7 @@ func TestPrebuiltTools(t *testing.T) {
18511851
},
18521852
"monitor": tools.ToolsetConfig{
18531853
Name: "monitor",
1854-
ToolNames: []string{"get_query_plan", "list_active_queries", "list_table_fragmentation", "list_tables_missing_unique_indexes"},
1854+
ToolNames: []string{"get_query_plan", "list_active_queries", "list_table_fragmentation", "list_table_stats", "list_tables_missing_unique_indexes"},
18551855
},
18561856
},
18571857
},
@@ -1881,7 +1881,7 @@ func TestPrebuiltTools(t *testing.T) {
18811881
wantToolset: server.ToolsetConfigs{
18821882
"looker_dev_tools": tools.ToolsetConfig{
18831883
Name: "looker_dev_tools",
1884-
ToolNames: []string{"health_pulse", "health_analyze", "health_vacuum", "dev_mode", "get_projects", "get_project_files", "get_project_file", "create_project_file", "update_project_file", "delete_project_file", "get_project_directories", "create_project_directory", "delete_project_directory", "validate_project", "get_connections", "get_connection_schemas", "get_connection_databases", "get_connection_tables", "get_connection_table_columns", "get_lookml_tests", "run_lookml_tests", "create_view_from_table", "project_git_branch"},
1884+
ToolNames: []string{"health_pulse", "health_analyze", "health_vacuum", "dev_mode", "get_projects", "get_project_files", "get_project_file", "create_project_file", "update_project_file", "delete_project_file", "get_project_directories", "create_project_directory", "delete_project_directory", "validate_project", "get_connections", "get_connection_schemas", "get_connection_databases", "get_connection_tables", "get_connection_table_columns", "get_lookml_tests", "run_lookml_tests", "create_view_from_table", "list_git_branches", "get_git_branch", "create_git_branch", "switch_git_branch", "delete_git_branch"},
18851885
},
18861886
},
18871887
},

0 commit comments

Comments
 (0)