{"_id":"gcp-mcp","_rev":"3-89938b88d566aa068e5cab93855c6b3d","name":"gcp-mcp","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"gcp-mcp","version":"1.0.0","keywords":["gcp","mcp","claude","ai","llm"],"author":{"name":"Oluwapelumi Oluwaseyi"},"license":"MIT","_id":"gcp-mcp@1.0.0","maintainers":[{"name":"eniayomi","email":"oluwaseyieniayomi@gmail.com"}],"homepage":"https://github.com/eniayomi/gcp-mcp#readme","bugs":{"url":"https://github.com/eniayomi/gcp-mcp/issues"},"dist":{"shasum":"2e50dbe8c864c906eeb3193b5f411f14508d089b","tarball":"https://registry.npmjs.org/gcp-mcp/-/gcp-mcp-1.0.0.tgz","fileCount":6,"integrity":"sha512-1ygzbmcchFb5RtmsXG/mbJF0XLV88XUIedAE/rB+aeV+dV7yTK3+CbLCZwMJlONqvxWPPtYqMSuD0za6ICgdig==","signatures":[{"sig":"MEUCIQCLiUvCnI9T0zoIeDydDNUGyA/nyqJT4SRgyoymPDksAgIgBy042sPJvBZvdzLolk56zTEigbGY0IIZhVRqDrRbZUc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31334},"main":"index.ts","gitHead":"fe1129a56800802eb8d41d484947ecb42b06666a","scripts":{"start":"tsx index.ts"},"_npmUser":{"name":"eniayomi","email":"oluwaseyieniayomi@gmail.com"},"repository":{"url":"git+https://github.com/eniayomi/gcp-mcp.git","type":"git"},"_npmVersion":"10.9.0","description":"Model Context Protocol (MCP) server for Google Cloud Platform - Talk to your GCP resources","directories":{},"_nodeVersion":"22.11.0","dependencies":{"tsc":"^2.0.4","zod":"^3.24.1","ts-morph":"^24.0.0","googleapis":"^146.0.0","@google-cloud/run":"^1.5.1","@google-cloud/sql":"^0.19.1","google-auth-library":"^9.0.0","@google-cloud/billing":"^4.6.0","@google-cloud/compute":"^4.12.0","@google-cloud/logging":"^11.2.0","@google-cloud/storage":"^7.15.0","@google-cloud/bigquery":"^7.9.2","@google-cloud/container":"^5.19.0","@google-cloud/functions":"^3.6.1","@modelcontextprotocol/sdk":"^1.6.1","@google-cloud/billing-budgets":"^4.3.0","@google-cloud/resource-manager":"^5.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tslib":"^2.8.1","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/gcp-mcp_1.0.0_1741193920827_0.29144192140038716","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"gcp-mcp","version":"1.0.1","keywords":["gcp","mcp","claude","ai","llm"],"author":{"name":"Oluwapelumi Oluwaseyi"},"license":"MIT","_id":"gcp-mcp@1.0.1","maintainers":[{"name":"eniayomi","email":"oluwaseyieniayomi@gmail.com"}],"homepage":"https://github.com/eniayomi/gcp-mcp#readme","bugs":{"url":"https://github.com/eniayomi/gcp-mcp/issues"},"bin":{"gcp-mcp":"bin.js"},"dist":{"shasum":"7e60d87fe3bdd5077899b1b2ae5373c8d28feb75","tarball":"https://registry.npmjs.org/gcp-mcp/-/gcp-mcp-1.0.1.tgz","fileCount":7,"integrity":"sha512-RFxNaHVsWNAki5+43Hh0dqCKOa2o5zhn2eFS9Pfj2qiCH5uf71ManTIeIgRelISBmYhB7Nn3nEf8FhymVirkuw==","signatures":[{"sig":"MEUCIEax/JHUP3o3iZXwjQKDuNPE6cA+tERHvF385YvLRSESAiEAwgKdd6g738h2Bxfnrg5caJHdFWklDyQQ/JkqNnGNvXc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":678621},"main":"index.ts","gitHead":"7010846d117807c67c46ac1a7a8cb30ee95846fc","scripts":{"dev":"tsx watch index.ts","test":"tsx bin.js","build":"tsc","start":"tsx index.ts","prepare":"npm run build"},"_npmUser":{"name":"eniayomi","email":"oluwaseyieniayomi@gmail.com"},"repository":{"url":"git+https://github.com/eniayomi/gcp-mcp.git","type":"git"},"_npmVersion":"10.9.0","description":"Model Context Protocol (MCP) server for Google Cloud Platform - Talk to your GCP resources","directories":{},"_nodeVersion":"22.11.0","dependencies":{"tsx":"^4.19.2","zod":"^3.24.1","ts-morph":"^24.0.0","googleapis":"^146.0.0","@google-cloud/run":"^1.5.1","@google-cloud/sql":"^0.19.1","google-auth-library":"^9.0.0","@google-cloud/billing":"^4.6.0","@google-cloud/compute":"^4.12.0","@google-cloud/logging":"^11.2.0","@google-cloud/storage":"^7.15.0","@google-cloud/bigquery":"^7.9.2","@google-cloud/container":"^5.19.0","@google-cloud/functions":"^3.6.1","@modelcontextprotocol/sdk":"^1.6.1","@google-cloud/billing-budgets":"^4.3.0","@google-cloud/resource-manager":"^5.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","typescript":"^5.7.2","@types/node":"^22.10.2"},"_npmOperationalInternal":{"tmp":"tmp/gcp-mcp_1.0.1_1741195437124_0.18187455798447605","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"gcp-mcp","version":"1.0.2","description":"Model Context Protocol (MCP) server for Google Cloud Platform - Talk to your GCP resources","main":"index.ts","bin":{"gcp-mcp":"bin.js"},"scripts":{"start":"tsx index.ts","prepare":"npm run build","build":"tsc","dev":"tsx watch index.ts","test":"tsx bin.js"},"keywords":["gcp","mcp","claude","ai","llm"],"author":{"name":"Oluwapelumi Oluwaseyi"},"license":"MIT","dependencies":{"@google-cloud/bigquery":"^7.9.2","@google-cloud/billing":"^4.6.0","@google-cloud/billing-budgets":"^4.3.0","@google-cloud/compute":"^4.12.0","@google-cloud/container":"^5.19.0","@google-cloud/functions":"^3.6.1","@google-cloud/logging":"^11.2.0","@google-cloud/resource-manager":"^5.3.1","@google-cloud/run":"^1.5.1","@google-cloud/sql":"^0.19.1","@google-cloud/storage":"^7.15.0","@modelcontextprotocol/sdk":"^1.6.1","google-auth-library":"^9.0.0","googleapis":"^146.0.0","ts-morph":"^24.0.0","tsx":"^4.19.2","zod":"^3.24.1"},"devDependencies":{"@types/node":"^22.10.2","tslib":"^2.8.1","typescript":"^5.7.2"},"repository":{"type":"git","url":"git+https://github.com/eniayomi/gcp-mcp.git"},"bugs":{"url":"https://github.com/eniayomi/gcp-mcp/issues"},"homepage":"https://github.com/eniayomi/gcp-mcp#readme","_id":"gcp-mcp@1.0.2","gitHead":"37c82afc8ccd81c47d37a1ccaf7360927726a596","_nodeVersion":"22.11.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-FtK5nb0vhpU0bPq9jDmGiQnwI6ndAJ6O4y6mJdEi8mJfsw7jVt/4XbGLMuZ2cKyZlB2jDcnz2aWwZ8U2iD9Fmw==","shasum":"6b0bd53683cdf6b70bb80460d6b6434772b195a6","tarball":"https://registry.npmjs.org/gcp-mcp/-/gcp-mcp-1.0.2.tgz","fileCount":7,"unpackedSize":678585,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDKcRw7f2w3XXVUWonq1XBe5yaQQWq18A1WajDKFHxgkwIhALGwSzrIYFdrlZ3/521NQJJmkcN90DqZ+7f7Ac3aO6MI"}]},"_npmUser":{"name":"eniayomi","email":"oluwaseyieniayomi@gmail.com"},"directories":{},"maintainers":[{"name":"eniayomi","email":"oluwaseyieniayomi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gcp-mcp_1.0.2_1741197883903_0.8567833240412857"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-05T16:58:40.826Z","modified":"2025-03-05T18:04:44.415Z","1.0.0":"2025-03-05T16:58:41.080Z","1.0.1":"2025-03-05T17:23:57.374Z","1.0.2":"2025-03-05T18:04:44.227Z"},"bugs":{"url":"https://github.com/eniayomi/gcp-mcp/issues"},"author":{"name":"Oluwapelumi Oluwaseyi"},"license":"MIT","homepage":"https://github.com/eniayomi/gcp-mcp#readme","keywords":["gcp","mcp","claude","ai","llm"],"repository":{"type":"git","url":"git+https://github.com/eniayomi/gcp-mcp.git"},"description":"Model Context Protocol (MCP) server for Google Cloud Platform - Talk to your GCP resources","maintainers":[{"name":"eniayomi","email":"oluwaseyieniayomi@gmail.com"}],"readme":"# GCP MCP\n\nA Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with your Google Cloud Platform environment. This allows for natural language querying and management of your GCP resources during conversations.\n\n![GCP MCP Demo](images/claude.png)\n\n## Features\n\n* 🔍 Query and modify GCP resources using natural language\n* ☁️ Support for multiple GCP projects\n* 🌐 Multi-region support\n* 🔐 Secure credential handling (no credentials are exposed to external services)\n* 🏃‍♂️ Local execution with your GCP credentials\n* 🔄 Automatic retries for improved reliability\n\n## Prerequisites\n\n* Node.js\n* Claude Desktop/Cursor/Windsurf\n* GCP credentials configured locally (application default credentials)\n\n## Installation\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/eniayomi/gcp-mcp\ncd gcp-mcp\n```\n\n2. Install dependencies:\n```bash\nnpm install\n```\n\n## Configuration\n\n### Claude Desktop\n\n1. Open Claude desktop app and go to Settings -> Developer -> Edit Config\n\n2. Add the following entry to your `claude_desktop_config.json`:\n\nvia npm:\n```json\n{\n  \"mcpServers\": {\n    \"gcp\": {\n      \"command\": \"sh\",\n      \"args\": [\"-c\", \"npx -y gcp-mcp\"]\n    }\n  }\n}\n```\n\nIf you installed from source:\n```json\n{\n  \"mcpServers\": {\n    \"gcp\": {\n      \"command\": \"npm\",\n      \"args\": [\n        \"--silent\",\n        \"--prefix\",\n        \"/path/to/gcp-mcp\",\n        \"start\"\n      ]\n    }\n  }\n}\n```\n\nReplace `/path/to/gcp-mcp` with the actual path to your project directory if using source installation.\n\n### Cursor\n\n1. Open Cursor and go to Settings (⌘,)\n2. Navigate to AI -> Model Context Protocol\n3. Add a new MCP configuration:\n```json\n{\n  \"gcp\": {\n    \"command\": \"npx -y gcp-mcp\"\n  }\n}\n```\n\n### Windsurf\n\n1. Open `~/.windsurf/config.json` (create if it doesn't exist)\n2. Add the MCP configuration:\n```json\n{\n  \"mcpServers\": {\n    \"gcp\": {\n      \"command\": \"npx -y gcp-mcp\"\n    }\n  }\n}\n```\n\n### GCP Setup\n\n1. Set up GCP credentials:\n   - Set up application default credentials using `gcloud auth application-default login`\n\n2. Refresh your AI assistant (Claude Desktop/Cursor/Windsurf)\n\n## Usage\n\nStart by selecting a project or asking questions like:\n* \"List all GCP projects I have access to\"\n* \"Show me all Cloud SQL instances in project X\"\n* \"What's my current billing status?\"\n* \"Show me the logs from my Cloud Run services\"\n* \"List all GKE clusters in us-central1\"\n* \"Show me all Cloud Storage buckets in project X\"\n* \"What Cloud Functions are deployed in us-central1?\"\n* \"List all Cloud Run services\"\n* \"Show me BigQuery datasets and tables\"\n\n## Available Tools\n\n1. `run-gcp-code`: Execute GCP API calls using TypeScript code\n2. `list-projects`: List all accessible GCP projects\n3. `select-project`: Select a GCP project for subsequent operations\n4. `get-billing-info`: Get billing information for the current project\n5. `get-cost-forecast`: Get cost forecast for the current project\n6. `get-billing-budget`: Get billing budgets for the current project\n7. `list-gke-clusters`: List all GKE clusters in the current project\n8. `list-sql-instances`: List all Cloud SQL instances in the current project\n9. `get-logs`: Get Cloud Logging entries for the current project\n\n## Example Interactions\n\n1. List available projects:\n```\nList all GCP projects I have access to\n```\n\n2. Select a project:\n```\nUse project my-project-id\n```\n\n3. Check billing status:\n```\nWhat's my current billing status?\n```\n\n4. View logs:\n```\nShow me the last 10 log entries from my project\n```\n\n## Supported Services\n\n* Google Compute Engine\n* Cloud Storage\n* Cloud Functions\n* Cloud Run\n* BigQuery\n* Cloud SQL\n* Google Kubernetes Engine (GKE)\n* Cloud Logging\n* Cloud Billing\n* Resource Manager\n* More coming soon...\n\n## Troubleshooting\n\nTo see logs:\n```bash\ntail -n 50 -f ~/Library/Logs/Claude/mcp-server-gcp.log\n```\n\nCommon issues:\n1. Authentication errors: Ensure you've run `gcloud auth application-default login`\n2. Permission errors: Check IAM roles for your account\n3. API errors: Verify that required APIs are enabled in your project\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request. \n\n## License\n\nMIT ","readmeFilename":"README.md"}