Repository navigation
fix: re-add tool validation during startup - #3705
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces a SkipSourceValidation configuration option to bypass source validation during server startup, particularly for skills generation and offline modes. It updates tool initialization to validate sources when enabled and adapts mock tools and tests accordingly. The review feedback highlights two critical issues: first, setting SkipSourceValidation in NewCommand causes global configuration pollution and will be overwritten, so it should be moved to the command's run function; second, sourcesMap can be nil in offline mode, which could trigger a nil-pointer dereference panic, requiring an additional guard check before performing validation.
fb028f9 to
07a7ad9
Compare
ba7a364 to
1923647
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces source validation for tools during server startup, adding a SkipSourceValidation option to ServerConfig to bypass validation during offline initialization or skills generation. It also refactors MockTool to embed tools.BaseTool and introduces mock configurations to support these changes. The reviewer suggests automatically forcing SkipSourceValidation = true inside InitializeOfflineConfigs to simplify callers, which would allow removing redundant manual configurations in both the command implementation and server tests.
8267172 to
350fe82
Compare
f9b0bea to
10eb246
Compare
|
🧨 Preview deployments removed. Cloudflare Pages environments for |
🤖 I have created a release *beep* *boop* --- ## [1.8.0](v1.7.0...v1.8.0) (2026-07-28) ### Features * Add `groups` support ([#3605](#3605)) ([e75ec3b](e75ec3b)) * **prebuilt:** Migrate skills-repo toolsets to `kind: group` with descriptions ([#3595](#3595)) ([b895b36](b895b36)) * **server:** Add `/healthz` endpoint for container health checks ([#3060](#3060)) ([d5aefbc](d5aefbc)) * **skills:** Add `--group` flag to generate a skill from one group ([#3585](#3585)) ([c1abd4f](c1abd4f)) * **skills:** Default `--name` to `--group`, `--toolset`, or single `--prebuilt` name ([#3586](#3586)) ([2b33b08](2b33b08)) * **skills:** Make description optional during skills gen ([#3584](#3584)) ([d0a8f14](d0a8f14)) * **tool/looker:** Add `get_field_value_suggestions` tool ([#3696](#3696)) ([3debe81](3debe81)) * **tools/dataplex-update-data-product-aspects:** Add dataplex-update-data-product-aspects tool ([#3607](#3607)) ([f940937](f940937)) * Update draft specs to 2026-07-28 ([#3699](#3699)) ([cf128ff](cf128ff)) ### Bug Fixes * Re-add name validation to tools name ([#3654](#3654)) ([944f6ce](944f6ce)) * Re-add tool validation during startup ([#3705](#3705)) ([25ce953](25ce953)) * **server:** Sort default toolset alphabetically for stable ordering ([#3539](#3539)) ([e5da24c](e5da24c)) * **source/cloud-sql-admin:** Validate source instance for backup-run restore ([#3555](#3555)) ([3ebe500](3ebe500)) * **source/dataplex:** Cleanup Dataplex Data Product resources that may have leaked due to previously aborted tests ([#3627](#3627)) ([3fb5a3f](3fb5a3f)) * **source/http:** Block CGNAT 100.64.0.0/10 in default SSRF guard ([#3625](#3625)) ([a0f36f4](a0f36f4)) * **tools/looker:** Enhance looker-run-dashboard to handle result maker structures and merge queries ([#3698](#3698)) ([7666bc0](7666bc0)) * **tools/looker:** Log request/response traces at debug, not error ([#3552](#3552)) ([c3ad445](c3ad445)) --- 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>
🤖 I have created a release *beep* *boop* --- ## [1.8.0](v1.7.0...v1.8.0) (2026-07-28) ### Features * Add `groups` support ([#3605](#3605)) ([e75ec3b](e75ec3b)) * **prebuilt:** Migrate skills-repo toolsets to `kind: group` with descriptions ([#3595](#3595)) ([b895b36](b895b36)) * **server:** Add `/healthz` endpoint for container health checks ([#3060](#3060)) ([d5aefbc](d5aefbc)) * **skills:** Add `--group` flag to generate a skill from one group ([#3585](#3585)) ([c1abd4f](c1abd4f)) * **skills:** Default `--name` to `--group`, `--toolset`, or single `--prebuilt` name ([#3586](#3586)) ([2b33b08](2b33b08)) * **skills:** Make description optional during skills gen ([#3584](#3584)) ([d0a8f14](d0a8f14)) * **tool/looker:** Add `get_field_value_suggestions` tool ([#3696](#3696)) ([3debe81](3debe81)) * **tools/dataplex-update-data-product-aspects:** Add dataplex-update-data-product-aspects tool ([#3607](#3607)) ([f940937](f940937)) * Update draft specs to 2026-07-28 ([#3699](#3699)) ([cf128ff](cf128ff)) ### Bug Fixes * Re-add name validation to tools name ([#3654](#3654)) ([944f6ce](944f6ce)) * Re-add tool validation during startup ([#3705](#3705)) ([25ce953](25ce953)) * **server:** Sort default toolset alphabetically for stable ordering ([#3539](#3539)) ([e5da24c](e5da24c)) * **source/cloud-sql-admin:** Validate source instance for backup-run restore ([#3555](#3555)) ([3ebe500](3ebe500)) * **source/dataplex:** Cleanup Dataplex Data Product resources that may have leaked due to previously aborted tests ([#3627](#3627)) ([3fb5a3f](3fb5a3f)) * **source/http:** Block CGNAT 100.64.0.0/10 in default SSRF guard ([#3625](#3625)) ([a0f36f4](a0f36f4)) * **tools/looker:** Enhance looker-run-dashboard to handle result maker structures and merge queries ([#3698](#3698)) ([7666bc0](7666bc0)) * **tools/looker:** Log request/response traces at debug, not error ([#3552](#3552)) ([c3ad445](c3ad445)) --- 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> 44d1a05
🤖 I have created a release *beep* *boop* --- ## [1.8.0](googleapis/mcp-toolbox@v1.7.0...v1.8.0) (2026-07-28) ### Features * Add `groups` support ([googleapis#3605](googleapis#3605)) ([e75ec3b](googleapis@e75ec3b)) * **prebuilt:** Migrate skills-repo toolsets to `kind: group` with descriptions ([googleapis#3595](googleapis#3595)) ([b895b36](googleapis@b895b36)) * **server:** Add `/healthz` endpoint for container health checks ([googleapis#3060](googleapis#3060)) ([d5aefbc](googleapis@d5aefbc)) * **skills:** Add `--group` flag to generate a skill from one group ([googleapis#3585](googleapis#3585)) ([c1abd4f](googleapis@c1abd4f)) * **skills:** Default `--name` to `--group`, `--toolset`, or single `--prebuilt` name ([googleapis#3586](googleapis#3586)) ([2b33b08](googleapis@2b33b08)) * **skills:** Make description optional during skills gen ([googleapis#3584](googleapis#3584)) ([d0a8f14](googleapis@d0a8f14)) * **tool/looker:** Add `get_field_value_suggestions` tool ([googleapis#3696](googleapis#3696)) ([3debe81](googleapis@3debe81)) * **tools/dataplex-update-data-product-aspects:** Add dataplex-update-data-product-aspects tool ([googleapis#3607](googleapis#3607)) ([f940937](googleapis@f940937)) * Update draft specs to 2026-07-28 ([googleapis#3699](googleapis#3699)) ([cf128ff](googleapis@cf128ff)) ### Bug Fixes * Re-add name validation to tools name ([googleapis#3654](googleapis#3654)) ([944f6ce](googleapis@944f6ce)) * Re-add tool validation during startup ([googleapis#3705](googleapis#3705)) ([25ce953](googleapis@25ce953)) * **server:** Sort default toolset alphabetically for stable ordering ([googleapis#3539](googleapis#3539)) ([e5da24c](googleapis@e5da24c)) * **source/cloud-sql-admin:** Validate source instance for backup-run restore ([googleapis#3555](googleapis#3555)) ([3ebe500](googleapis@3ebe500)) * **source/dataplex:** Cleanup Dataplex Data Product resources that may have leaked due to previously aborted tests ([googleapis#3627](googleapis#3627)) ([3fb5a3f](googleapis@3fb5a3f)) * **source/http:** Block CGNAT 100.64.0.0/10 in default SSRF guard ([googleapis#3625](googleapis#3625)) ([a0f36f4](googleapis@a0f36f4)) * **tools/looker:** Enhance looker-run-dashboard to handle result maker structures and merge queries ([googleapis#3698](googleapis#3698)) ([7666bc0](googleapis@7666bc0)) * **tools/looker:** Log request/response traces at debug, not error ([googleapis#3552](googleapis#3552)) ([c3ad445](googleapis@c3ad445)) --- 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> 44d1a05
🤖 I have created a release *beep* *boop* --- ## [1.8.0](googleapis/mcp-toolbox@v1.7.0...v1.8.0) (2026-07-28) ### Features * Add `groups` support ([googleapis#3605](googleapis#3605)) ([e75ec3b](googleapis@e75ec3b)) * **prebuilt:** Migrate skills-repo toolsets to `kind: group` with descriptions ([googleapis#3595](googleapis#3595)) ([b895b36](googleapis@b895b36)) * **server:** Add `/healthz` endpoint for container health checks ([googleapis#3060](googleapis#3060)) ([d5aefbc](googleapis@d5aefbc)) * **skills:** Add `--group` flag to generate a skill from one group ([googleapis#3585](googleapis#3585)) ([c1abd4f](googleapis@c1abd4f)) * **skills:** Default `--name` to `--group`, `--toolset`, or single `--prebuilt` name ([googleapis#3586](googleapis#3586)) ([2b33b08](googleapis@2b33b08)) * **skills:** Make description optional during skills gen ([googleapis#3584](googleapis#3584)) ([d0a8f14](googleapis@d0a8f14)) * **tool/looker:** Add `get_field_value_suggestions` tool ([googleapis#3696](googleapis#3696)) ([3debe81](googleapis@3debe81)) * **tools/dataplex-update-data-product-aspects:** Add dataplex-update-data-product-aspects tool ([googleapis#3607](googleapis#3607)) ([f940937](googleapis@f940937)) * Update draft specs to 2026-07-28 ([googleapis#3699](googleapis#3699)) ([cf128ff](googleapis@cf128ff)) ### Bug Fixes * Re-add name validation to tools name ([googleapis#3654](googleapis#3654)) ([944f6ce](googleapis@944f6ce)) * Re-add tool validation during startup ([googleapis#3705](googleapis#3705)) ([25ce953](googleapis@25ce953)) * **server:** Sort default toolset alphabetically for stable ordering ([googleapis#3539](googleapis#3539)) ([e5da24c](googleapis@e5da24c)) * **source/cloud-sql-admin:** Validate source instance for backup-run restore ([googleapis#3555](googleapis#3555)) ([3ebe500](googleapis@3ebe500)) * **source/dataplex:** Cleanup Dataplex Data Product resources that may have leaked due to previously aborted tests ([googleapis#3627](googleapis#3627)) ([3fb5a3f](googleapis@3fb5a3f)) * **source/http:** Block CGNAT 100.64.0.0/10 in default SSRF guard ([googleapis#3625](googleapis#3625)) ([a0f36f4](googleapis@a0f36f4)) * **tools/looker:** Enhance looker-run-dashboard to handle result maker structures and merge queries ([googleapis#3698](googleapis#3698)) ([7666bc0](googleapis@7666bc0)) * **tools/looker:** Log request/response traces at debug, not error ([googleapis#3552](googleapis#3552)) ([c3ad445](googleapis@c3ad445)) --- 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> 44d1a05
🤖 I have created a release *beep* *boop* --- ## [1.8.0](googleapis/mcp-toolbox@v1.7.0...v1.8.0) (2026-07-28) ### Features * Add `groups` support ([googleapis#3605](googleapis#3605)) ([e75ec3b](googleapis@e75ec3b)) * **prebuilt:** Migrate skills-repo toolsets to `kind: group` with descriptions ([googleapis#3595](googleapis#3595)) ([b895b36](googleapis@b895b36)) * **server:** Add `/healthz` endpoint for container health checks ([googleapis#3060](googleapis#3060)) ([d5aefbc](googleapis@d5aefbc)) * **skills:** Add `--group` flag to generate a skill from one group ([googleapis#3585](googleapis#3585)) ([c1abd4f](googleapis@c1abd4f)) * **skills:** Default `--name` to `--group`, `--toolset`, or single `--prebuilt` name ([googleapis#3586](googleapis#3586)) ([2b33b08](googleapis@2b33b08)) * **skills:** Make description optional during skills gen ([googleapis#3584](googleapis#3584)) ([d0a8f14](googleapis@d0a8f14)) * **tool/looker:** Add `get_field_value_suggestions` tool ([googleapis#3696](googleapis#3696)) ([3debe81](googleapis@3debe81)) * **tools/dataplex-update-data-product-aspects:** Add dataplex-update-data-product-aspects tool ([googleapis#3607](googleapis#3607)) ([f940937](googleapis@f940937)) * Update draft specs to 2026-07-28 ([googleapis#3699](googleapis#3699)) ([cf128ff](googleapis@cf128ff)) ### Bug Fixes * Re-add name validation to tools name ([googleapis#3654](googleapis#3654)) ([944f6ce](googleapis@944f6ce)) * Re-add tool validation during startup ([googleapis#3705](googleapis#3705)) ([25ce953](googleapis@25ce953)) * **server:** Sort default toolset alphabetically for stable ordering ([googleapis#3539](googleapis#3539)) ([e5da24c](googleapis@e5da24c)) * **source/cloud-sql-admin:** Validate source instance for backup-run restore ([googleapis#3555](googleapis#3555)) ([3ebe500](googleapis@3ebe500)) * **source/dataplex:** Cleanup Dataplex Data Product resources that may have leaked due to previously aborted tests ([googleapis#3627](googleapis#3627)) ([3fb5a3f](googleapis@3fb5a3f)) * **source/http:** Block CGNAT 100.64.0.0/10 in default SSRF guard ([googleapis#3625](googleapis#3625)) ([a0f36f4](googleapis@a0f36f4)) * **tools/looker:** Enhance looker-run-dashboard to handle result maker structures and merge queries ([googleapis#3698](googleapis#3698)) ([7666bc0](googleapis@7666bc0)) * **tools/looker:** Log request/response traces at debug, not error ([googleapis#3552](googleapis#3552)) ([c3ad445](googleapis@c3ad445)) --- 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> 44d1a05
Tool validation is added during server startup, except for during skills generation.
🤖 I have created a release *beep* *boop* --- ## [1.8.0](googleapis/mcp-toolbox@v1.7.0...v1.8.0) (2026-07-28) ### Features * Add `groups` support ([googleapis#3605](googleapis#3605)) ([e75ec3b](googleapis@e75ec3b)) * **prebuilt:** Migrate skills-repo toolsets to `kind: group` with descriptions ([googleapis#3595](googleapis#3595)) ([b895b36](googleapis@b895b36)) * **server:** Add `/healthz` endpoint for container health checks ([googleapis#3060](googleapis#3060)) ([d5aefbc](googleapis@d5aefbc)) * **skills:** Add `--group` flag to generate a skill from one group ([googleapis#3585](googleapis#3585)) ([c1abd4f](googleapis@c1abd4f)) * **skills:** Default `--name` to `--group`, `--toolset`, or single `--prebuilt` name ([googleapis#3586](googleapis#3586)) ([2b33b08](googleapis@2b33b08)) * **skills:** Make description optional during skills gen ([googleapis#3584](googleapis#3584)) ([d0a8f14](googleapis@d0a8f14)) * **tool/looker:** Add `get_field_value_suggestions` tool ([googleapis#3696](googleapis#3696)) ([3debe81](googleapis@3debe81)) * **tools/dataplex-update-data-product-aspects:** Add dataplex-update-data-product-aspects tool ([googleapis#3607](googleapis#3607)) ([f940937](googleapis@f940937)) * Update draft specs to 2026-07-28 ([googleapis#3699](googleapis#3699)) ([cf128ff](googleapis@cf128ff)) ### Bug Fixes * Re-add name validation to tools name ([googleapis#3654](googleapis#3654)) ([944f6ce](googleapis@944f6ce)) * Re-add tool validation during startup ([googleapis#3705](googleapis#3705)) ([25ce953](googleapis@25ce953)) * **server:** Sort default toolset alphabetically for stable ordering ([googleapis#3539](googleapis#3539)) ([e5da24c](googleapis@e5da24c)) * **source/cloud-sql-admin:** Validate source instance for backup-run restore ([googleapis#3555](googleapis#3555)) ([3ebe500](googleapis@3ebe500)) * **source/dataplex:** Cleanup Dataplex Data Product resources that may have leaked due to previously aborted tests ([googleapis#3627](googleapis#3627)) ([3fb5a3f](googleapis@3fb5a3f)) * **source/http:** Block CGNAT 100.64.0.0/10 in default SSRF guard ([googleapis#3625](googleapis#3625)) ([a0f36f4](googleapis@a0f36f4)) * **tools/looker:** Enhance looker-run-dashboard to handle result maker structures and merge queries ([googleapis#3698](googleapis#3698)) ([7666bc0](googleapis@7666bc0)) * **tools/looker:** Log request/response traces at debug, not error ([googleapis#3552](googleapis#3552)) ([c3ad445](googleapis@c3ad445)) --- 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>
mcp-toolbox 1.8.0 Created-by: HarmonybrewBot Commit-by: HarmonybrewBot Merged-by: HarmonybrewBot Description: Created by `brew bump` --- Created with `brew bump-formula-pr`.release notes
## [1.8.0](googleapis/mcp-toolbox@v1.7.0...v1.8.0) (2026-07-28) ### Features * Add `groups` support ([#3605](googleapis/mcp-toolbox#3605)) ([e75ec3b](googleapis/mcp-toolbox@e75ec3b)) * **prebuilt:** Migrate skills-repo toolsets to `kind: group` with descriptions ([#3595](googleapis/mcp-toolbox#3595)) ([b895b36](googleapis/mcp-toolbox@b895b36)) * **server:** Add `/healthz` endpoint for container health checks ([#3060](googleapis/mcp-toolbox#3060)) ([d5aefbc](googleapis/mcp-toolbox@d5aefbc)) * **skills:** Add `--group` flag to generate a skill from one group ([#3585](googleapis/mcp-toolbox#3585)) ([c1abd4f](googleapis/mcp-toolbox@c1abd4f)) * **skills:** Default `--name` to `--group`, `--toolset`, or single `--prebuilt` name ([#3586](googleapis/mcp-toolbox#3586)) ([2b33b08](googleapis/mcp-toolbox@2b33b08)) * **skills:** Make description optional during skills gen ([#3584](googleapis/mcp-toolbox#3584)) ([d0a8f14](googleapis/mcp-toolbox@d0a8f14)) * **tool/looker:** Add `get_field_value_suggestions` tool ([#3696](googleapis/mcp-toolbox#3696)) ([3debe81](googleapis/mcp-toolbox@3debe81)) * **tools/dataplex-update-data-product-aspects:** Add dataplex-update-data-product-aspects tool ([#3607](googleapis/mcp-toolbox#3607)) ([f940937](googleapis/mcp-toolbox@f940937)) * Update draft specs to 2026-07-28 ([#3699](googleapis/mcp-toolbox#3699)) ([cf128ff](googleapis/mcp-toolbox@cf128ff)) ### Bug Fixes * Re-add name validation to tools name ([#3654](googleapis/mcp-toolbox#3654)) ([944f6ce](googleapis/mcp-toolbox@944f6ce)) * Re-add tool validation during startup ([#3705](googleapis/mcp-toolbox#3705)) ([25ce953](googleapis/mcp-toolbox@25ce953)) * **server:** Sort default toolset alphabetically for stable ordering ([#3539](googleapis/mcp-toolbox#3539)) ([e5da24c](googleapis/mcp-toolbox@e5da24c)) * **source/cloud-sql-admin:** Validate source instance for backup-run restore ([#3555](googleapis/mcp-toolbox#3555)) ([3ebe500](googleapis/mcp-toolbox@3ebe500)) * **source/dataplex:** Cleanup Dataplex Data Product resources that may have leaked due to previously aborted tests ([#3627](googleapis/mcp-toolbox#3627)) ([3fb5a3f](googleapis/mcp-toolbox@3fb5a3f)) * **source/http:** Block CGNAT 100.64.0.0/10 in default SSRF guard ([#3625](googleapis/mcp-toolbox#3625)) ([a0f36f4](googleapis/mcp-toolbox@a0f36f4)) * **tools/looker:** Enhance looker-run-dashboard to handle result maker structures and merge queries ([#3698](googleapis/mcp-toolbox#3698)) ([7666bc0](googleapis/mcp-toolbox@7666bc0)) * **tools/looker:** Log request/response traces at debug, not error ([#3552](googleapis/mcp-toolbox#3552)) ([c3ad445](googleapis/mcp-toolbox@c3ad445)) | **OS/Architecture** | **Description** | **SHA256 Hash** | | --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------- | | [linux/amd64](https://storage.googleapis.com/mcp-toolbox-for-databases/v1.8.0/linux/amd64/toolbox) ([Signature](https://storage.googleapis.com/mcp-toolbox-for-databases/v1.8.0/linux/amd64/toolbox.asc)) | For **Linux** systems running on **Intel/AMD 64-bit processors**. | 8c0ac3b9785d1424ad3d66799c26c5da695d73c74c45225a301689bf7d39d714 | | [darwin/arm64](https://storage.googleapis.com/mcp-toolbox-for-databases/v1.8.0/darwin/arm64/toolbox) | For **macOS** systems running on **Apple Silicon** (M1, M2, M3, etc.) processors. | c69e0b5e25bd5f5f3f3f4d7563d1d8ef0b8ecc922c6654d5db7641f4b0bc4b95 | | [darwin/amd64](https://storage.googleapis.com/mcp-toolbox-for-databases/v1.8.0/darwin/amd64/toolbox) | For **macOS** systems running on **Intel processors**. | cd69bb08c9e25c372e39cfd765e9166a7473f66ea15865870bd141014ddf4212 | | [windows/amd64](https://storage.googleapis.com/mcp-toolbox-for-databases/v1.8.0/windows/amd64/toolbox.exe) | For **Windows** systems running on **Intel/AMD 64-bit processors**. | f3cd288d184adae71c9cc2d627e7d4db1f0d5c8a00d5d4cab30a42acecb43082 | | [windows/arm64](https://storage.googleapis.com/mcp-toolbox-for-databases/v1.8.0/windows/arm64/toolbox.exe) | For **Windows** systems running on **ARM 64-bit processors**. | a18405b1a13656ca23c6667cc4a8a9b01ebd29b4f0057e74811f44c78bc8d266 |View the full release notes at https://github.com/googleapis/mcp-toolbox/releases/tag/v1.8.0">https://github.com/googleapis/mcp-toolbox/releases/tag/v1.8.0.
>
See merge request: Harmonybrew/homebrew-core!15323
Tool validation is added during server startup, except for during skills generation.