feat(auth): add Protected Resource Metadata endpoint#2698
Conversation
Summary of ChangesHello, 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 introduces a new generic OpenID Connect (OIDC) authentication service, enabling the system to integrate with any OIDC-compliant identity provider. It adds the capability to configure and validate JWT tokens based on audience and required scopes. Furthermore, it implements a Protected Resource Metadata (PRM) endpoint for the Microservice Communication Protocol (MCP), allowing external clients to discover the authorization server details for OIDC-enabled services. Highlights
Changelog
Ignored Files
Activity
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this comment.
Code Review
This pull request introduces a new endpoint for MCP Protected Resource Metadata (PRM), as defined in RFC 8615. This is enabled via a new --enable-mcp-auth command-line flag. The new endpoint, located at /.well-known/oauth-protected-resource, advertises the server's OAuth capabilities, specifically for generic OIDC providers. The implementation correctly handles JSON formatting for empty lists. However, there is an inaccuracy in how the authorization server metadata is populated, which I've commented on.
1 similar comment
1 similar comment
3590366 to
cbea89a
Compare
67d2d2b to
f0b56d7
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request implements support for Model Context Protocol (MCP) Authorization. It adds a new --toolbox-url command-line flag and TOOLBOX_URL environment variable, which are used to populate the resource field in the Protected Resource Metadata (PRM). The server now includes a validation step to ensure the Toolbox URL is provided when MCP Auth is enabled and exposes a new /.well-known/oauth-protected-resource endpoint to serve the PRM. The PR also includes detailed documentation for MCP Auth configuration and a new test suite for the PRM endpoint. I have no feedback to provide.
|
🧨 Preview deployments removed. Cloudflare Pages environments for |
|
🧨 Preview deployments removed. |
## 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> --------- Co-authored-by: Averi Kitsch <akitsch@google.com> b53dcf2
## 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> --------- Co-authored-by: Averi Kitsch <akitsch@google.com> b53dcf2
…pis#2698) ## 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> --------- Co-authored-by: Averi Kitsch <akitsch@google.com> b53dcf2
…pis#2698) ## 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> --------- Co-authored-by: Averi Kitsch <akitsch@google.com> b53dcf2
🤖 I have created a release *beep* *boop* --- ## [0.31.0](v0.30.0...v0.31.0) (2026-03-26) ### ⚠ BREAKING CHANGES * release upgraded docsite ([#2831](#2831)) * **http:** sanitize non-2xx error output ([#2654](#2654)) * add a new `enable-api` flag ([#2846](#2846)) * remove deprecations and update tools-file flag ([#2806](#2806)) ### Features * Add a new `enable-api` flag ([#2846](#2846)) ([7a070da](7a070da)) * **auth:** Add generic `authService` type for MCP ([#2619](#2619)) ([f6678f8](f6678f8)) * **auth:** Add Protected Resource Metadata endpoint ([#2698](#2698)) ([b53dcf2](b53dcf2)) * **auth:** Support manual PRM override ([#2717](#2717)) ([283e4e3](283e4e3)) * **dataplex:** Add support for lookup context tool. ([#2744](#2744)) ([facb69d](facb69d)) * Remove deprecations and update tools-file flag ([#2806](#2806)) ([ab64c95](ab64c95)) ### Bug Fixes * **ci:** Remove search index generation from preview deployment workflow ([#2859](#2859)) ([f8891b8](f8891b8)) * **docs:** Skip empty folders in pagination & reduce PR comment noise ([#2853](#2853)) ([9ebd93a](9ebd93a)) * **http:** Sanitize non-2xx error output ([#2654](#2654)) ([5bef954](5bef954)) * **skills:** Fix integer parameter parsing through agent skills ([#2847](#2847)) ([4564efe](4564efe)) ### Documentation * Release upgraded docsite ([#2831](#2831)) ([5b25ce0](5b25ce0)) --- 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* --- ## [0.31.0](v0.30.0...v0.31.0) (2026-03-26) ### ⚠ BREAKING CHANGES * release upgraded docsite ([#2831](#2831)) * **http:** sanitize non-2xx error output ([#2654](#2654)) * add a new `enable-api` flag ([#2846](#2846)) * remove deprecations and update tools-file flag ([#2806](#2806)) ### Features * Add a new `enable-api` flag ([#2846](#2846)) ([7a070da](7a070da)) * **auth:** Add generic `authService` type for MCP ([#2619](#2619)) ([f6678f8](f6678f8)) * **auth:** Add Protected Resource Metadata endpoint ([#2698](#2698)) ([b53dcf2](b53dcf2)) * **auth:** Support manual PRM override ([#2717](#2717)) ([283e4e3](283e4e3)) * **dataplex:** Add support for lookup context tool. ([#2744](#2744)) ([facb69d](facb69d)) * Remove deprecations and update tools-file flag ([#2806](#2806)) ([ab64c95](ab64c95)) ### Bug Fixes * **ci:** Remove search index generation from preview deployment workflow ([#2859](#2859)) ([f8891b8](f8891b8)) * **docs:** Skip empty folders in pagination & reduce PR comment noise ([#2853](#2853)) ([9ebd93a](9ebd93a)) * **http:** Sanitize non-2xx error output ([#2654](#2654)) ([5bef954](5bef954)) * **skills:** Fix integer parameter parsing through agent skills ([#2847](#2847)) ([4564efe](4564efe)) ### Documentation * Release upgraded docsite ([#2831](#2831)) ([5b25ce0](5b25ce0)) --- 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> c6b811c
🤖 I have created a release *beep* *boop* --- ## [0.31.0](v0.30.0...v0.31.0) (2026-03-26) ### ⚠ BREAKING CHANGES * release upgraded docsite ([#2831](#2831)) * **http:** sanitize non-2xx error output ([#2654](#2654)) * add a new `enable-api` flag ([#2846](#2846)) * remove deprecations and update tools-file flag ([#2806](#2806)) ### Features * Add a new `enable-api` flag ([#2846](#2846)) ([7a070da](7a070da)) * **auth:** Add generic `authService` type for MCP ([#2619](#2619)) ([f6678f8](f6678f8)) * **auth:** Add Protected Resource Metadata endpoint ([#2698](#2698)) ([b53dcf2](b53dcf2)) * **auth:** Support manual PRM override ([#2717](#2717)) ([283e4e3](283e4e3)) * **dataplex:** Add support for lookup context tool. ([#2744](#2744)) ([facb69d](facb69d)) * Remove deprecations and update tools-file flag ([#2806](#2806)) ([ab64c95](ab64c95)) ### Bug Fixes * **ci:** Remove search index generation from preview deployment workflow ([#2859](#2859)) ([f8891b8](f8891b8)) * **docs:** Skip empty folders in pagination & reduce PR comment noise ([#2853](#2853)) ([9ebd93a](9ebd93a)) * **http:** Sanitize non-2xx error output ([#2654](#2654)) ([5bef954](5bef954)) * **skills:** Fix integer parameter parsing through agent skills ([#2847](#2847)) ([4564efe](4564efe)) ### Documentation * Release upgraded docsite ([#2831](#2831)) ([5b25ce0](5b25ce0)) --- 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> c6b811c
🤖 I have created a release *beep* *boop* --- ## [0.31.0](googleapis/genai-toolbox@v0.30.0...v0.31.0) (2026-03-26) ### ⚠ BREAKING CHANGES * release upgraded docsite ([googleapis#2831](googleapis#2831)) * **http:** sanitize non-2xx error output ([googleapis#2654](googleapis#2654)) * add a new `enable-api` flag ([googleapis#2846](googleapis#2846)) * remove deprecations and update tools-file flag ([googleapis#2806](googleapis#2806)) ### Features * Add a new `enable-api` flag ([googleapis#2846](googleapis#2846)) ([7a070da](googleapis@7a070da)) * **auth:** Add generic `authService` type for MCP ([googleapis#2619](googleapis#2619)) ([f6678f8](googleapis@f6678f8)) * **auth:** Add Protected Resource Metadata endpoint ([googleapis#2698](googleapis#2698)) ([b53dcf2](googleapis@b53dcf2)) * **auth:** Support manual PRM override ([googleapis#2717](googleapis#2717)) ([283e4e3](googleapis@283e4e3)) * **dataplex:** Add support for lookup context tool. ([googleapis#2744](googleapis#2744)) ([facb69d](googleapis@facb69d)) * Remove deprecations and update tools-file flag ([googleapis#2806](googleapis#2806)) ([ab64c95](googleapis@ab64c95)) ### Bug Fixes * **ci:** Remove search index generation from preview deployment workflow ([googleapis#2859](googleapis#2859)) ([f8891b8](googleapis@f8891b8)) * **docs:** Skip empty folders in pagination & reduce PR comment noise ([googleapis#2853](googleapis#2853)) ([9ebd93a](googleapis@9ebd93a)) * **http:** Sanitize non-2xx error output ([googleapis#2654](googleapis#2654)) ([5bef954](googleapis@5bef954)) * **skills:** Fix integer parameter parsing through agent skills ([googleapis#2847](googleapis#2847)) ([4564efe](googleapis@4564efe)) ### Documentation * Release upgraded docsite ([googleapis#2831](googleapis#2831)) ([5b25ce0](googleapis@5b25ce0)) --- 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> c6b811c
🤖 I have created a release *beep* *boop* --- ## [0.31.0](googleapis/genai-toolbox@v0.30.0...v0.31.0) (2026-03-26) ### ⚠ BREAKING CHANGES * release upgraded docsite ([googleapis#2831](googleapis#2831)) * **http:** sanitize non-2xx error output ([googleapis#2654](googleapis#2654)) * add a new `enable-api` flag ([googleapis#2846](googleapis#2846)) * remove deprecations and update tools-file flag ([googleapis#2806](googleapis#2806)) ### Features * Add a new `enable-api` flag ([googleapis#2846](googleapis#2846)) ([7a070da](googleapis@7a070da)) * **auth:** Add generic `authService` type for MCP ([googleapis#2619](googleapis#2619)) ([f6678f8](googleapis@f6678f8)) * **auth:** Add Protected Resource Metadata endpoint ([googleapis#2698](googleapis#2698)) ([b53dcf2](googleapis@b53dcf2)) * **auth:** Support manual PRM override ([googleapis#2717](googleapis#2717)) ([283e4e3](googleapis@283e4e3)) * **dataplex:** Add support for lookup context tool. ([googleapis#2744](googleapis#2744)) ([facb69d](googleapis@facb69d)) * Remove deprecations and update tools-file flag ([googleapis#2806](googleapis#2806)) ([ab64c95](googleapis@ab64c95)) ### Bug Fixes * **ci:** Remove search index generation from preview deployment workflow ([googleapis#2859](googleapis#2859)) ([f8891b8](googleapis@f8891b8)) * **docs:** Skip empty folders in pagination & reduce PR comment noise ([googleapis#2853](googleapis#2853)) ([9ebd93a](googleapis@9ebd93a)) * **http:** Sanitize non-2xx error output ([googleapis#2654](googleapis#2654)) ([5bef954](googleapis@5bef954)) * **skills:** Fix integer parameter parsing through agent skills ([googleapis#2847](googleapis#2847)) ([4564efe](googleapis@4564efe)) ### Documentation * Release upgraded docsite ([googleapis#2831](googleapis#2831)) ([5b25ce0](googleapis@5b25ce0)) --- 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> c6b811c
🤖 I have created a release *beep* *boop* --- ## [0.31.0](googleapis/genai-toolbox@v0.30.0...v0.31.0) (2026-03-26) ### ⚠ BREAKING CHANGES * release upgraded docsite ([googleapis#2831](googleapis#2831)) * **http:** sanitize non-2xx error output ([googleapis#2654](googleapis#2654)) * add a new `enable-api` flag ([googleapis#2846](googleapis#2846)) * remove deprecations and update tools-file flag ([googleapis#2806](googleapis#2806)) ### Features * Add a new `enable-api` flag ([googleapis#2846](googleapis#2846)) ([7a070da](googleapis@7a070da)) * **auth:** Add generic `authService` type for MCP ([googleapis#2619](googleapis#2619)) ([f6678f8](googleapis@f6678f8)) * **auth:** Add Protected Resource Metadata endpoint ([googleapis#2698](googleapis#2698)) ([b53dcf2](googleapis@b53dcf2)) * **auth:** Support manual PRM override ([googleapis#2717](googleapis#2717)) ([283e4e3](googleapis@283e4e3)) * **dataplex:** Add support for lookup context tool. ([googleapis#2744](googleapis#2744)) ([facb69d](googleapis@facb69d)) * Remove deprecations and update tools-file flag ([googleapis#2806](googleapis#2806)) ([ab64c95](googleapis@ab64c95)) ### Bug Fixes * **ci:** Remove search index generation from preview deployment workflow ([googleapis#2859](googleapis#2859)) ([f8891b8](googleapis@f8891b8)) * **docs:** Skip empty folders in pagination & reduce PR comment noise ([googleapis#2853](googleapis#2853)) ([9ebd93a](googleapis@9ebd93a)) * **http:** Sanitize non-2xx error output ([googleapis#2654](googleapis#2654)) ([5bef954](googleapis@5bef954)) * **skills:** Fix integer parameter parsing through agent skills ([googleapis#2847](googleapis#2847)) ([4564efe](googleapis@4564efe)) ### Documentation * Release upgraded docsite ([googleapis#2831](googleapis#2831)) ([5b25ce0](googleapis@5b25ce0)) --- 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> c6b811c
🤖 I have created a release *beep* *boop* --- ## [0.31.0](googleapis/genai-toolbox@v0.30.0...v0.31.0) (2026-03-26) ### ⚠ BREAKING CHANGES * release upgraded docsite ([googleapis#2831](googleapis#2831)) * **http:** sanitize non-2xx error output ([googleapis#2654](googleapis#2654)) * add a new `enable-api` flag ([googleapis#2846](googleapis#2846)) * remove deprecations and update tools-file flag ([googleapis#2806](googleapis#2806)) ### Features * Add a new `enable-api` flag ([googleapis#2846](googleapis#2846)) ([7a070da](googleapis@7a070da)) * **auth:** Add generic `authService` type for MCP ([googleapis#2619](googleapis#2619)) ([f6678f8](googleapis@f6678f8)) * **auth:** Add Protected Resource Metadata endpoint ([googleapis#2698](googleapis#2698)) ([b53dcf2](googleapis@b53dcf2)) * **auth:** Support manual PRM override ([googleapis#2717](googleapis#2717)) ([283e4e3](googleapis@283e4e3)) * **dataplex:** Add support for lookup context tool. ([googleapis#2744](googleapis#2744)) ([facb69d](googleapis@facb69d)) * Remove deprecations and update tools-file flag ([googleapis#2806](googleapis#2806)) ([ab64c95](googleapis@ab64c95)) ### Bug Fixes * **ci:** Remove search index generation from preview deployment workflow ([googleapis#2859](googleapis#2859)) ([f8891b8](googleapis@f8891b8)) * **docs:** Skip empty folders in pagination & reduce PR comment noise ([googleapis#2853](googleapis#2853)) ([9ebd93a](googleapis@9ebd93a)) * **http:** Sanitize non-2xx error output ([googleapis#2654](googleapis#2654)) ([5bef954](googleapis@5bef954)) * **skills:** Fix integer parameter parsing through agent skills ([googleapis#2847](googleapis#2847)) ([4564efe](googleapis@4564efe)) ### Documentation * Release upgraded docsite ([googleapis#2831](googleapis#2831)) ([5b25ce0](googleapis@5b25ce0)) --- 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> c6b811c
🤖 I have created a release *beep* *boop* --- ## [0.31.0](googleapis/genai-toolbox@v0.30.0...v0.31.0) (2026-03-26) ### ⚠ BREAKING CHANGES * release upgraded docsite ([googleapis#2831](googleapis#2831)) * **http:** sanitize non-2xx error output ([googleapis#2654](googleapis#2654)) * add a new `enable-api` flag ([googleapis#2846](googleapis#2846)) * remove deprecations and update tools-file flag ([googleapis#2806](googleapis#2806)) ### Features * Add a new `enable-api` flag ([googleapis#2846](googleapis#2846)) ([7a070da](googleapis@7a070da)) * **auth:** Add generic `authService` type for MCP ([googleapis#2619](googleapis#2619)) ([f6678f8](googleapis@f6678f8)) * **auth:** Add Protected Resource Metadata endpoint ([googleapis#2698](googleapis#2698)) ([b53dcf2](googleapis@b53dcf2)) * **auth:** Support manual PRM override ([googleapis#2717](googleapis#2717)) ([283e4e3](googleapis@283e4e3)) * **dataplex:** Add support for lookup context tool. ([googleapis#2744](googleapis#2744)) ([facb69d](googleapis@facb69d)) * Remove deprecations and update tools-file flag ([googleapis#2806](googleapis#2806)) ([ab64c95](googleapis@ab64c95)) ### Bug Fixes * **ci:** Remove search index generation from preview deployment workflow ([googleapis#2859](googleapis#2859)) ([f8891b8](googleapis@f8891b8)) * **docs:** Skip empty folders in pagination & reduce PR comment noise ([googleapis#2853](googleapis#2853)) ([9ebd93a](googleapis@9ebd93a)) * **http:** Sanitize non-2xx error output ([googleapis#2654](googleapis#2654)) ([5bef954](googleapis@5bef954)) * **skills:** Fix integer parameter parsing through agent skills ([googleapis#2847](googleapis#2847)) ([4564efe](googleapis@4564efe)) ### Documentation * Release upgraded docsite ([googleapis#2831](googleapis#2831)) ([5b25ce0](googleapis@5b25ce0)) --- 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> c6b811c
🤖 I have created a release *beep* *boop* --- ## [0.31.0](googleapis/genai-toolbox@v0.30.0...v0.31.0) (2026-03-26) ### ⚠ BREAKING CHANGES * release upgraded docsite ([googleapis#2831](googleapis#2831)) * **http:** sanitize non-2xx error output ([googleapis#2654](googleapis#2654)) * add a new `enable-api` flag ([googleapis#2846](googleapis#2846)) * remove deprecations and update tools-file flag ([googleapis#2806](googleapis#2806)) ### Features * Add a new `enable-api` flag ([googleapis#2846](googleapis#2846)) ([7a070da](googleapis@7a070da)) * **auth:** Add generic `authService` type for MCP ([googleapis#2619](googleapis#2619)) ([f6678f8](googleapis@f6678f8)) * **auth:** Add Protected Resource Metadata endpoint ([googleapis#2698](googleapis#2698)) ([b53dcf2](googleapis@b53dcf2)) * **auth:** Support manual PRM override ([googleapis#2717](googleapis#2717)) ([283e4e3](googleapis@283e4e3)) * **dataplex:** Add support for lookup context tool. ([googleapis#2744](googleapis#2744)) ([facb69d](googleapis@facb69d)) * Remove deprecations and update tools-file flag ([googleapis#2806](googleapis#2806)) ([ab64c95](googleapis@ab64c95)) ### Bug Fixes * **ci:** Remove search index generation from preview deployment workflow ([googleapis#2859](googleapis#2859)) ([f8891b8](googleapis@f8891b8)) * **docs:** Skip empty folders in pagination & reduce PR comment noise ([googleapis#2853](googleapis#2853)) ([9ebd93a](googleapis@9ebd93a)) * **http:** Sanitize non-2xx error output ([googleapis#2654](googleapis#2654)) ([5bef954](googleapis@5bef954)) * **skills:** Fix integer parameter parsing through agent skills ([googleapis#2847](googleapis#2847)) ([4564efe](googleapis@4564efe)) ### Documentation * Release upgraded docsite ([googleapis#2831](googleapis#2831)) ([5b25ce0](googleapis@5b25ce0)) --- 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> c6b811c
Add OAuth Protected Resource Metadata file generation and endpoint.