{"id":26268181,"url":"https://github.com/krzko/google-cloud-mcp","last_synced_at":"2025-12-27T23:26:02.663Z","repository":{"id":281585087,"uuid":"944198196","full_name":"krzko/google-cloud-mcp","owner":"krzko","description":"🤖 A Model Context Protocol (MCP) server for Google Cloud","archived":false,"fork":false,"pushed_at":"2025-03-10T03:18:36.000Z","size":318,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-10T04:27:16.239Z","etag":null,"topics":["gcp","google","google-cloud","google-cloud-platform","mcp","mcp-server"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/krzko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-07T00:16:20.000Z","updated_at":"2025-03-10T03:18:39.000Z","dependencies_parsed_at":"2025-03-10T04:27:40.186Z","dependency_job_id":"efe122bb-8eea-418e-9662-bd6e3ed71751","html_url":"https://github.com/krzko/google-cloud-mcp","commit_stats":null,"previous_names":["krzko/google-cloud-mcp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krzko%2Fgoogle-cloud-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krzko%2Fgoogle-cloud-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krzko%2Fgoogle-cloud-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krzko%2Fgoogle-cloud-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krzko","download_url":"https://codeload.github.com/krzko/google-cloud-mcp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243526946,"owners_count":20305112,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gcp","google","google-cloud","google-cloud-platform","mcp","mcp-server"],"created_at":"2025-03-14T04:35:12.533Z","updated_at":"2025-12-27T23:26:02.653Z","avatar_url":"https://github.com/krzko.png","language":"TypeScript","funding_links":[],"categories":["📚 Projects (1974 total)","Cloud Platforms","Cloud Services"],"sub_categories":["MCP Servers","How to Submit"],"readme":"# Google Cloud MCP Server\n\nA Model Context Protocol server that connects to Google Cloud services to provide context and tools for interacting with your Google Cloud resources.\n\n\u003ca href=\"https://glama.ai/mcp/servers/@krzko/google-cloud-mcp\"\u003e\n  \u003cimg width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/@krzko/google-cloud-mcp/badge\" alt=\"Google Cloud Server MCP server\" /\u003e\n\u003c/a\u003e\n\n## Services\n\nSupported Google Cloud services:\n\n- [x] [Billing](https://cloud.google.com/billing)\n- [x] [Error Reporting](https://cloud.google.com/error-reporting)\n- [x] [Identity and Access Management (IAM)](https://cloud.google.com/iam)\n- [x] [Logging](https://cloud.google.com/logging)\n- [x] [Monitoring](https://cloud.google.com/monitoring)\n- [x] [Profiler](https://cloud.google.com/profiler)\n- [x] [Spanner](https://cloud.google.com/spanner)\n- [x] [Trace](https://cloud.google.com/trace)\n\n### Billing\n\nManage and analyse Google Cloud billing with cost optimisation insights:\n\n**Tools:** `gcp-billing-list-accounts`, `gcp-billing-get-account-details`, `gcp-billing-list-projects`, `gcp-billing-get-project-info`, `gcp-billing-list-services`, `gcp-billing-list-skus`, `gcp-billing-analyse-costs`, `gcp-billing-detect-anomalies`, `gcp-billing-cost-recommendations`, `gcp-billing-service-breakdown`\n\n*Example prompts:*\n- \"Show me all my billing accounts\"\n- \"Analyse costs for project my-app-prod-123 for the last 30 days\"\n- \"Generate cost recommendations for billing account billingAccounts/123456-789ABC-DEF012\"\n- \"Check for billing anomalies in project my-ecommerce-456\"\n\n### Error Reporting\n\nMonitor and analyse application errors with automated investigation and remediation suggestions:\n\n**Tools:** `gcp-error-reporting-list-groups`, `gcp-error-reporting-get-group-details`, `gcp-error-reporting-analyse-trends`\n\n*Example prompts:*\n- \"Show me error groups from project my-webapp-prod-789 for the last hour\"\n- \"Get details for error group projects/my-app-123/groups/xyz789\"\n- \"Analyse error trends for service my-api in project analytics-prod-456\"\n\n### IAM\n\nQuery and analyse IAM policies and permissions:\n\n**Tools:** `gcp-iam-get-project-policy`, `gcp-iam-test-project-permissions`, `gcp-iam-test-resource-permissions`, `gcp-iam-validate-deployment-permissions`, `gcp-iam-list-deployment-services`, `gcp-iam-analyse-permission-gaps`\n\n*Example prompts:*\n- \"Get IAM policy for project my-webapp-prod-123\"\n- \"Test if I have storage.buckets.create permission on project data-lake-456\"\n- \"Check deployment permissions for Cloud Run in project microservices-789\"\n- \"Analyse permission gaps for deploying to GKE cluster in project k8s-prod-321\"\n\n### Logging\n\nQuery and filter log entries from Google Cloud Logging:\n\n**Tools:** `gcp-logging-query-logs`, `gcp-logging-query-time-range`, `gcp-logging-search-comprehensive`\n\n*Example prompts:*\n- \"Show me logs from project my-app-prod-123 from the last hour with severity ERROR\"\n- \"Search for logs containing 'timeout' from service my-api in project backend-456\"\n- \"Query logs for resource type gce_instance in project compute-prod-789\"\n\n### Spanner\n\nInteract with Google Cloud Spanner databases:\n\n**Tools:** `gcp-spanner-execute-query`, `gcp-spanner-list-tables`, `gcp-spanner-list-instances`, `gcp-spanner-list-databases`, `gcp-spanner-query-natural-language`, `gcp-spanner-query-count`\n\n*Example prompts:*\n- \"List all databases in Spanner instance my-instance in project ecommerce-prod-123\"\n- \"Execute SQL: SELECT COUNT(*) FROM users in database user-db in project my-app-456\"\n- \"Show me table structure for orders in database inventory-db in project retail-789\"\n\n### Monitoring\n\nRetrieve and analyse metrics from Google Cloud Monitoring:\n\n**Tools:** `gcp-monitoring-query-metrics`, `gcp-monitoring-list-metric-types`, `gcp-monitoring-query-natural-language`\n\n*Example prompts:*\n- \"Show me CPU utilisation metrics for project web-app-prod-123 for the last 6 hours\"\n- \"List available metric types for Compute Engine in project infrastructure-456\"\n- \"Query memory usage for instances in project backend-services-789\"\n\n### Profiler\n\nAnalyse application performance with Google Cloud Profiler:\n\n**Tools:** `gcp-profiler-list-profiles`, `gcp-profiler-analyse-performance`, `gcp-profiler-compare-trends`\n\n*Example prompts:*\n- \"List CPU profiles from project my-java-app-123 for the last 24 hours\"\n- \"Analyse performance bottlenecks in service my-api in project backend-prod-456\"\n- \"Compare heap profiles for deployment v1.2 vs v1.3 in project performance-test-789\"\n\n### Trace\n\nAnalyse distributed traces from Google Cloud Trace:\n\n**Tools:** `gcp-trace-get-trace`, `gcp-trace-list-traces`, `gcp-trace-find-from-logs`, `gcp-trace-query-natural-language`\n\n*Example prompts:*\n- \"Get trace details for ID abc123def456 in project distributed-app-789\"\n- \"Show me failed traces from project microservices-prod-123 from the last hour\"\n- \"Find logs related to trace xyz789 in project web-backend-456\"\n- \"Query traces for service checkout-api in project ecommerce-prod-321\"\n\n## Quick Start\n\nOnce configured, you can interact with Google Cloud services using natural language:\n\n```\n\"What are my current billing costs for project my-webapp-prod-123?\"\n\"Show me errors from project ecommerce-api-456 in the last hour\"\n\"Check if I have permission to deploy to Cloud Run in project microservices-789\"\n\"Find logs containing 'database timeout' from project backend-prod-321 yesterday\"\n\"List Spanner databases in instance prod-db for project data-store-654\"\n\"What's the CPU usage of Compute Engine instances in project infrastructure-987?\"\n```\n\n## Authentication\n\nThis server supports two methods of authentication with Google Cloud:\n\n1. **Service Account Key File** (Recommended): Set the `GOOGLE_APPLICATION_CREDENTIALS` environment variable to the path of your service account key file. This is the standard Google Cloud authentication method.\n\n2. **Environment Variables**: Set `GOOGLE_CLIENT_EMAIL` and `GOOGLE_PRIVATE_KEY` environment variables directly. This is useful for environments where storing a key file is not practical.\n\nThe server will also use the `GOOGLE_CLOUD_PROJECT` environment variable if set, otherwise it will attempt to determine the project ID from the authentication credentials.\n\n## Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/krzko/google-cloud-mcp.git\ncd google-cloud-mcp\n\n# Install dependencies\npnpm install\n\n# Build\npnpm build\n```\n\nAuthenticate to Google Cloud:\n\n```bash\ngcloud auth application-default login\n```\n\nConfigure the `mcpServers` in your client:\n\n```json\n{\n  \"mcpServers\": {\n      \"google-cloud-mcp\": {\n          \"command\": \"node\",\n          \"args\": [\n              \"/Users/foo/code/google-cloud-mcp/dist/index.js\"\n          ],\n          \"env\": {\n              \"GOOGLE_APPLICATION_CREDENTIALS\": \"/Users/foo/.config/gcloud/application_default_credentials.json\"\n          }\n      }\n  }\n}\n```\n\n## Development\n\n### Starting the server\n\n```bash\n# Build the project\npnpm build\n\n# Start the server\npnpm start\n```\n\n### Development mode\n\n```bash\n# Build the project\npnpm build\n\n# Start the server and inspector\nnpx -y @modelcontextprotocol/inspector node dist/index.js\n```\n\n## Troubleshooting\n\n### Server Timeout Issues\n\nIf you encounter timeout issues when running the server with Smithery, try the following:\n\n1. Enable debug logging by setting `debug: true` in your configuration\n2. Ensure `lazyAuth: true` is set to defer authentication until it's actually needed\n3. Ensure your credentials file is accessible and valid\n4. Check the logs for any error messages\n\n**Important**: Authentication is still required for operation, but with lazy loading enabled, the server will start immediately and authenticate when needed rather than during initialization.\n\n### Authentication Issues\n\nThe server supports two methods of authentication:\n\n1. **Service Account Key File**: Set `GOOGLE_APPLICATION_CREDENTIALS` environment variable to the path of your service account key file\n2. **Environment Variables**: Set `GOOGLE_CLIENT_EMAIL` and `GOOGLE_PRIVATE_KEY` environment variables\n\nIf you're having authentication issues, make sure:\n\n- Your service account has the necessary permissions\n- The key file is properly formatted and accessible\n- Environment variables are correctly set\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrzko%2Fgoogle-cloud-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrzko%2Fgoogle-cloud-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrzko%2Fgoogle-cloud-mcp/lists"}