mcpField
G
GreenDoc - SUSEAI Demo Lab

GreenDoc - SUSEAI Demo Lab

Local
suse.comCloud & Infra0Updated 39w ago

About GreenDoc - SUSEAI Demo Lab

GreenDoc is a SUSE AI demo-lab recipe for deploying a local AI stack on K3s with Rancher Fleet. It documents a Kubernetes MCP server example and connecting it to Open-WebUI to invoke tools from chat.

Key features

  1. 01K3s cluster setup
  2. 02Rancher Fleet deployment
  3. 03SUSE AI stack configuration
  4. 04MCPO server deployment
  5. 05Open-WebUI tool connection

Use cases

  1. 01Setting up a local SUSE AI demo
  2. 02Deploying the stack with Fleet
  3. 03Trying Kubernetes tools in Open-WebUI chat

MCP support

The demo deploys MCPO with the Kubernetes MCP server and shows how to connect Open-WebUI to its service to call tools.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

GreenDoc - SUSEAI Demo Lab

Author: Alessandro Festa

Rev. Number: v1.0

SUSE AI Demo enviroment is a simple document that is intended to describe how to implement a local lab to demonstrate capabilites of SUSE AI in the context of specific usecase If you are interested in understanding more what is SUSE AI please refer to http://suse.com/products/ai

The applications in this repo are pulled from the SUSE Application Collection https://apps.rancher.io/ check the documentation at https://docs.apps.rancher.io/ to learn more about AppCo

This GreenDoc is structured in the following way:

  • Cluster setup
  • Rancher Fleet setup (for automation of the GreenDoc)
  • GreenDoc Configuration
  • GreenDoc deployment
  • Demo

Cluster Setup

For the purpose of this GreenDoc we'll use K3s.

Create namespaces used in the environment
kubectl create namespace cert-manager
kubectl create namespace suseai
Create secrets for namespaces
kubectl create secret docker-registry application-collection \
--docker-server=dp.apps.rancher.io \
--docker-username=<your registered account on appco> \
--docker-password=<INSERT YOUR TOKEN FROM APPCO> \
-n cert-manager
kubectl create secret docker-registry application-collection \
--docker-server=dp.apps.rancher.io \
--docker-username=<your registered account on appco>\
--docker-password=<INSERT YOUR TOKEN FROM APPCO> \
-n suseai
kubectl create secret docker-registry application-collection \
--docker-server=dp.apps.rancher.io \
--docker-username=<your registered account on appco> \
--docker-password=<INSERT YOUR TOKEN FROM APPCO> \
-n fleet-local

Use Rancher Application Collection for components

Deploy cert-manager helm chart
helm upgrade --install cert-manager \
  oci://dp.apps.rancher.io/charts/cert-manager \
  --version 1.17.1 \
  -n cert-manager \
  --create-namespace \
  --set crds.enabled=true \
  --set "global.imagePullSecrets[0].name"="application-collection"
Deploy Rancher Fleet
helm -n cattle-fleet-system install --create-namespace --wait \
    fleet-crd https://github.com/rancher/fleet/releases/download/v0.12.0/fleet-crd-0.12.0.tgz
helm -n cattle-fleet-system install --create-namespace --wait \
    fleet https://github.com/rancher/fleet/releases/download/v0.12.0/fleet-0.12.0.tgz

At this point we are ready to pickup the greendoc recipe

Deploy a minimal SUSEAI Stack with Rancher Fleet

Let's create a minimal github configuration and save it as suseai.yaml

apiVersion: fleet.cattle.io/v1alpha1
kind: GitRepo
metadata:
  name: suseai
  # This namespace is special and auto-wired to deploy to the local cluster
  namespace: fleet-local
spec:
  repo: https://github.com/alessandro-festa/bundles
  helmSecretName: basic-auth-secret
  ociRegistry:
    authSecretName: application-collection
  branch: main
  paths:
  - k8s-assistant

and add a generic secret for basic authentication

kubectl create secret generic basic-auth-secret \--from-literal=username=<your registered account on appco> \
--from-literal=password=<INSERT YOUR TOKEN FROM APPCO> \
-n fleet-local

Now let's execute the config with kubectl

kubectl apply -f rancher-config.yaml

You should have the SUSE AI stack plus an mcpo server installed. We used as example the kubernetes mcp server from https://github.com/manusa/kubernetes-mcp-server

Let's check that!

Checkin MCPO Server

Open a browser and go to http://localhost:8000 you should see an image similar to the one below

MCP Server main page

Click on the kubernetes you should see a similar page

MCP K8s page

Let's authorize and try a simple query Click on the Authorize button and type top-secretas token

MCP Authorization

Now let's move to a test like get node informations. Use the try out option and check the results.

MCP Results

It works!

Configure Open-WebUI

We now need to configure OWUI to use the MCP server. Last release of OWUI has a new feature names "Tools Servers".

Let's open the admin settings

OWUI Admin Settings

Move to Tools

OWUI Tools Settings OWUI Tools Settings

Add the mcp server connection `http://mcp-service.suseai.svc.cluster.local:8000/kubernetes`` OWUI Tools Configuration

if everything goes right you shouild see a succesfull message

OWUI Tools Settings

Now let's configure the model to use the tool

First move to models and select the model you want to use with through the pen icon. Second check two parameters as per images below

OWUI Tools Settings

Switch Function Calling to `native``

OWUI Tools Settings

And finally select the `tool``

OWUI Tools Settings

Click save and try it ... you should see a tool in the chat (see the number 1 in the picture?)

OWUI Tools Settings

Ask something like "list the pods in the namespace suseai"

without and with the tool check the difference! OWUI Tools Settings

OWUI Tools Settings

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.