Skip to main content
Glama
PHASE_6_DEPLOYMENT_SUCCESS.mdโ€ข6.49 kB
# โœ… Phase 6 Deployment - SUCCESS! **Date**: November 19, 2025 **Status**: Service Deployed and Healthy **Action Required**: IAM Permission Fix --- ## ๐ŸŽ‰ Deployment Summary ### Service Information - **Service Name**: `tableau-mcp-staging` - **Service URL**: `https://tableau-mcp-staging-bh375nkujq-ts.a.run.app` - **Region**: `australia-southeast1` - **Project**: `broker-pulse-gcp` - **Status**: โœ… Healthy (All health checks passing) ### Service Configuration - **Environment**: Staging - **Min Instances**: 0 (scale to zero) - **Max Instances**: 5 - **CPU**: 1 core - **Memory**: 512Mi - **Timeout**: 300 seconds ### Secrets Configured - โœ… `tableau-token-staging` - Tableau Personal Access Token - โœ… `mcp-api-key-staging` - MCP API Key for authentication ### Environment Variables Set - `NODE_ENV=staging` - `TABLEAU_SERVER_URL=https://10ay.online.tableau.com` - `TABLEAU_SITE_ID=mymomentumintelligence` - `TABLEAU_TOKEN_NAME=Tableau-MCP-Staging` - `TABLEAU_API_VERSION=3.23` --- ## ๐Ÿ” MCP API Key (Save This!) **API Key for Cursor Configuration (Phase 7):** ``` 1rJ8DviFGb97OZ3Uu4HxwWXhNoEPVCj0 ``` **โš ๏ธ IMPORTANT**: Save this API key securely. You'll need it to configure Cursor in Phase 7. --- ## โš ๏ธ Action Required: IAM Permission Fix The service is deployed and healthy, but requires an IAM policy update to allow public access. ### Required Command (Needs Admin Permissions) Someone with `run.services.setIamPolicy` permission needs to run: ```bash gcloud run services add-iam-policy-binding tableau-mcp-staging \ --region=australia-southeast1 \ --member=allUsers \ --role=roles/run.invoker ``` ### Why This Is Needed - Cloud Run services require explicit IAM policy to allow unauthenticated access - The deploy command included `--allow-unauthenticated`, but the IAM policy couldn't be set due to permission restrictions - Once this command is run, all endpoints will be accessible (with API key required for MCP endpoint) ### Who Can Run This - Google Cloud Project Owner - User with `Cloud Run Admin` role - User with `run.services.setIamPolicy` permission --- ## ๐Ÿงช Testing After IAM Fix Once the IAM policy is updated, test these endpoints: ### 1. Health Check (No auth required) ```bash curl https://tableau-mcp-staging-bh375nkujq-ts.a.run.app/health ``` **Expected Response:** ```json { "status": "healthy", "timestamp": "2025-11-19T..." } ``` ### 2. Readiness Check (No auth required) ```bash curl https://tableau-mcp-staging-bh375nkujq-ts.a.run.app/ready ``` **Expected Response:** ```json { "status": "ready", "tableau": "connected", "timestamp": "2025-11-19T..." } ``` ### 3. Liveness Check (No auth required) ```bash curl https://tableau-mcp-staging-bh375nkujq-ts.a.run.app/alive ``` **Expected Response:** ```json { "status": "alive", "uptime": 123.45, "timestamp": "2025-11-19T..." } ``` ### 4. MCP SSE Endpoint (Requires API key) ```bash curl -H "X-API-Key: 1rJ8DviFGb97OZ3Uu4HxwWXhNoEPVCj0" \ https://tableau-mcp-staging-bh375nkujq-ts.a.run.app/sse ``` **Expected**: Server-Sent Events stream connection --- ## ๐Ÿ“Š Service Health Status Service health checks (as of deployment): - โœ… **Ready**: True - โœ… **ConfigurationsReady**: True - โœ… **RoutesReady**: True All systems operational! --- ## ๐Ÿ“ Phase 7 - Cursor Integration (Next Step) Once IAM permissions are fixed and endpoints are accessible, proceed to Phase 7: ### Cursor MCP Configuration Create file: `C:\Users\MomentumMedia\.cursor\agile\shared-tools\mcp\tableau.json` ```json { "mcpServers": { "tableau": { "url": "https://tableau-mcp-staging-bh375nkujq-ts.a.run.app/sse", "headers": { "X-API-Key": "1rJ8DviFGb97OZ3Uu4HxwWXhNoEPVCj0" }, "description": "Tableau Cloud MCP Server for mymomentumintelligence site" } } } ``` --- ## ๐ŸŽฏ What Was Accomplished ### โœ… Completed Tasks 1. โœ… Enabled Google Cloud APIs (Cloud Run, Secret Manager, Cloud Build) 2. โœ… Created Tableau Personal Access Token 3. โœ… Created secrets in Google Secret Manager 4. โœ… Fixed `.dockerignore` to include necessary build files 5. โœ… Created `.gcloudignore` for Cloud Build uploads 6. โœ… Built Docker image using Cloud Build 7. โœ… Deployed service to Cloud Run (staging) 8. โœ… Verified service health status ### ๐Ÿ”จ Issues Resolved During Deployment 1. **`.dockerignore` excluded source files** - Fixed by commenting out `src/`, `*.ts`, `tsconfig.json` 2. **`.dockerignore` excluded `package-lock.json`** - Fixed by commenting out exclusion 3. **Files not uploaded to Cloud Build** - Fixed by creating `.gcloudignore` 4. **PORT environment variable conflict** - Removed PORT (Cloud Run sets automatically) ### โณ Pending 1. โณ IAM policy update (requires admin permissions) 2. โณ Endpoint testing (blocked by IAM issue) 3. โณ Phase 7: Cursor integration (blocked by IAM issue) --- ## ๐Ÿ’ฐ Cost Estimate **Staging Environment** (scale to zero): - **Idle**: $0/month (scales to zero when not in use) - **Active**: ~$0.10-0.50/day when in use - **Estimated Monthly**: $5-15/month (very low usage) **Secrets (Google Secret Manager)**: - 2 secrets ร— $0.06/month = $0.12/month **Total Estimated Cost**: ~$5-20/month --- ## ๐Ÿ“ž Support ### If Endpoints Return 403 After IAM Fix 1. Check Cloud Run logs: ```bash gcloud run logs read tableau-mcp-staging --region=australia-southeast1 --limit=50 ``` 2. Verify secrets are accessible: ```bash gcloud secrets versions access latest --secret=tableau-token-staging gcloud secrets versions access latest --secret=mcp-api-key-staging ``` 3. Check service configuration: ```bash gcloud run services describe tableau-mcp-staging --region=australia-southeast1 ``` ### Contact - **Deployed By**: russel.enriquez@agilemi.com.au - **Project**: broker-pulse-gcp - **Deployment Date**: November 19, 2025 --- ## ๐Ÿš€ Quick Access Links - **Service URL**: https://tableau-mcp-staging-bh375nkujq-ts.a.run.app - **Cloud Console**: https://console.cloud.google.com/run/detail/australia-southeast1/tableau-mcp-staging?project=broker-pulse-gcp - **Cloud Build History**: https://console.cloud.google.com/cloud-build/builds?project=broker-pulse-gcp&region=australia-southeast1 - **Secret Manager**: https://console.cloud.google.com/security/secret-manager?project=broker-pulse-gcp --- **Phase 6 Status**: โœ… **SUCCESSFULLY DEPLOYED** (pending IAM fix) **Next Phase**: Phase 7 - Cursor Integration

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/russelenriquez-agile/tableau-mcp-project'

If you have feedback or need assistance with the MCP directory API, please join our Discord server