A web UI for browsing, configuring, and deploying MCP servers on Kubernetes / OpenShift.
- 📋 Catalog — Browse MCP servers from labeled ConfigMaps using the MCP Registry
server.jsonstandard - ⚙️ Configure — Fill in environment variables, arguments, file mounts, and ServiceAccount via web form
- 👁️ Live YAML Preview — See the
MCPServerCR update in real-time as you type (htmx) ▶️ Deploy — CreateMCPServercustom resources, Secrets, and ConfigMaps with one click- 🗑️ Cleanup — Delete running servers and all managed artifacts
Catalog entries are Kubernetes ConfigMaps with the label mcp.x-k8s.io/catalog-entry=true, each containing a server.json aligned with the MCP Registry standard:
{ "name": "io.example/my-mcp-server", "title": "My MCP Server", "description": "Does useful things via MCP", "version": "1.0.0", "packages": [{ "registryType": "oci", "identifier": "quay.io/example/my-mcp-server:latest", "transport": { "type": "streamable-http" }, "environmentVariables": [ { "name": "API_KEY", "isSecret": true, "isRequired": true } ] }], "_meta": { "io.openshift/k8s": { "defaultPort": 8080 } } }Kubernetes-specific extensions live under _meta → io.openshift/k8s per the standard's publisher metadata mechanism.
- Kubernetes / OpenShift cluster with the MCP Lifecycle Operator installed
kubectl/occonfigured
Single-file install (namespaces, RBAC, deployment, service, and sample catalog):
kubectl apply -f dist/mcp-launcher.yamlOr step-by-step:
make catalog # Create mcp-catalog namespace + sample ConfigMaps make deploy # Create mcp-system namespace + RBAC + Deployment + Servicekubectl -n mcp-system port-forward svc/mcp-launcher 8080:8080Then open http://localhost:8080.
make build # Build binary to bin/mcp-launcher make run # Build and run locally (uses kubeconfig) make fmt # Format code make vet # Vet code make test # Run testsmake docker-build # Build with podman (ubi9/go-toolset + ubi9-micro) make docker-push # Push to quay.io/matzew/mcp-launcher:latest├── main.go # HTTP server, routes, kubeconfig ├── catalog/ │ ├── types.go # MCP Registry-aligned structs │ └── catalog.go # ConfigMap-backed catalog store ├── handlers/ │ └── handlers.go # HTTP handlers (catalog, configure, run, delete) ├── templates/ # Go HTML templates (htmx) ├── deploy/ │ ├── catalog/ # Sample catalog ConfigMaps (5 servers) │ ├── deployment.yaml # Deployment + Service │ └── rbac/ # ServiceAccount, ClusterRole, ClusterRoleBinding ├── dist/ │ └── mcp-launcher.yaml # Single-file install (all resources) ├── Dockerfile # Multi-stage: ubi9/go-toolset → ubi9-micro └── Makefile Apache License 2.0 — see LICENSE.