Skip to content

[pull] main from googleapis:main#79

Merged
pull[bot] merged 2 commits intopepe57:mainfrom
googleapis:main
Apr 6, 2026
Merged

[pull] main from googleapis:main#79
pull[bot] merged 2 commits intopepe57:mainfrom
googleapis:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull bot commented Apr 6, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

pmishchenko-ua and others added 2 commits April 6, 2026 15:08
…#2555)

## Description

Similarly to MySQL and Postgres, we are adding `connectionParams` field
to the SingleStore config.
## 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:

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

🛠️ Fixes #<issue_number_goes_here>

Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
## Summary

Adds MCP tool annotations (`readOnlyHint`, `destructiveHint`) to all
remaining tools (excluding Looker and MongoDB which already have
annotations from #2219).

## Changes

- Added `Annotations *tools.ToolAnnotations` field to Config structs for
YAML configuration override
- Added `readOnlyHint: true` to 92 read-only tools (queries, fetches,
lists, gets, searches)
- Added `destructiveHint: true` to 50 tools that modify data (execute
SQL, create, delete, update)
- Used `GetAnnotationsOrDefault` pattern for user-overridable defaults
- Applied to 156 tool files across all database and service tools

## Why This Matters

Tool annotations provide semantic metadata that helps MCP clients:
- Auto-approve safe (read-only) operations without user confirmation
- Show appropriate warnings for destructive operations
- Cache results of read-only tools more aggressively

## Classification Approach

- **Read-only**: Tools that only query/fetch data (list, get, search,
schema, stats)
- **Destructive**: Tools that can modify data (execute SQL, create,
update, delete)
- General SQL execution tools marked destructive (can run arbitrary DML)
- Wait/poll and compile/validate tools are read-only

## Testing

- [x] `go build ./...` passes
- [x] `go test ./internal/tools/...` - all tests pass
- [x] `golangci-lint run --fix` - 0 issues
- [x] Annotation values match actual tool behavior

## CLA Fix

This push resolves the CLA check failure. Commit now authored with
correct GitHub noreply email.

Co-authored-by: bryankthompson <199543909+bryankthompson@users.noreply.github.com>
Co-authored-by: Wenxin Du <117315983+duwenxin99@users.noreply.github.com>
@pull pull bot locked and limited conversation to collaborators Apr 6, 2026
@pull pull bot added the ⤵️ pull label Apr 6, 2026
@pull pull bot merged commit ea09db9 into pepe57:main Apr 6, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants