Skip to content

docs(examples): add mcpauth example for auth providers with MCP toolset#1180

Draft
wolo-lab wants to merge 1 commit into
wolo/auth-consentfrom
wolo/mcpauth-example
Draft

docs(examples): add mcpauth example for auth providers with MCP toolset#1180
wolo-lab wants to merge 1 commit into
wolo/auth-consentfrom
wolo/mcpauth-example

Conversation

@wolo-lab

Copy link
Copy Markdown
Contributor

There was no runnable example showing how to wire the ADK auth subsystem into an MCP toolset, or how the different built-in credential providers map onto mcptoolset.Config.Auth.

examples/mcpauth is a buildable template that selects a provider via AUTH_MODE: GCP (per-user; supports interactive 3-legged consent), header API key, static bearer, 2-legged OAuth (client credentials), ADC, and service account. Comments walk through both the non-interactive path (applied transparently by the transport RoundTripper) and the interactive consent flow (adk_request_credential, resumed once the user consents). The live consent flow requires a real MCP server and GCP auth resource.

There was no runnable example showing how to wire the ADK auth subsystem into an
MCP toolset, or how the different built-in credential providers map onto
mcptoolset.Config.Auth.

examples/mcpauth is a buildable template that selects a provider via AUTH_MODE:
GCP (per-user; supports interactive 3-legged consent), header API key, static
bearer, 2-legged OAuth (client credentials), ADC, and service account. Comments
walk through both the non-interactive path (applied transparently by the
transport RoundTripper) and the interactive consent flow (adk_request_credential,
resumed once the user consents). The live consent flow requires a real MCP server
and GCP auth resource.

Testing: go build ./..., golangci-lint run, go mod tidy -diff — all green
(buildable template; no unit tests).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant