Google Cloud MCP Server
@krzko
🤖 A Model Context Protocol (MCP) server for Google Cloud
Overview
What is 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. It currently supports Google Cloud Logging, Google Cloud Monitoring, and Google Cloud Spanner.
How to use Google Cloud MCP Server?
Clone the repository, install dependencies with pnpm install, and build with pnpm build. Authenticate via gcloud auth application-default login, then configure the mcpServers entry in your client with the path to the built index.js and set GOOGLE_APPLICATION_CREDENTIALS or GOOGLE_CLIENT_EMAIL/GOOGLE_PRIVATE_KEY for authentication. Start the server with pnpm start.
Key features of Google Cloud MCP Server
- Query and filter log entries from Google Cloud Logging
- Execute SQL queries against Spanner databases
- List available databases and tables in Spanner
- Query metrics with custom filters from Google Cloud Monitoring
- Visualise metric data over time from Monitoring
- List available metric types from Monitoring
Use cases of Google Cloud MCP Server
- Retrieve and analyze logs within specific time ranges from Google Cloud Logging
- Explore database schema and run SQL queries on Cloud Spanner
- Monitor cloud infrastructure by querying metrics and viewing trends
- Diagnose issues by correlating logs and monitoring data
- Automate Google Cloud resource inspection via natural language agent tools
FAQ from Google Cloud MCP Server
How do I authenticate with Google Cloud?
The server supports two methods: set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account key file path, or set GOOGLE_CLIENT_EMAIL and GOOGLE_PRIVATE_KEY directly. It can also use GOOGLE_CLOUD_PROJECT if set.
What Google Cloud services are supported?
Currently supported: Google Cloud Logging, Google Cloud Monitoring, and Google Cloud Spanner. Services in development include Trace, IAM, Compute, Run, and Storage.
Why does the server timeout during initialization with Smithery?
Timeouts may occur due to authentication delays. Enable lazyAuth: true and set debug: true in your configuration to defer authentication until needed. Authentication is still required for operation.
What runtime dependencies are needed?
Node.js and pnpm are required to build and run the server. The server uses the Model Context Protocol and Google Cloud client libraries.
Can I use environment variables for authentication?
Yes, set GOOGLE_CLIENT_EMAIL and GOOGLE_PRIVATE_KEY environment variables instead of a key file. This is useful in environments where storing a key file is impractical.