Skip to content

feat: Cloud Run deployment support with FastMCP and Google OAuth#170

Closed
dejitoye wants to merge 3 commits into
googleanalytics:mainfrom
ovative-group:ovative/cloud-run-changes
Closed

feat: Cloud Run deployment support with FastMCP and Google OAuth#170
dejitoye wants to merge 3 commits into
googleanalytics:mainfrom
ovative-group:ovative/cloud-run-changes

Conversation

@dejitoye
Copy link
Copy Markdown

Summary

  • Replaced google-adk with fastmcp — enables Cloud Run deployment
  • Added GoogleProvider OAuth — users authenticate with their own Google accounts
  • Updated client.py — per-request OAuth tokens instead of shared ADC credentials
  • Rewrote coordinator.py and server.py — supports both stdio (local) and streamable-http (Cloud Run) transports automatically via env vars
  • Added Dockerfile for Cloud Run container builds
  • Added CHANGES.md documenting all Ovative-specific modifications
  • Updated README.md with Cloud Run deployment instructions

Why

The upstream repo only supports local stdio installs requiring every developer to configure credentials locally. These changes enable the MCP to run on Cloud Run so any team member can connect via Claude Desktop or Claude.ai org connectors with no local setup required.

Test plan

  • Local: run analytics-mcp without env vars → starts in stdio mode
  • Cloud Run: deploy with OAuth env vars set → OAuth flow completes in browser
  • Verify per-user credentials: each user's Analytics API calls use their own Google token, not a shared service account

dejitoye added 3 commits May 28, 2026 22:48
Documents all modifications made to enable Cloud Run deployment:
- FastMCP migration from google-adk
- GoogleProvider OAuth setup
- Per-user credential extraction in client.py
- Dockerfile addition

Author: Deji Toye
- Replace google-adk with fastmcp in pyproject.toml
- Rewrite coordinator.py to use FastMCP + GoogleProvider OAuth
- Rewrite server.py to select stdio vs streamable-http transport based on env vars
- Update tools/client.py to extract per-request OAuth token before falling back to ADC
- Add Dockerfile for Cloud Run container builds

Author: Deji Toye
@google-cla
Copy link
Copy Markdown

google-cla Bot commented May 29, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@dejitoye
Copy link
Copy Markdown
Author

Opened by mistake — this is an internal Ovative change.

@dejitoye dejitoye closed this May 29, 2026
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