MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

K
Kruize MCP Server

MCP Server for Kruize

Created 2/16/2026
Updated about 9 hours ago
Repository documentation and setup instructions

Kruize MCP Server

MCP Server providing tools for Kruize recommendations and experiments.

Quick Start

Choose your platform:

  • OpenShift - Deploy on OpenShift clusters
  • Minikube - Deploy on Minikube for local development

OpenShift

Deploy

# 1. Clone and build
git clone https://github.com:kruize/kruize-mcp-server.git
cd kruize-mcp-server
./mvnw install

# 2. Deploy Kruize
./local_monitoring_demo.sh -c openshift -e container

# 3. Build and push image
docker build -t <registry>/<username>/kruize-mcp-server:<tag> .
docker push <registry>/<username>/kruize-mcp-server:<tag>

# 4. Deploy MCP server (in openshift-tuning namespace)
oc apply -f manifests/kruize-mcp-server-openshift.yaml -n openshift-tuning
oc expose service kruize-mcp-server-service -n openshift-tuning

# 5. Get URL and connect Inspector
oc get route kruize-mcp-server-service -n openshift-tuning --template='{{ .spec.host }}'
npx @modelcontextprotocol/inspector http://<route-url>/mcp/

Deployment Location: openshift-tuning namespace (same as Kruize)


Minikube

Deploy

# 1. Clone
git clone https://github.com:kruize/kruize-mcp-server.git
cd kruize-mcp-server

# 2. Deploy Kruize (sets up Minikube + Prometheus)
git clone https://github.com/kruize/kruize-demos.git
cd kruize-demos/monitoring/local_monitoring
./local_monitoring_demo.sh -c minikube -f -e container

# 3. Get Kruize connection details
# Get Kruize URL (Minikube IP + NodePort)
KRUIZE_URL=$(echo "http://$(minikube ip):$(kubectl get svc kruize -n monitoring -o jsonpath='{.spec.ports[0].nodePort}')")
echo "Kruize URL: $KRUIZE_URL"

# 4. Deploy MCP server
cd kruize-mcp-server
# Update the KRUIZE_URL in the manifest file with the value from above
# Edit manifests/kruize-mcp-server-minikube.yaml and replace <minikube-ip>:<kruize-port> with the actual URL
kubectl apply -f manifests/kruize-mcp-server-minikube.yaml
kubectl wait --for=condition=ready pod -l app=kruize-mcp-server -n monitoring --timeout=120s

# 5. Port forward and connect Inspector
kubectl port-forward -n monitoring service/kruize-mcp-server-service 8082:8082
npx @modelcontextprotocol/inspector http://localhost:8082/mcp/

Note: Kruize MCP server uses port 8082 (Kruize uses 8080/8081)


Important: After connecting with Inspector tool, verify the URL matches your deployment in the Inspector tool UI:

  • OpenShift: Use the MCP server route URL from oc get route kruize-mcp-server-service -n openshift-tuning
  • Minikube: Use http://localhost:8082/mcp/ (after port-forward)
  • Local JAR: Use http://localhost:8080/mcp/ or http://localhost:8082/mcp/ depending on configuration

MCP Tools

  • listAllRecommendations - Get all recommendations
  • getCostOptimizedRecommendations - Get cost recommendations for all the experiments
  • listAllExperiments - Get all experiments
  • getIdleWorkloads - Get idle workloads which have specific notification code 323001. Optionally includes cost recommendations data

Local Development

Run from JAR - OpenShift Configuration

# 1. Build the project
./mvnw clean install

# 2. Get your Kruize route URL
KRUIZE_URL=$(oc get route kruize -n openshift-tuning --template='http://{{ .spec.host }}')
echo "Kruize URL: $KRUIZE_URL"

# 3. Run the JAR file with Kruize URL (port 8080)
KRUIZE_URL=$KRUIZE_URL java -jar target/kruize-mcp-server-1.0-SNAPSHOT-runner.jar

# 4. Connect Inspector
npx @modelcontextprotocol/inspector http://localhost:8080/mcp/

Custom Kruize URL (if needed):

# Replace with your actual Kruize route URL
KRUIZE_URL=http://kruize-openshift-tuning.apps.your-cluster.com java -jar target/kruize-mcp-server-1.0-SNAPSHOT-runner.jar

Run from JAR - Minikube Configuration

# 1. Build the project
./mvnw clean install

# 2. Get Kruize URL (Minikube IP + NodePort)
KRUIZE_URL=$(echo "http://$(minikube ip):$(kubectl get svc kruize -n monitoring -o jsonpath='{.spec.ports[0].nodePort}')")
echo "Kruize URL: $KRUIZE_URL"

# 3. Run the JAR file (port 8082 to avoid conflict with Kruize on 8080/8081)
QUARKUS_HTTP_PORT=8082 KRUIZE_URL=$KRUIZE_URL java -jar target/kruize-mcp-server-1.0-SNAPSHOT-runner.jar

# 4. Connect Inspector
npx @modelcontextprotocol/inspector http://localhost:8082/mcp/

Custom Kruize URL (if needed):

# Replace with your actual Kruize URL
QUARKUS_HTTP_PORT=8082 KRUIZE_URL=http://192.168.49.2:30080 java -jar target/kruize-mcp-server-1.0-SNAPSHOT-runner.jar
Quick Setup
Installation guide for this server

Installation Command (package not published)

git clone https://github.com/kruize/kruize-mcp-server
Manual Installation: Please check the README for detailed setup instructions and any additional dependencies required.

Cursor configuration (mcp.json)

{ "mcpServers": { "kruize-kruize-mcp-server": { "command": "git", "args": [ "clone", "https://github.com/kruize/kruize-mcp-server" ] } } }