Skip to content

appleboy/gke-mcp

 
 

Repository files navigation

GKE MCP Server

Enable MCP-compatible AI agents to interact with Google Kubernetes Engine.

A demonstration of using the GKE MCP server with the Gemini CLI

Installation

Choose a way to install the MCP Server and then connect your AI to it.

Install the MCP Server

Quick Install (Linux & macOS only)

curl -sSL https://raw.githubusercontent.com/GoogleCloudPlatform/gke-mcp/main/install.sh | bash

Manual Install

If you haven't already installed Go, follow these instructions.

Once Go is installed, run the following command to install gke-mcp:

go install github.com/GoogleCloudPlatform/gke-mcp@latest

The gke-mcp binary will be installed in the directory specified by the GOBIN environment variable. If GOBIN is not set, it defaults to $GOPATH/bin and, if GOPATH is also not set, it falls back to $HOME/go/bin.

You can find the exact location by running go env GOBIN. If the command returns an empty value, run go env GOPATH to find the installation directory.

For additional help, refer to the troubleshoot section: gke-mcp: command not found.

Add the MCP Server to your AI

Gemini CLI

Install it as a gemini-cli extension:

gke-mcp install gemini-cli

This will create a manifest file in ./.gemini/extensions/gke-mcp that points to the gke-mcp binary.

Other AIs

For AIs that support JSON configuration, usually you can add the MCP server to your existing config with the below JSON. Don't copy and paste it as-is, merge it into your existing JSON settings.

{
  "mcpServers": {
    "gke-mcp": {
      "command": "gke-mcp"
    }
  }
}

MCP Tools

  • cluster_toolkit: Creates AI optimized GKE Clusters.
  • list_clusters: List your GKE clusters.
  • get_cluster: Get detailed about a single GKE Cluster.
  • giq_generate_manifest: Generate a GKE manifest for AI/ML inference workloads using Google Inference Quickstart.
  • list_recommendations: List recommendations for your GKE clusters.
  • query_logs: Query Google Cloud Platform logs using Logging Query Language (LQL).
  • get_log_schema: Get the schema for a specific GKE log type.

MCP Context

In addition to the tools above, a lot of value is provided through the bundled context instructions.

  • Cost: The provided instructions allows the AI to answer many questions related to GKE costs, including queries related to clusters, namespaces, and Kubernetes workloads.

  • GKE Known Issues: The provided instructions allows the AI to fetch the latest GKE Known issues and check whether the cluster is affected by one of these known issues.

Supported MCP Transports

By default, gke-mcp uses the stdio transport. Additionally, the Streamable HTTP transport is supported as well.

You can set the transport mode using the following options:

--server-mode: transport to use for the server: stdio (default) or http

--server-port: server port to use when server-mode is http or sse; defaults to 8080

gke-mcp --server-mode http --server-port 8080

Warning

When using the Streamable HTTP transport, the server listens on all network interfaces (e.g., 0.0.0.0), which can expose it to any network your machine is connected to. Please ensure you have a firewall ad/or other security measures in place to restrict access if the server is not intended to be public.

Connecting Gemini CLI to the HTTP Server

To connect Gemini CLI to the gke-mcp HTTP server, you need to configure the CLI to point to the correct endpoint. You can do this by updating your ~/.gemini/settings.json file. For a basic setup without authentication, the file should look like this:

{
  "mcpServers": {
    "gke": {
      "httpUrl": "http://127.0.0.1:8080/mcp"
    }
  }
}

This configuration tells Gemini CLI how to reach the gke-mcp server running on your local machine at port 8080.

Development

To compile the binary and update the gemini-cli extension with your local changes, follow these steps:

  1. Remove the global gke-mcp configuration

    rm -rf ~/.gemini/extensions/gke-mcp
  2. Build the binary from the root of the project:

    go build -o gke-mcp .
  3. Run the installation command to update the extension manifest:

    ./gke-mcp install gemini-cli --developer

    This will make gemini-cli use your locally compiled binary.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 81.3%
  • Shell 18.7%