Google Cloud MCP Server

Google Cloud MCP Server

By krzko GitHub

🤖 A Model Context Protocol (MCP) server for Google Cloud

google mcp
Overview

What is Google Cloud MCP Server?

Google Cloud MCP Server is a Model Context Protocol server that connects to Google Cloud services, providing context and tools for interacting with Google Cloud resources.

How to use Google Cloud MCP Server?

To use the server, clone the repository, install dependencies, and authenticate to Google Cloud using a service account key file or environment variables. Configure the MCP servers in your client to start using it.

Key features of Google Cloud MCP Server?

  • Supports Google Cloud Logging, Monitoring, and Spanner.
  • Allows querying and filtering of log entries.
  • Executes SQL queries against Spanner databases.
  • Retrieves and analyzes metrics from Google Cloud Monitoring.
  • Supports lazy loading of authentication for efficient server startup.

Use cases of Google Cloud MCP Server?

  1. Monitoring and analyzing logs from Google Cloud services.
  2. Executing and managing SQL queries on Google Cloud Spanner databases.
  3. Visualizing and analyzing metrics from Google Cloud Monitoring.

FAQ from Google Cloud MCP Server?

  • What authentication methods are supported?

The server supports Service Account Key File and Environment Variables for authentication.

  • How do I troubleshoot server timeout issues?

Enable debug logging, ensure lazy authentication is set, and check the accessibility of your credentials file.

  • Can I use this server with Smithery?

Yes, the server can be deployed with Smithery, but local server support is still in development.

Content

Google Cloud MCP Server

A Model Context Protocol server that connects to Google Cloud services to provide context and tools for interacting with your Google Cloud resources.

Services

Supported services:

  • Google Cloud Logging
  • Google Cloud Monitoring
  • Google Cloud Spanner

Servers in development:

  • Google Cloud Trace
  • Google IAM
  • Google Cloud Compute
  • Google Cloud Run
  • Google Cloud Storage

Google Cloud Logging

Query and filter log entries from Google Cloud Logging:

  • Query logs with custom filters
  • Search logs within specific time ranges
  • Format and display log entries in a readable format

Google Cloud Spanner

Interact with Google Cloud Spanner databases:

  • Execute SQL queries against Spanner databases
  • List available databases and tables
  • Explore database schema

Google Cloud Monitoring

Retrieve and analyse metrics from Google Cloud Monitoring:

  • Query metrics with custom filters
  • Visualise metric data over time
  • List available metric types

Google Cloud Trace

Analyse distributed traces from Google Cloud Trace:

  • Retrieve traces by ID
  • List recent traces with filtering options
  • Find traces associated with logs
  • Identify failed traces
  • Use natural language to query traces (e.g., "Show me failed traces from the last hour")

Authentication

This server supports two methods of authentication with Google Cloud:

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

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

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

Installation

# Clone the repository
git clone https://github.com/krzko/google-cloud-mcp.git
cd google-cloud-mcp

# Install dependencies
pnpm install

# Build
pnpm build

Authenticate to Google Cloud:

gcloud auth application-default login

Configure the mcpServers in your client:

{
  "mcpServers": {
      "google-cloud-mcp": {
          "command": "node",
          "args": [
              "/Users/foo/code/google-cloud-mcp/dist/index.js"
          ],
          "env": {
              "GOOGLE_APPLICATION_CREDENTIALS": "/Users/foo/.config/gcloud/application_default_credentials.json"
          }
      }
  }
}

Development

Starting the server

# Build the project
pnpm build

# Start the server
pnpm start

Development mode

# Build the project
pnpm build

# Start the server and inspector
npx -y @modelcontextprotocol/inspector node dist/index.js

Using with Smithery (soon)

This server can be deployed and used with Smithery. The server implements lazy loading of authentication, which means it will start immediately and defer authentication until it's actually needed. Authentication is still required for operation, but this approach prevents timeouts during server initialization.

NOTE: Smithery local server support is currently in development and may not yet available.

Troubleshooting

Server Timeout Issues

If you encounter timeout issues when running the server with Smithery, try the following:

  1. Enable debug logging by setting debug: true in your configuration
  2. Ensure lazyAuth: true is set to defer authentication until it's actually needed
  3. Ensure your credentials file is accessible and valid
  4. Check the logs for any error messages

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.

Authentication Issues

The server supports two methods of authentication:

  1. Service Account Key File: Set GOOGLE_APPLICATION_CREDENTIALS environment variable to the path of your service account key file
  2. Environment Variables: Set GOOGLE_CLIENT_EMAIL and GOOGLE_PRIVATE_KEY environment variables

If you're having authentication issues, make sure:

  • Your service account has the necessary permissions
  • The key file is properly formatted and accessible
  • Environment variables are correctly set
No tools information available.
School MCP
School MCP by 54yyyu

A Model Context Protocol (MCP) server for academic tools, integrating with Canvas and Gradescope platforms.

canvas mcp
View Details
repo-template
repo-template by loonghao

A Model Context Protocol (MCP) server for Python package intelligence, providing structured queries for PyPI packages and GitHub repositories. Features include dependency analysis, version tracking, and package metadata retrieval for LLM interactions.

-

google-calendar mcp
View Details
strava-mcp
strava-mcp by jeremysilva1098

MCP server for strava

strava mcp
View Details

Model Context Protocol (MCP) server implementation for Rhinoceros/Grasshopper integration, enabling AI models to interact with parametric design tools

grasshopper mcp
View Details

MCP configuration to connect AI agent to a Linux machine.

security mcp
View Details

AI assistant built with Streamlit, NVIDIA NIM (LLaMa 3.3:70B) / Ollama, and Model Control Protocol (MCP).

python mcp
View Details