diff --git a/STATUS.md b/STATUS.md index 8a4f0a4..b3af19d 100644 --- a/STATUS.md +++ b/STATUS.md @@ -19,6 +19,7 @@ Last validated: 2026-02-17 - ✓ freecad-mcp: Working (FreeCADMCP v1.25.0) - requires FreeCAD with addon running - ✓ ghost-mcp: Working (ghost-mcp-ts v1.0.0) - requires Ghost CMS credentials - ✓ gimp-mcp: Working (GimpMCP v1.10.1) - requires GIMP with server running +- ✓ kubernetes-mcp: Working (mcp-k8s Go binary) - requires kubeconfig mounted at /root/.kube/config - ✗ imap-mcp: Not working - requires working IMAP server (server crashes on startup if IMAP unreachable) **MCP Servers with Configuration Issues:** @@ -45,7 +46,7 @@ Last validated: 2026-02-17 - elasticsearch-mcp: Built (v0.2.1) - stdio-based, Rust-based, requires ES_URL - bash-language-server: Built (v5.6.0) - configured in crush.json via wrapper script - docker-language-server: Built (v0.0.0) - configured in crush.json via wrapper script -- marksman: Built (2025-12-13) - configured in crush.json via wrapper script +- ✓ kubernetes-mcp: Built (silenceper/mcp-k8s) - stdio-based, requires kubeconfig mount **Builds in Progress:** - None @@ -94,7 +95,7 @@ All the following ahujasid repositories exist but contain no code (empty repos w | kicad-mcp | Host-Only | Container builds successfully (463MB) but cannot run containerized. Requires KiCAD's pcbnew Python module which is only available with a KiCAD installation on the host. Cannot be pip-installed. Use on host machine only. | | matomo-mcp | Blocked | Cannot build - vendor repository does not exist. CloneVendorRepos.sh references https://github.com/ahujasid/matomo-mcp-client.git which returns 404. | | discourse-mcp | Blocked | Cannot build - vendor repository exists but is empty. CloneVendorRepos.sh references https://github.com/ahujasid/discourse-mcp.git which has no commits. | -| kubernetes-mcp | Blocked | Cannot build - ahujasid/kubernetes-mcp-server repo is empty. Alternative: silenceper/mcp-k8s has content and Dockerfile. | +| kubernetes-mcp | Built | Container built from Go source (67MB). Uses silenceper/mcp-k8s alternative repo. Multi-stage build with golang:1.24.1 and alpine:3.18.4. MCP stdio-based, requires kubeconfig mounted at /root/.kube/config. Supports K8s resources and Helm operations. | | proxmox-mcp | Blocked | Cannot build - vendor repository https://github.com/ahujasid/ProxmoxMCP.git is empty (no code). | | terraform-mcp | Blocked | Cannot build - vendor repository https://github.com/ahujasid/terraform-mcp-server.git is empty (no code). | | nextcloud-mcp | Blocked | Cannot build - vendor repository https://github.com/ahujasid/nextcloud-mcp-server.git is empty (no code). | diff --git a/crush.json b/crush.json index 567f2f5..9f8c28a 100644 --- a/crush.json +++ b/crush.json @@ -72,6 +72,11 @@ "command": "/home/charles/Projects/KNEL/KNEL-AIMiddleware/mcp-imap-wrapper.sh", "timeout": 60 }, + "kubernetes": { + "type": "stdio", + "command": "/home/charles/Projects/KNEL/KNEL-AIMiddleware/mcp-kubernetes-wrapper.sh", + "timeout": 60 + }, "docspace": { "type": "stdio", "command": "/home/charles/Projects/KNEL/KNEL-AIMiddleware/mcp-docspace-wrapper.sh", diff --git a/docker-compose.yml b/docker-compose.yml index ac026cd..e61a49e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -55,12 +55,10 @@ services: kubernetes-mcp: image: kneldevstack-aimiddleware-kubernetes-mcp build: - context: ./vendor/kubernetes-mcp-server + context: ./vendor/mcp-k8s dockerfile: Dockerfile container_name: kneldevstack-aimiddleware-kubernetes-mcp restart: unless-stopped - ports: - - "8081:8080" volumes: - ~/.kube/config:/root/.kube/config:ro profiles: diff --git a/mcp-kubernetes-wrapper.sh b/mcp-kubernetes-wrapper.sh new file mode 100755 index 0000000..8514b47 --- /dev/null +++ b/mcp-kubernetes-wrapper.sh @@ -0,0 +1,5 @@ +#!/bin/bash +docker run -i --rm \ + -v ~/.kube/config:/root/.kube/config:ro \ + kneldevstack-aimiddleware-kubernetes-mcp \ + --transport stdio