mcpField
G
GCP MCP

GCP MCP

Local
github.com/eniayomiCloud & Infra200Updated 77w ago

About GCP MCP

GCP MCP is an MCP server that lets AI assistants such as Claude query and manage resources in a Google Cloud Platform environment using natural language. It runs locally with the user's application default credentials and is aimed at users who want to inspect projects, billing and logs during a conversation.

Key features

  1. 01List accessible GCP projects and select one
  2. 02Query resources such as Cloud SQL and GKE clusters
  3. 03View billing info, cost forecast and budgets
  4. 04Read Cloud Logging entries
  5. 05Run GCP API calls written in TypeScript

Use cases

  1. 01List projects and inspect Cloud SQL instances in a chat
  2. 02Check current billing status and cost forecast
  3. 03Read logs from Cloud Run services

MCP support

This is an MCP server that exposes tools such as run-gcp-code, list-projects, select-project, get-billing-info and get-logs to MCP clients like Claude Desktop and Cursor.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"gcp": {
"command": "npx",
"args": [
"-y",
"gcp-mcp"
]
}
}
}
Run commandnpx -y gcp-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmgcp-mcp

Tools

9

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
reasoningstringYesThe reasoning behind the code
codestringYesYour job is to answer questions about GCP environment by writing Javascript/TypeScript code using Google Cloud Client Libraries. The code must adhere to a few rules: - Must use promises and async/await - Think step-by-step before writing the code, approach it logically - Must be written in TypeScript using official Google Cloud client libraries - Avoid hardcoded values like project IDs - Code written should be as parallel as possible enabling the fastest and most optimal execution - Code should handle errors gracefully, especially when doing multiple API calls - Each error should be handled and logged with a reason, script should continue to run despite errors - Data returned from GCP APIs must be returned as JSON containing only the minimal amount of data needed to answer the question - All extra data must be filtered out - Code MUST "return" a value: string, number, boolean or JSON object - If code does not return anything, it will be considered as FAILED - Whenever tool/function call fails, retry it 3 times before giving up - When listing resources, ensure pagination is handled correctly - Do not include any comments in the code - Try to write code that returns as few data as possible to answer without any additional processing required Be concise, professional and to the point. Do not give generic advice, always reply with detailed & contextual data sourced from the current GCP environment.
projectIdstringNoGCP project ID to use
regionstringNoRegion to use (if not provided, us-central1 is used)

Details

From the project README

GCP MCP

A 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.

GCP MCP Demo

Features

  • 🔍 Query and modify GCP resources using natural language
  • ☁️ Support for multiple GCP projects
  • 🌐 Multi-region support
  • 🔐 Secure credential handling (no credentials are exposed to external services)
  • 🏃‍♂️ Local execution with your GCP credentials
  • 🔄 Automatic retries for improved reliability

Prerequisites

  • Node.js
  • Claude Desktop/Cursor/Windsurf
  • GCP credentials configured locally (application default credentials)

Installation

  1. Clone the repository:
git clone https://github.com/eniayomi/gcp-mcp
cd gcp-mcp
  1. Install dependencies:
npm install

Configuration

Claude Desktop
  1. Open Claude desktop app and go to Settings -> Developer -> Edit Config

  2. Add the following entry to your claude_desktop_config.json:

via npm:

{
  "mcpServers": {
    "gcp": {
      "command": "sh",
      "args": ["-c", "npx -y gcp-mcp"]
    }
  }
}

If you installed from source:

{
  "mcpServers": {
    "gcp": {
      "command": "npm",
      "args": [
        "--silent",
        "--prefix",
        "/path/to/gcp-mcp",
        "start"
      ]
    }
  }
}

Replace /path/to/gcp-mcp with the actual path to your project directory if using source installation.

Cursor
  1. Open Cursor and go to Settings (⌘,)
  2. Navigate to AI -> Model Context Protocol
  3. Add a new MCP configuration:
{
  "gcp": {
    "command": "npx -y gcp-mcp"
  }
}
Windsurf
  1. Open ~/.windsurf/config.json (create if it doesn't exist)
  2. Add the MCP configuration:
{
  "mcpServers": {
    "gcp": {
      "command": "npx -y gcp-mcp"
    }
  }
}
GCP Setup
  1. Set up GCP credentials:

    • Set up application default credentials using gcloud auth application-default login
  2. Refresh your AI assistant (Claude Desktop/Cursor/Windsurf)

Usage

Start by selecting a project or asking questions like:

  • "List all GCP projects I have access to"
  • "Show me all Cloud SQL instances in project X"
  • "What's my current billing status?"
  • "Show me the logs from my Cloud Run services"
  • "List all GKE clusters in us-central1"
  • "Show me all Cloud Storage buckets in project X"
  • "What Cloud Functions are deployed in us-central1?"
  • "List all Cloud Run services"
  • "Show me BigQuery datasets and tables"

Available Tools

  1. run-gcp-code: Execute GCP API calls using TypeScript code
  2. list-projects: List all accessible GCP projects
  3. select-project: Select a GCP project for subsequent operations
  4. get-billing-info: Get billing information for the current project
  5. get-cost-forecast: Get cost forecast for the current project
  6. get-billing-budget: Get billing budgets for the current project
  7. list-gke-clusters: List all GKE clusters in the current project
  8. list-sql-instances: List all Cloud SQL instances in the current project
  9. get-logs: Get Cloud Logging entries for the current project

Example Interactions

  1. List available projects:
List all GCP projects I have access to
  1. Select a project:
Use project my-project-id
  1. Check billing status:
What's my current billing status?
  1. View logs:
Show me the last 10 log entries from my project

Supported Services

  • Google Compute Engine
  • Cloud Storage
  • Cloud Functions
  • Cloud Run
  • BigQuery
  • Cloud SQL
  • Google Kubernetes Engine (GKE)
  • Cloud Logging
  • Cloud Billing
  • Resource Manager
  • More coming soon...

Troubleshooting

To see logs:

tail -n 50 -f ~/Library/Logs/Claude/mcp-server-gcp.log

Common issues:

  1. Authentication errors: Ensure you've run gcloud auth application-default login
  2. Permission errors: Check IAM roles for your account
  3. API errors: Verify that required APIs are enabled in your project

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.