Nexus Proxy를 통해 패키지를 가져올 수 있는 Linux 서버 환경이라면, 굳이 로컬 PC에 툴을 설치할 필요가 없습니다. Linux 서버를 MCP 호환 API 서버로 만들고, 웹 브라우저에서 이를 제어하는 Web-based AI 대시보드를 구축하는 것이 가장 깔끔한 방법입니다.
Air-gap 내 리눅스 서버에서 구축하는 최적의 아키텍처를 안내해 드립니다.
Nexus를 통해 바이너리를 가져와 설치한 후 모델을 로드합니다.
# 모델 다운로드 (Nexus 프록시 설정이 되어 있다면)
ollama run llama3.1
Nexus를 통해 필요한 Node.js 또는 Python 패키지를 설치합니다.
# 예: Kubernetes MCP 서버 설치 (npm proxy 설정 필수)
npm install -g @modelcontextprotocol/server-kubernetes
사용자는 웹 브라우저를 통해 리눅스 서버의 8080 포트로 접속하게 됩니다. 설치 권한이 제한적이라면 Docker 없이 가상환경으로도 실행 가능합니다.
# Docker 사용 시
docker run -d -p 8080:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/data --name open-webui ghcr.io/open-webui/open-webui:main
Open WebUI 설정 화면에서 MCP 서버를 등록하면, 채팅 창에서 즉시 AI가 K8s나 Grafana 데이터를 가져올 수 있습니다.
http://linux-server-ip:8080)Name: k8s-mcpType: stdio (리눅스 서버 로컬 명령 실행)Command: npxArgs: -y, @modelcontextprotocol/server-kubernetes웹 화면 채팅창에 다음과 같이 입력하면 리눅스 서버의 AI가 클러스터를 분석하여 리포트를 보여줍니다.
kubernetes MCP 서버를 통해 kubectl get pods 실행.kubectl logs 실행..npmrc 파일에 Nexus 주소를 설정하여 npx 명령어가 외부망이 아닌 Nexus를 바라보게 하세요.pip config set global.index-url 명령어로 Nexus의 PyPI 프록시를 설정하세요.open-webui 이미지를 pull 받으세요.이렇게 구축하면 사용자는 Windows 환경 제약 없이, 웹 브라우저만으로 강력한 AI 기반 모니터링 환경을 누릴 수 있습니다.
다음 단계로 무엇을 도와드릴까요?
===
네, 충분히 가능합니다. 인터넷이 되는 곳에서 필요한 패키지와 의존성을 모두 내려받은 뒤, 그 결과물(바이너리 및 라이브러리)만 압축해서 리눅스 서버로 옮기는 "오프라인 패키징(Sideloading)" 방식을 사용하면 됩니다.
Node.js 기반인 Kubernetes MCP 서버를 에어갭 환경으로 이식하는 구체적인 방법을 정리해 드립니다.
가장 깔끔한 방법은 npm install이 완료된 전체 폴더를 통째로 옮기는 것입니다.
mkdir k8s-mcp-server && cd k8s-mcp-server
npm init -y
# 전역(-g)이 아닌 현재 폴더에 설치하여 의존성을 가둡니다.
npm install @modelcontextprotocol/server-kubernetes
node_modules 폴더 안에 모든 실행 로직이 들어있습니다.tar -cvzf k8s-mcp.tar.gz ./opt/mcp/k8s)에 풀고 권한을 부여합니다.node 바이너리는 설치되어 있어야 합니다. (설치 권한이 없다면 Node.js 공식 홈페이지에서 제공하는 node-vXX-linux-x64.tar.xz 바이너리만 받아 압축 풀고 PATH만 걸어주면 됩니다.)Open WebUI의 MCP 설정창에서 npx 대신 직접 경로를 지정하여 실행해야 합니다.
node/opt/mcp/k8s/node_modules/@modelcontextprotocol/server-kubernetes/dist/index.js
(참고: 패키지 구조에 따라 dist/index.js 또는 build/index.js일 수 있으니 내부 파일을 확인해 보세요.)
만약 Node.js 관리가 번거롭다면, 최근에는 Go나 Rust로 작성된 MCP 서버들이 나오고 있습니다. 이들은 의존성 없이 단일 실행 파일(.exe 또는 바이너리) 하나만 옮기면 바로 작동합니다.
node_modules 수천 개의 파일을 옮길 필요 없이 파일 하나만 복사하면 끝입니다.mcp-k8s-server 등을 검색하여 Go 기반 바이너리를 내려받아 활용해 보세요.정 안 된다면, 파이썬이나 쉘 스크립트로 직접 kubectl 결과를 JSON으로 뱉어주는 초경량 MCP 서버를 직접 짤 수도 있습니다.
# 매우 단순화된 형태의 예시 (mcp_k8s.py)
import json, subprocess, sys
def get_pods():
result = subprocess.check_output(["kubectl", "get", "pods", "-o", "json"])
return json.loads(result)
# ... MCP 규격에 맞게 stdio 응답 로직 추가 ...
이 방식은 추가 라이브러리 설치 없이 기존에 설치된 kubectl과 python만으로 AI 모니터링을 구현할 수 있게 해줍니다.
다음 단계로 무엇을 도와드릴까요?
===