Skip to content

feat(bigquery): support custom oauth header name#2564

Merged
averikitsch merged 14 commits intogoogleapis:mainfrom
Genesis929:bq-dual-auth-header
Mar 10, 2026
Merged

feat(bigquery): support custom oauth header name#2564
averikitsch merged 14 commits intogoogleapis:mainfrom
Genesis929:bq-dual-auth-header

Conversation

@Genesis929
Copy link
Copy Markdown
Contributor

Adds support for custom OAuth header and updates documentation.

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
  • Make sure to open an issue as a
    bug/issue
    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>

Adds support for custom OAuth header and updates documentation.
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @Genesis929, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the BigQuery integration by providing more control over how OAuth access tokens are passed. Previously, tokens were always expected in the 'Authorization' header. With this change, users can now configure a custom header name, which is particularly useful for avoiding conflicts in complex deployment scenarios. The underlying BigQuery source and all dependent tools have been adapted to support this new configuration, ensuring seamless operation with the custom header.

Highlights

  • Custom OAuth Header Support: Introduced the ability to specify a custom HTTP header name for passing OAuth access tokens to BigQuery, moving beyond the default 'Authorization' header. This allows for greater flexibility in environments where the standard header might conflict with other services.
  • Configuration Update: The useClientOAuth configuration parameter for BigQuery sources has been updated from a boolean to a string. It can now accept 'true', 'false', or a custom header name (e.g., 'X-Looker-Auth').
  • Internal Logic Refinement: Modified the internal BigQuery source configuration and initialization logic to correctly parse and utilize the new string-based useClientOAuth parameter and the newly introduced AuthTokenHeaderName field.
  • Tool Integration: All BigQuery-related tools (e.g., bigqueryanalyzecontribution, bigqueryconversationalanalytics, bigqueryexecutesql) were updated to dynamically retrieve the OAuth token header name from the BigQuery source configuration, ensuring they respect the custom header setting.
  • Documentation Updates: Updated both the BIGQUERY_README.md and bigquery.md documentation files to reflect the new useClientOAuth parameter behavior and provide examples for specifying a custom OAuth header.
Changelog
  • docs/BIGQUERY_README.md
    • Updated the BIGQUERY_USE_CLIENT_OAUTH environment variable description to include support for custom header names.
  • docs/en/resources/sources/bigquery.md
    • Expanded the explanation for Authentication via User's OAuth Access Token to detail the use of custom header names.
    • Changed the useClientOAuth parameter type from bool to string in the configuration table.
  • internal/sources/bigquery/bigquery.go
    • Modified the UseClientOAuth field in the Config struct from bool to string.
    • Added a new AuthTokenHeaderName field to the Config and Source structs.
    • Updated validation logic for WriteModeProtected and ImpersonateServiceAccount to correctly interpret the string value of UseClientOAuth.
    • Adjusted the Initialize method to set the AuthTokenHeaderName based on the useClientOAuth configuration.
    • Introduced a GetAuthTokenHeaderName() method to the Source struct.
    • Refactored the UseClientAuthorization() method to parse the string value of UseClientOAuth.
    • Updated the lazyInitDataplexClient function to use the new UseClientAuthorization() method.
  • internal/sources/bigquery/bigquery_test.go
    • Updated existing test cases to reflect the UseClientOAuth field as a string.
    • Added a new test case to verify the parsing of a custom OAuth header name.
  • internal/tools/bigquery/bigqueryanalyzecontribution/bigqueryanalyzecontribution.go
    • Added GetAuthTokenHeaderName() to the compatibleSource interface.
    • Implemented GetAuthTokenHeaderName() to retrieve the custom header name from the source.
  • internal/tools/bigquery/bigqueryconversationalanalytics/bigqueryconversationalanalytics.go
    • Added GetAuthTokenHeaderName() to the compatibleSource interface.
    • Modified the Invoke method to use the dynamically retrieved AuthTokenHeaderName when constructing HTTP headers.
    • Implemented GetAuthTokenHeaderName() to retrieve the custom header name from the source.
  • internal/tools/bigquery/bigqueryexecutesql/bigqueryexecutesql.go
    • Added GetAuthTokenHeaderName() to the compatibleSource interface.
    • Implemented GetAuthTokenHeaderName() to retrieve the custom header name from the source.
  • internal/tools/bigquery/bigqueryforecast/bigqueryforecast.go
    • Added GetAuthTokenHeaderName() to the compatibleSource interface.
    • Implemented GetAuthTokenHeaderName() to retrieve the custom header name from the source.
  • internal/tools/bigquery/bigquerygetdatasetinfo/bigquerygetdatasetinfo.go
    • Added GetAuthTokenHeaderName() to the compatibleSource interface.
    • Implemented GetAuthTokenHeaderName() to retrieve the custom header name from the source.
  • internal/tools/bigquery/bigquerygettableinfo/bigquerygettableinfo.go
    • Added GetAuthTokenHeaderName() to the compatibleSource interface.
    • Implemented GetAuthTokenHeaderName() to retrieve the custom header name from the source.
  • internal/tools/bigquery/bigquerylistdatasetids/bigquerylistdatasetids.go
    • Added GetAuthTokenHeaderName() to the compatibleSource interface.
    • Implemented GetAuthTokenHeaderName() to retrieve the custom header name from the source.
  • internal/tools/bigquery/bigquerylisttableids/bigquerylisttableids.go
    • Added GetAuthTokenHeaderName() to the compatibleSource interface.
    • Implemented GetAuthTokenHeaderName() to retrieve the custom header name from the source.
  • internal/tools/bigquery/bigquerysearchcatalog/bigquerysearchcatalog.go
    • Added GetAuthTokenHeaderName() to the compatibleSource interface.
    • Implemented GetAuthTokenHeaderName() to retrieve the custom header name from the source.
  • internal/tools/bigquery/bigquerysql/bigquerysql.go
    • Added GetAuthTokenHeaderName() to the compatibleSource interface.
    • Implemented GetAuthTokenHeaderName() to retrieve the custom header name from the source.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds a useful feature to support custom OAuth header names for BigQuery authentication. The implementation correctly propagates this custom header to the tools that need it.

