K
Kruize MCP Server
by @kruize
MCP Server for Kruize
Created 2/16/2026
Updated about 9 hours ago
README
Repository documentation and setup instructions
Kruize MCP Server
MCP Server providing tools for Kruize recommendations and experiments.
Quick Start
Choose your platform:
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/orhttp://localhost:8082/mcp/depending on configuration
MCP Tools
listAllRecommendations- Get all recommendationsgetCostOptimizedRecommendations- Get cost recommendations for all the experimentslistAllExperiments- Get all experimentsgetIdleWorkloads- 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"
]
}
}
}