My main feedback is around the configuration API in internal/sources/bigquery/bigquery.go. The introduction of a new AuthTokenHeaderName field in the Config struct, while also overloading the UseClientOAuth field to hold the header name, creates a confusing and redundant API for users. I've suggested a refactoring to simplify this by using only the UseClientOAuth field for this configuration.

I've also provided a suggestion to clarify the documentation for the useClientOAuth parameter in docs/en/resources/sources/bigquery.md to make it clearer for users how to use this new functionality.

Comment thread docs/en/resources/sources/bigquery.md Outdated
Comment thread internal/sources/bigquery/bigquery.go Outdated
@Genesis929 Genesis929 marked this pull request as ready for review February 25, 2026 11:04
@Genesis929 Genesis929 requested review from a team as code owners February 25, 2026 11:04
Comment thread docs/en/resources/sources/bigquery.md Outdated
Comment thread internal/sources/bigquery/bigquery.go
@Genesis929 Genesis929 requested a review from averikitsch March 2, 2026 04:22
@averikitsch averikitsch added the release candidate Use label to signal PR should be included in the next release. label Mar 2, 2026
Comment thread docs/en/resources/sources/bigquery.md
Comment thread docs/en/resources/sources/looker.md
@Genesis929 Genesis929 force-pushed the bq-dual-auth-header branch from 3c0f3b9 to c2c95bf Compare March 5, 2026 00:41
@Genesis929 Genesis929 force-pushed the bq-dual-auth-header branch from c2c95bf to 87a8f30 Compare March 5, 2026 00:41
@Genesis929 Genesis929 requested a review from shobsi March 5, 2026 00:46
@averikitsch
Copy link
Copy Markdown
Contributor

/gcbrun

@averikitsch averikitsch enabled auto-merge (squash) March 5, 2026 22:28
@averikitsch
Copy link
Copy Markdown
Contributor

/gcbrun

@averikitsch averikitsch added the tests: run Label to trigger Github Action tests. label Mar 6, 2026
@github-actions github-actions Bot removed the tests: run Label to trigger Github Action tests. label Mar 6, 2026
@duwenxin99
Copy link
Copy Markdown
Contributor

/gcbrun

@averikitsch averikitsch merged commit d3baf77 into googleapis:main Mar 10, 2026
21 checks passed
github-actions Bot pushed a commit that referenced this pull request Mar 10, 2026
Adds support for custom OAuth header and updates documentation.

## 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/genai-toolbox/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> d3baf77
github-actions Bot pushed a commit to renovate-bot/googleapis-_-genai-toolbox that referenced this pull request Mar 10, 2026
…2564)

Adds support for custom OAuth header and updates documentation.

## 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/genai-toolbox/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> d3baf77
dumians pushed a commit to dumians/genai-toolbox that referenced this pull request Mar 12, 2026
Adds support for custom OAuth header and updates documentation.

## 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/genai-toolbox/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>
Yuan325 added a commit that referenced this pull request Mar 13, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.29.0](v0.28.0...v0.29.0)
(2026-03-13)


### ⚠ BREAKING CHANGES

* **source/alloydb:** restructure prebuilt toolsets
([#2639](#2639))
* **source/spanner:** restructure prebuilt toolsets
([#2641](#2641))
* **source/dataplex:** restructure prebuilt toolsets
([#2640](#2640))
* **source/oss-db:** restructure prebuilt toolsets
([#2638](#2638))
* **source/cloudsql:** restructure prebuilt toolsets
([#2635](#2635))
* **source/bigquery:** restructure prebuilt toolsets
([#2637](#2637))
* **source/firestore:** restructure prebuilt toolsets
([#2636](#2636))
* telemetry metrics updates as per semantic convention
([#2566](#2566))

### Features

* Add user agent to embeddings generation
([#2572](#2572))
([287251a](287251a))
* **skill:** Attach user agent metadata for generated skill
([#2697](#2697))
([9598a6a](9598a6a))
* **skills:** Add additional-notes flag to generate skills command
([#2696](#2696))
([73bf962](73bf962))
* **skill:** Update skill generation logic
([#2646](#2646))
([c233eee](c233eee))
* **source/alloydb:** Restructure prebuilt toolsets
([#2639](#2639))
([5f3f063](5f3f063))
* **source/bigquery:** Restructure prebuilt toolsets
([#2637](#2637))
([dc984ba](dc984ba))
* **sources/bigquery:** Support custom oauth header name
([#2564](#2564))
([d3baf77](d3baf77))
* **source/cloudsql:** Restructure prebuilt toolsets
([#2635](#2635))
([99613dc](99613dc))
* **source/dataplex:** Restructure prebuilt toolsets
([#2640](#2640))
([acb9a80](acb9a80))
* **source/firestore:** Restructure prebuilt toolsets
([#2636](#2636))
([22ab7b9](22ab7b9))
* **source/oss-db:** Restructure prebuilt toolsets
([#2638](#2638))
([5196c6a](5196c6a))
* **source/spanner:** Restructure prebuilt toolsets
([#2641](#2641))
([ea2b698](ea2b698))
* Telemetry metrics updates as per semantic convention
([#2566](#2566))
([131d764](131d764))
* **tools/mongodb:** Add tool annotations to MongoDB tools for improved
LLM understanding
([#2219](#2219))
([b7a5f80](b7a5f80))
* **tools/serverless-spark:** Add get_session_template tool
([#2308](#2308))
([a136e16](a136e16))
* **tools/serverless-spark:** Add list/get sessions tools
([#2576](#2576))
([a554298](a554298))


### Bug Fixes

* Improve list locks integration test for postgres
([#2279](#2279))
([d9ebe5d](d9ebe5d))
* **mcp:** Guard nil SSE session lookup and return 400 for missing
session
([#2681](#2681))
([f66189f](f66189f))
* **oracle:** Update oracle-execute-sql tool interface to match source
signature
([#2627](#2627))
([81699a3](81699a3))
* Return AllParams for GetParameter() for tools with
templateParameter([#2734](#2734))
([bfd7ba6](bfd7ba6))
* **server/mcp:** Scope defer span.End inside loop iteration
([#2558](#2558))
([c88a62d](c88a62d)),
closes [#2549](#2549)
* **skill:** Fix env variable propagation
([#2645](#2645))
([5271368](5271368))
* **sources/looker:** Looker and looker-dev prebuilt tools should share
one source definition.
([#2620](#2620))
([df7f2fd](df7f2fd))
* **telemetry:** Histogram buckets from OTel standard to MCP standards
([#2729](#2729))
([87cd4a0](87cd4a0))
* **ui:** Remove module from script
([#2703](#2703))
([6943ab6](6943ab6))
* Update toolset attributes naming
([#2554](#2554))
([3d6ae4e](3d6ae4e))

---
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>
github-actions Bot pushed a commit that referenced this pull request Mar 13, 2026
🤖 I have created a release *beep* *boop*
---

##
[0.29.0](v0.28.0...v0.29.0)
(2026-03-13)

### ⚠ BREAKING CHANGES

* **source/alloydb:** restructure prebuilt toolsets
([#2639](#2639))
* **source/spanner:** restructure prebuilt toolsets
([#2641](#2641))
* **source/dataplex:** restructure prebuilt toolsets
([#2640](#2640))
* **source/oss-db:** restructure prebuilt toolsets
([#2638](#2638))
* **source/cloudsql:** restructure prebuilt toolsets
([#2635](#2635))
* **source/bigquery:** restructure prebuilt toolsets
([#2637](#2637))
* **source/firestore:** restructure prebuilt toolsets
([#2636](#2636))
* telemetry metrics updates as per semantic convention
([#2566](#2566))

### Features

* Add user agent to embeddings generation
([#2572](#2572))
([287251a](287251a))
* **skill:** Attach user agent metadata for generated skill
([#2697](#2697))
([9598a6a](9598a6a))
* **skills:** Add additional-notes flag to generate skills command
([#2696](#2696))
([73bf962](73bf962))
* **skill:** Update skill generation logic
([#2646](#2646))
([c233eee](c233eee))
* **source/alloydb:** Restructure prebuilt toolsets
([#2639](#2639))
([5f3f063](5f3f063))
* **source/bigquery:** Restructure prebuilt toolsets
([#2637](#2637))
([dc984ba](dc984ba))
* **sources/bigquery:** Support custom oauth header name
([#2564](#2564))
([d3baf77](d3baf77))
* **source/cloudsql:** Restructure prebuilt toolsets
([#2635](#2635))
([99613dc](99613dc))
* **source/dataplex:** Restructure prebuilt toolsets
([#2640](#2640))
([acb9a80](acb9a80))
* **source/firestore:** Restructure prebuilt toolsets
([#2636](#2636))
([22ab7b9](22ab7b9))
* **source/oss-db:** Restructure prebuilt toolsets
([#2638](#2638))
([5196c6a](5196c6a))
* **source/spanner:** Restructure prebuilt toolsets
([#2641](#2641))
([ea2b698](ea2b698))
* Telemetry metrics updates as per semantic convention
([#2566](#2566))
([131d764](131d764))
* **tools/mongodb:** Add tool annotations to MongoDB tools for improved
LLM understanding
([#2219](#2219))
([b7a5f80](b7a5f80))
* **tools/serverless-spark:** Add get_session_template tool
([#2308](#2308))
([a136e16](a136e16))
* **tools/serverless-spark:** Add list/get sessions tools
([#2576](#2576))
([a554298](a554298))

### Bug Fixes

* Improve list locks integration test for postgres
([#2279](#2279))
([d9ebe5d](d9ebe5d))
* **mcp:** Guard nil SSE session lookup and return 400 for missing
session
([#2681](#2681))
([f66189f](f66189f))
* **oracle:** Update oracle-execute-sql tool interface to match source
signature
([#2627](#2627))
([81699a3](81699a3))
* Return AllParams for GetParameter() for tools with
templateParameter([#2734](#2734))
([bfd7ba6](bfd7ba6))
* **server/mcp:** Scope defer span.End inside loop iteration
([#2558](#2558))
([c88a62d](c88a62d)),
closes [#2549](#2549)
* **skill:** Fix env variable propagation
([#2645](#2645))
([5271368](5271368))
* **sources/looker:** Looker and looker-dev prebuilt tools should share
one source definition.
([#2620](#2620))
([df7f2fd](df7f2fd))
* **telemetry:** Histogram buckets from OTel standard to MCP standards
([#2729](#2729))
([87cd4a0](87cd4a0))
* **ui:** Remove module from script
([#2703](#2703))
([6943ab6](6943ab6))
* Update toolset attributes naming
([#2554](#2554))
([3d6ae4e](3d6ae4e))

---
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> 39832a0
github-actions Bot pushed a commit to renovate-bot/googleapis-_-genai-toolbox that referenced this pull request Mar 13, 2026
🤖 I have created a release *beep* *boop*
---

##
[0.29.0](googleapis/mcp-toolbox@v0.28.0...v0.29.0)
(2026-03-13)

### ⚠ BREAKING CHANGES

* **source/alloydb:** restructure prebuilt toolsets
([googleapis#2639](googleapis#2639))
* **source/spanner:** restructure prebuilt toolsets
([googleapis#2641](googleapis#2641))
* **source/dataplex:** restructure prebuilt toolsets
([googleapis#2640](googleapis#2640))
* **source/oss-db:** restructure prebuilt toolsets
([googleapis#2638](googleapis#2638))
* **source/cloudsql:** restructure prebuilt toolsets
([googleapis#2635](googleapis#2635))
* **source/bigquery:** restructure prebuilt toolsets
([googleapis#2637](googleapis#2637))
* **source/firestore:** restructure prebuilt toolsets
([googleapis#2636](googleapis#2636))
* telemetry metrics updates as per semantic convention
([googleapis#2566](googleapis#2566))

### Features

* Add user agent to embeddings generation
([googleapis#2572](googleapis#2572))
([287251a](googleapis@287251a))
* **skill:** Attach user agent metadata for generated skill
([googleapis#2697](googleapis#2697))
([9598a6a](googleapis@9598a6a))
* **skills:** Add additional-notes flag to generate skills command
([googleapis#2696](googleapis#2696))
([73bf962](googleapis@73bf962))
* **skill:** Update skill generation logic
([googleapis#2646](googleapis#2646))
([c233eee](googleapis@c233eee))
* **source/alloydb:** Restructure prebuilt toolsets
([googleapis#2639](googleapis#2639))
([5f3f063](googleapis@5f3f063))
* **source/bigquery:** Restructure prebuilt toolsets
([googleapis#2637](googleapis#2637))
([dc984ba](googleapis@dc984ba))
* **sources/bigquery:** Support custom oauth header name
([googleapis#2564](googleapis#2564))
([d3baf77](googleapis@d3baf77))
* **source/cloudsql:** Restructure prebuilt toolsets
([googleapis#2635](googleapis#2635))
([99613dc](googleapis@99613dc))
* **source/dataplex:** Restructure prebuilt toolsets
([googleapis#2640](googleapis#2640))
([acb9a80](googleapis@acb9a80))
* **source/firestore:** Restructure prebuilt toolsets
([googleapis#2636](googleapis#2636))
([22ab7b9](googleapis@22ab7b9))
* **source/oss-db:** Restructure prebuilt toolsets
([googleapis#2638](googleapis#2638))
([5196c6a](googleapis@5196c6a))
* **source/spanner:** Restructure prebuilt toolsets
([googleapis#2641](googleapis#2641))
([ea2b698](googleapis@ea2b698))
* Telemetry metrics updates as per semantic convention
([googleapis#2566](googleapis#2566))
([131d764](googleapis@131d764))
* **tools/mongodb:** Add tool annotations to MongoDB tools for improved
LLM understanding
([googleapis#2219](googleapis#2219))
([b7a5f80](googleapis@b7a5f80))
* **tools/serverless-spark:** Add get_session_template tool
([googleapis#2308](googleapis#2308))
([a136e16](googleapis@a136e16))
* **tools/serverless-spark:** Add list/get sessions tools
([googleapis#2576](googleapis#2576))
([a554298](googleapis@a554298))

### Bug Fixes

* Improve list locks integration test for postgres
([googleapis#2279](googleapis#2279))
([d9ebe5d](googleapis@d9ebe5d))
* **mcp:** Guard nil SSE session lookup and return 400 for missing
session
([googleapis#2681](googleapis#2681))
([f66189f](googleapis@f66189f))
* **oracle:** Update oracle-execute-sql tool interface to match source
signature
([googleapis#2627](googleapis#2627))
([81699a3](googleapis@81699a3))
* Return AllParams for GetParameter() for tools with
templateParameter([googleapis#2734](googleapis#2734))
([bfd7ba6](googleapis@bfd7ba6))
* **server/mcp:** Scope defer span.End inside loop iteration
([googleapis#2558](googleapis#2558))
([c88a62d](googleapis@c88a62d)),
closes [googleapis#2549](googleapis#2549)
* **skill:** Fix env variable propagation
([googleapis#2645](googleapis#2645))
([5271368](googleapis@5271368))
* **sources/looker:** Looker and looker-dev prebuilt tools should share
one source definition.
([googleapis#2620](googleapis#2620))
([df7f2fd](googleapis@df7f2fd))
* **telemetry:** Histogram buckets from OTel standard to MCP standards
([googleapis#2729](googleapis#2729))
([87cd4a0](googleapis@87cd4a0))
* **ui:** Remove module from script
([googleapis#2703](googleapis#2703))
([6943ab6](googleapis@6943ab6))
* Update toolset attributes naming
([googleapis#2554](googleapis#2554))
([3d6ae4e](googleapis@3d6ae4e))

---
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> 39832a0
github-actions Bot pushed a commit to Jaleel-zhu/genai-toolbox that referenced this pull request Mar 13, 2026
🤖 I have created a release *beep* *boop*
---

##
[0.29.0](googleapis/mcp-toolbox@v0.28.0...v0.29.0)
(2026-03-13)

### ⚠ BREAKING CHANGES

* **source/alloydb:** restructure prebuilt toolsets
([googleapis#2639](googleapis#2639))
* **source/spanner:** restructure prebuilt toolsets
([googleapis#2641](googleapis#2641))
* **source/dataplex:** restructure prebuilt toolsets
([googleapis#2640](googleapis#2640))
* **source/oss-db:** restructure prebuilt toolsets
([googleapis#2638](googleapis#2638))
* **source/cloudsql:** restructure prebuilt toolsets
([googleapis#2635](googleapis#2635))
* **source/bigquery:** restructure prebuilt toolsets
([googleapis#2637](googleapis#2637))
* **source/firestore:** restructure prebuilt toolsets
([googleapis#2636](googleapis#2636))
* telemetry metrics updates as per semantic convention
([googleapis#2566](googleapis#2566))

### Features

* Add user agent to embeddings generation
([googleapis#2572](googleapis#2572))
([287251a](googleapis@287251a))
* **skill:** Attach user agent metadata for generated skill
([googleapis#2697](googleapis#2697))
([9598a6a](googleapis@9598a6a))
* **skills:** Add additional-notes flag to generate skills command
([googleapis#2696](googleapis#2696))
([73bf962](googleapis@73bf962))
* **skill:** Update skill generation logic
([googleapis#2646](googleapis#2646))
([c233eee](googleapis@c233eee))
* **source/alloydb:** Restructure prebuilt toolsets
([googleapis#2639](googleapis#2639))
([5f3f063](googleapis@5f3f063))
* **source/bigquery:** Restructure prebuilt toolsets
([googleapis#2637](googleapis#2637))
([dc984ba](googleapis@dc984ba))
* **sources/bigquery:** Support custom oauth header name
([googleapis#2564](googleapis#2564))
([d3baf77](googleapis@d3baf77))
* **source/cloudsql:** Restructure prebuilt toolsets
([googleapis#2635](googleapis#2635))
([99613dc](googleapis@99613dc))
* **source/dataplex:** Restructure prebuilt toolsets
([googleapis#2640](googleapis#2640))
([acb9a80](googleapis@acb9a80))
* **source/firestore:** Restructure prebuilt toolsets
([googleapis#2636](googleapis#2636))
([22ab7b9](googleapis@22ab7b9))
* **source/oss-db:** Restructure prebuilt toolsets
([googleapis#2638](googleapis#2638))
([5196c6a](googleapis@5196c6a))
* **source/spanner:** Restructure prebuilt toolsets
([googleapis#2641](googleapis#2641))
([ea2b698](googleapis@ea2b698))
* Telemetry metrics updates as per semantic convention
([googleapis#2566](googleapis#2566))
([131d764](googleapis@131d764))
* **tools/mongodb:** Add tool annotations to MongoDB tools for improved
LLM understanding
([googleapis#2219](googleapis#2219))
([b7a5f80](googleapis@b7a5f80))
* **tools/serverless-spark:** Add get_session_template tool
([googleapis#2308](googleapis#2308))
([a136e16](googleapis@a136e16))
* **tools/serverless-spark:** Add list/get sessions tools
([googleapis#2576](googleapis#2576))
([a554298](googleapis@a554298))

### Bug Fixes

* Improve list locks integration test for postgres
([googleapis#2279](googleapis#2279))
([d9ebe5d](googleapis@d9ebe5d))
* **mcp:** Guard nil SSE session lookup and return 400 for missing
session
([googleapis#2681](googleapis#2681))
([f66189f](googleapis@f66189f))
* **oracle:** Update oracle-execute-sql tool interface to match source
signature
([googleapis#2627](googleapis#2627))
([81699a3](googleapis@81699a3))
* Return AllParams for GetParameter() for tools with
templateParameter([googleapis#2734](googleapis#2734))
([bfd7ba6](googleapis@bfd7ba6))
* **server/mcp:** Scope defer span.End inside loop iteration
([googleapis#2558](googleapis#2558))
([c88a62d](googleapis@c88a62d)),
closes [googleapis#2549](googleapis#2549)
* **skill:** Fix env variable propagation
([googleapis#2645](googleapis#2645))
([5271368](googleapis@5271368))
* **sources/looker:** Looker and looker-dev prebuilt tools should share
one source definition.
([googleapis#2620](googleapis#2620))
([df7f2fd](googleapis@df7f2fd))
* **telemetry:** Histogram buckets from OTel standard to MCP standards
([googleapis#2729](googleapis#2729))
([87cd4a0](googleapis@87cd4a0))
* **ui:** Remove module from script
([googleapis#2703](googleapis#2703))
([6943ab6](googleapis@6943ab6))
* Update toolset attributes naming
([googleapis#2554](googleapis#2554))
([3d6ae4e](googleapis@3d6ae4e))

---
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> 39832a0
NightStack15 added a commit to NightStack15/googleapis-_-genai-toolbox that referenced this pull request Mar 20, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.29.0](googleapis/mcp-toolbox@v0.28.0...v0.29.0)
(2026-03-13)


### ⚠ BREAKING CHANGES

* **source/alloydb:** restructure prebuilt toolsets
([#2639](googleapis/mcp-toolbox#2639))
* **source/spanner:** restructure prebuilt toolsets
([#2641](googleapis/mcp-toolbox#2641))
* **source/dataplex:** restructure prebuilt toolsets
([#2640](googleapis/mcp-toolbox#2640))
* **source/oss-db:** restructure prebuilt toolsets
([#2638](googleapis/mcp-toolbox#2638))
* **source/cloudsql:** restructure prebuilt toolsets
([#2635](googleapis/mcp-toolbox#2635))
* **source/bigquery:** restructure prebuilt toolsets
([#2637](googleapis/mcp-toolbox#2637))
* **source/firestore:** restructure prebuilt toolsets
([#2636](googleapis/mcp-toolbox#2636))
* telemetry metrics updates as per semantic convention
([#2566](googleapis/mcp-toolbox#2566))

### Features

* Add user agent to embeddings generation
([#2572](googleapis/mcp-toolbox#2572))
([287251a](googleapis/mcp-toolbox@287251a))
* **skill:** Attach user agent metadata for generated skill
([#2697](googleapis/mcp-toolbox#2697))
([9598a6a](googleapis/mcp-toolbox@9598a6a))
* **skills:** Add additional-notes flag to generate skills command
([#2696](googleapis/mcp-toolbox#2696))
([73bf962](googleapis/mcp-toolbox@73bf962))
* **skill:** Update skill generation logic
([#2646](googleapis/mcp-toolbox#2646))
([c233eee](googleapis/mcp-toolbox@c233eee))
* **source/alloydb:** Restructure prebuilt toolsets
([#2639](googleapis/mcp-toolbox#2639))
([5f3f063](googleapis/mcp-toolbox@5f3f063))
* **source/bigquery:** Restructure prebuilt toolsets
([#2637](googleapis/mcp-toolbox#2637))
([dc984ba](googleapis/mcp-toolbox@dc984ba))
* **sources/bigquery:** Support custom oauth header name
([#2564](googleapis/mcp-toolbox#2564))
([d3baf77](googleapis/mcp-toolbox@d3baf77))
* **source/cloudsql:** Restructure prebuilt toolsets
([#2635](googleapis/mcp-toolbox#2635))
([99613dc](googleapis/mcp-toolbox@99613dc))
* **source/dataplex:** Restructure prebuilt toolsets
([#2640](googleapis/mcp-toolbox#2640))
([acb9a80](googleapis/mcp-toolbox@acb9a80))
* **source/firestore:** Restructure prebuilt toolsets
([#2636](googleapis/mcp-toolbox#2636))
([22ab7b9](googleapis/mcp-toolbox@22ab7b9))
* **source/oss-db:** Restructure prebuilt toolsets
([#2638](googleapis/mcp-toolbox#2638))
([5196c6a](googleapis/mcp-toolbox@5196c6a))
* **source/spanner:** Restructure prebuilt toolsets
([#2641](googleapis/mcp-toolbox#2641))
([ea2b698](googleapis/mcp-toolbox@ea2b698))
* Telemetry metrics updates as per semantic convention
([#2566](googleapis/mcp-toolbox#2566))
([131d764](googleapis/mcp-toolbox@131d764))
* **tools/mongodb:** Add tool annotations to MongoDB tools for improved
LLM understanding
([#2219](googleapis/mcp-toolbox#2219))
([b7a5f80](googleapis/mcp-toolbox@b7a5f80))
* **tools/serverless-spark:** Add get_session_template tool
([#2308](googleapis/mcp-toolbox#2308))
([a136e16](googleapis/mcp-toolbox@a136e16))
* **tools/serverless-spark:** Add list/get sessions tools
([#2576](googleapis/mcp-toolbox#2576))
([a554298](googleapis/mcp-toolbox@a554298))


### Bug Fixes

* Improve list locks integration test for postgres
([#2279](googleapis/mcp-toolbox#2279))
([d9ebe5d](googleapis/mcp-toolbox@d9ebe5d))
* **mcp:** Guard nil SSE session lookup and return 400 for missing
session
([#2681](googleapis/mcp-toolbox#2681))
([f66189f](googleapis/mcp-toolbox@f66189f))
* **oracle:** Update oracle-execute-sql tool interface to match source
signature
([#2627](googleapis/mcp-toolbox#2627))
([81699a3](googleapis/mcp-toolbox@81699a3))
* Return AllParams for GetParameter() for tools with
templateParameter([#2734](googleapis/mcp-toolbox#2734))
([bfd7ba6](googleapis/mcp-toolbox@bfd7ba6))
* **server/mcp:** Scope defer span.End inside loop iteration
([#2558](googleapis/mcp-toolbox#2558))
([c88a62d](googleapis/mcp-toolbox@c88a62d)),
closes [#2549](googleapis/mcp-toolbox#2549)
* **skill:** Fix env variable propagation
([#2645](googleapis/mcp-toolbox#2645))
([5271368](googleapis/mcp-toolbox@5271368))
* **sources/looker:** Looker and looker-dev prebuilt tools should share
one source definition.
([#2620](googleapis/mcp-toolbox#2620))
([df7f2fd](googleapis/mcp-toolbox@df7f2fd))
* **telemetry:** Histogram buckets from OTel standard to MCP standards
([#2729](googleapis/mcp-toolbox#2729))
([87cd4a0](googleapis/mcp-toolbox@87cd4a0))
* **ui:** Remove module from script
([#2703](googleapis/mcp-toolbox#2703))
([6943ab6](googleapis/mcp-toolbox@6943ab6))
* Update toolset attributes naming
([#2554](googleapis/mcp-toolbox#2554))
([3d6ae4e](googleapis/mcp-toolbox@3d6ae4e))

---
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>
NirajNandre pushed a commit to NirajNandre/genai-toolbox-fork that referenced this pull request Mar 24, 2026
Adds support for custom OAuth header and updates documentation.

## 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/genai-toolbox/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>
NirajNandre pushed a commit to NirajNandre/genai-toolbox-fork that referenced this pull request Mar 24, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.29.0](googleapis/mcp-toolbox@v0.28.0...v0.29.0)
(2026-03-13)


### ⚠ BREAKING CHANGES

* **source/alloydb:** restructure prebuilt toolsets
([googleapis#2639](googleapis#2639))
* **source/spanner:** restructure prebuilt toolsets
([googleapis#2641](googleapis#2641))
* **source/dataplex:** restructure prebuilt toolsets
([googleapis#2640](googleapis#2640))
* **source/oss-db:** restructure prebuilt toolsets
([googleapis#2638](googleapis#2638))
* **source/cloudsql:** restructure prebuilt toolsets
([googleapis#2635](googleapis#2635))
* **source/bigquery:** restructure prebuilt toolsets
([googleapis#2637](googleapis#2637))
* **source/firestore:** restructure prebuilt toolsets
([googleapis#2636](googleapis#2636))
* telemetry metrics updates as per semantic convention
([googleapis#2566](googleapis#2566))

### Features

* Add user agent to embeddings generation
([googleapis#2572](googleapis#2572))
([287251a](googleapis@287251a))
* **skill:** Attach user agent metadata for generated skill
([googleapis#2697](googleapis#2697))
([9598a6a](googleapis@9598a6a))
* **skills:** Add additional-notes flag to generate skills command
([googleapis#2696](googleapis#2696))
([73bf962](googleapis@73bf962))
* **skill:** Update skill generation logic
([googleapis#2646](googleapis#2646))
([c233eee](googleapis@c233eee))
* **source/alloydb:** Restructure prebuilt toolsets
([googleapis#2639](googleapis#2639))
([5f3f063](googleapis@5f3f063))
* **source/bigquery:** Restructure prebuilt toolsets
([googleapis#2637](googleapis#2637))
([dc984ba](googleapis@dc984ba))
* **sources/bigquery:** Support custom oauth header name
([googleapis#2564](googleapis#2564))
([d3baf77](googleapis@d3baf77))
* **source/cloudsql:** Restructure prebuilt toolsets
([googleapis#2635](googleapis#2635))
([99613dc](googleapis@99613dc))
* **source/dataplex:** Restructure prebuilt toolsets
([googleapis#2640](googleapis#2640))
([acb9a80](googleapis@acb9a80))
* **source/firestore:** Restructure prebuilt toolsets
([googleapis#2636](googleapis#2636))
([22ab7b9](googleapis@22ab7b9))
* **source/oss-db:** Restructure prebuilt toolsets
([googleapis#2638](googleapis#2638))
([5196c6a](googleapis@5196c6a))
* **source/spanner:** Restructure prebuilt toolsets
([googleapis#2641](googleapis#2641))
([ea2b698](googleapis@ea2b698))
* Telemetry metrics updates as per semantic convention
([googleapis#2566](googleapis#2566))
([131d764](googleapis@131d764))
* **tools/mongodb:** Add tool annotations to MongoDB tools for improved
LLM understanding
([googleapis#2219](googleapis#2219))
([b7a5f80](googleapis@b7a5f80))
* **tools/serverless-spark:** Add get_session_template tool
([googleapis#2308](googleapis#2308))
([a136e16](googleapis@a136e16))
* **tools/serverless-spark:** Add list/get sessions tools
([googleapis#2576](googleapis#2576))
([a554298](googleapis@a554298))


### Bug Fixes

* Improve list locks integration test for postgres
([googleapis#2279](googleapis#2279))
([d9ebe5d](googleapis@d9ebe5d))
* **mcp:** Guard nil SSE session lookup and return 400 for missing
session
([googleapis#2681](googleapis#2681))
([f66189f](googleapis@f66189f))
* **oracle:** Update oracle-execute-sql tool interface to match source
signature
([googleapis#2627](googleapis#2627))
([81699a3](googleapis@81699a3))
* Return AllParams for GetParameter() for tools with
templateParameter([googleapis#2734](googleapis#2734))
([bfd7ba6](googleapis@bfd7ba6))
* **server/mcp:** Scope defer span.End inside loop iteration
([googleapis#2558](googleapis#2558))
([c88a62d](googleapis@c88a62d)),
closes [googleapis#2549](googleapis#2549)
* **skill:** Fix env variable propagation
([googleapis#2645](googleapis#2645))
([5271368](googleapis@5271368))
* **sources/looker:** Looker and looker-dev prebuilt tools should share
one source definition.
([googleapis#2620](googleapis#2620))
([df7f2fd](googleapis@df7f2fd))
* **telemetry:** Histogram buckets from OTel standard to MCP standards
([googleapis#2729](googleapis#2729))
([87cd4a0](googleapis@87cd4a0))
* **ui:** Remove module from script
([googleapis#2703](googleapis#2703))
([6943ab6](googleapis@6943ab6))
* Update toolset attributes naming
([googleapis#2554](googleapis#2554))
([3d6ae4e](googleapis@3d6ae4e))

---
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release candidate Use label to signal PR should be included in the next release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants