OpenShift MCP Server

io.github.sanjaypsachdev由 GitHub 帳號 sanjaypsachdev 發布v1.2.0更新於 Oct 24, 2026

OpenShift/Kubernetes cluster management via the oc CLI for MCP clients

概覽

AI 產生的概覽

透過 oc 命令列讓 AI 助理管理 OpenShift/Kubernetes 叢集:檢視、建立、修改、刪除資源,部署應用程式、擴縮容並讀取日誌。

可以做什麼
  • 登入叢集,並列出 API 資源、說明資源結構與欄位文件
  • 讀取、描述、建立、套用、修補與刪除 OpenShift/Kubernetes 資源
  • 從 Git 儲存庫以 S2I 建置部署應用程式,並調整工作負載副本數
  • 取得 Pod 與建置日誌,支援日誌取樣與錯誤樣式分析
  • 透過 OLM、Helm 或直接清單安裝 Operator
  • 以 MCP 資源讀取叢集資訊、專案清單與應用程式範本,並提供排錯提示詞
適用情境
適合讓助理直接操作或排查 OpenShift、Kubernetes 叢集的情境,例如從 Git 部署應用程式、擴縮容、查看 Pod 日誌或診斷異常資源,而不必由使用者手動執行 oc 命令。
執行需求
以 stdio 在本機執行(npm 套件經 npx,或 OCI 映像經 podman)。需要 Node.js 20+、已安裝並設定好的 oc 命令列,以及連線 OpenShift 叢集的網路。可選環境變數 OPENSHIFT_CONTEXT 與 OPENSHIFT_NAMESPACE 用來設定預設內容與命名空間。叢集憑證透過 oc_login 工具提供。
安裝前請注意
此伺服器可建立、套用、修補、擴縮容與刪除叢集資源並安裝 Operator,變更會實際生效,且以已驗證使用者的 RBAC 權限執行。叢集權杖或使用者名稱密碼會傳給 oc_login 工具;建議使用最小權限的服務帳號權杖、定期輪替並在結束後登出。另提供 HTTP/SSE 模式,若對外暴露需妥善防護。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 OpenShift MCP Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

OpenShift MCP Server

[CI Pipeline] [CodeQL] [License: MIT] [Node.js Version] [TypeScript] [OpenShift] [Kubernetes] [MCP] [Test Coverage] [Tests] [npm version] [npm downloads] [Docker] [PRs Welcome] [Maintenance]

A Model Context Protocol (MCP) server that provides AI assistants with comprehensive OpenShift/Kubernetes cluster management capabilities through the oc command-line interface.

Demo Video

Watch the oc-new-app tool deploy a complete Spring Boot application from GitHub to OpenShift:

https://github.com/user-attachments/assets/f4bace3f-755b-462f-8a8a-680e4dc02129

Features

  • Cluster Information: Access comprehensive cluster status, nodes and configuration via MCP resources
  • Resource Description: Describe any resource with multiple output formats including human-readable summaries
  • Complete Resource Management: Create, read, update, delete, and patch all OpenShift/Kubernetes resources
  • Application Deployment: Deploy applications from Git repositories with S2I builds and automatic route creation
  • Operator Management: Install operators via OLM, Helm, or direct manifests
  • Cluster Operations: Scaling, monitoring, troubleshooting and management
  • Build Operations: Start and monitor OpenShift builds
  • Scaling Operations: Scale deployments, replicasets and statefulsets
  • Logging: Retrieve logs from pods and builds
  • Multi-Transport Support: STDIO and HTTP/SSE transports for different integration scenarios
  • Comprehensive Testing: 99 unit tests ensuring production reliability
  • Rich Error Handling: Detailed troubleshooting guidance and actionable error messages
  • Troubleshooting Prompts: Interactive troubleshooting guides for common OpenShift scenarios
  • Log Sampling: Sample and analyze pod logs with intelligent pattern detection and context

Prerequisites

  • Node.js 20+
  • OpenShift CLI (oc) installed and configured
  • Access to an OpenShift cluster

Installation

bash
git clone https://github.com/sanjaypsachdev/mcp-server-openshift.gitcd mcp-server-openshiftnpm installnpm run build

Configuration

Add to your MCP client configuration:

Claude Desktop / Cursor

json
{  "mcpServers": {    "openshift": {      "command": "node",      "args": ["/path/to/mcp-server-openshift/dist/index.js"],      "env": {        "OPENSHIFT_CONTEXT": "your-context-name",        "OPENSHIFT_NAMESPACE": "your-default-namespace"      }    }  }}

HTTP/SSE Transport (Remote Access)

bash
# Start HTTP servernpm run start:http
# Connect via MCP remotenpx -y mcp-remote http://localhost:3000/sse --transport sse-only

Tools

Authentication & Access

  • oc_login - Securely log into OpenShift clusters using token or username/password authentication

API Discovery & Documentation

  • oc_api_resources - List all available API resources in the cluster with categorization
  • oc_explain - Explain resource schemas, fields, and API documentation

Core Resource Management

  • oc_get - Get OpenShift resources (pods, deployments, services, routes, etc.)
  • oc_create - Create OpenShift resources from manifests or templates
  • oc_apply - Apply YAML manifests with validation and conflict resolution
  • oc_delete - Delete resources with safety checks and confirmation options
  • oc_patch - Patch resources using strategic merge, JSON merge, or JSON patch operations
  • oc_describe - Describe resources with multiple output formats

Application Lifecycle

  • oc_new_app - Deploy applications from Git repositories with S2I builds
  • oc_scale - Scale deployments, deploymentconfigs, replicasets, and statefulsets
  • oc_logs - Get logs from pods, deployments, builds with filtering options

Advanced Operations

  • oc_install_operator - Install operators via OLM, Helm, or direct manifests

Resources

MCP Resources provide read-only access to cluster information:

  • openshift://cluster-info - Comprehensive cluster status, nodes, namespaces, and events
  • openshift://project-list - Detailed project information with quotas and usage statistics
  • openshift://app-templates - Application deployment templates and patterns

Prompts

Interactive troubleshooting and operational guidance:

  • troubleshoot-openshift-prompt - Comprehensive OpenShift troubleshooting guide for all resource types and cluster issues
  • monitoring-prompts - Monitoring and observability guidance for different scenarios

Sampling

Intelligent log analysis and pattern detection:

  • Pod Logs Sampling - Automatic log sampling with error pattern detection and context analysis

Usage Examples

Login to Cluster

bash
# Login with token (recommended)oc_login with server: "https://api.cluster.example.com:6443",         authMethod: "token",         token: "sha256~your-token-here"
# Login with username/passwordoc_login with server: "https://api.cluster.example.com:6443",         authMethod: "password",         username: "developer",         password: "your-password"

Discover API Resources

bash
# List all available API resourcesoc_api_resources
# List resources for specific API groupoc_api_resources with apiGroup: "apps"
# List only namespaced resourcesoc_api_resources with namespaced: true
# Explain a resource schemaoc_explain with resource: "deployment"
# Explain specific fieldoc_explain with resource: "pod", field: "spec.containers"

Deploy Application

bash
# Deploy Node.js app from GitHuboc_new_app with gitRepo: "https://github.com/sclorg/nodejs-ex.git"

Scale Application

bash
# Scale deployment to 3 replicasoc_scale with name: "my-app", replicas: 3

Patch Resource

bash
# Update deployment labelsoc_patch with resourceType: "deployment", name: "my-app",         patch: '{"metadata":{"labels":{"environment":"production"}}}'

Troubleshoot Issues

bash
# Get pod troubleshooting guidanceUse prompt: troubleshoot-openshift-promptArguments: issueType: "pod", resourceName: "my-app-12345", namespace: "my-project"
# Get deployment troubleshooting guidanceUse prompt: troubleshoot-openshift-promptArguments: issueType: "deployment", resourceName: "my-app", namespace: "my-project"
# Get general cluster troubleshooting guidanceUse prompt: troubleshoot-openshift-promptArguments: issueType: "cluster", symptoms: "nodes not ready"

Development

bash
# Setupnpm install
# Buildnpm run build
# Testnpm test
# Start (STDIO)npm start
# Start (HTTP)npm run start:http
# Development modenpm run dev

Transport Modes

STDIO (Default)

  • Direct MCP client integration
  • Lower latency
  • Recommended for local development

HTTP/SSE

  • Remote access capability
  • Web integration friendly
  • Container deployment ready

Architecture

src/├── index.ts              # Main server entry point├── tools/                # Tool implementations├── resources/            # MCP resources├── prompts/              # Interactive prompts├── sampling/             # Log sampling and analysis├── models/               # Zod validation schemas└── utils/                # OpenShift CLI wrapper

Security

Authentication Security

  • Token Authentication: Preferred method for automation and production use
  • Password Authentication: Available but token authentication is recommended
  • HTTPS Enforcement: All cluster connections must use HTTPS
  • URL Validation: Server URLs validated to prevent SSRF attacks
  • Private IP Blocking: Prevents connections to internal/metadata services

Operational Security

  • RBAC Compliance: Respects OpenShift RBAC permissions
  • No Credential Storage: Credentials are not stored or transmitted by the server
  • User Permissions: Executes with the same permissions as the authenticated user
  • Input Validation: Comprehensive validation of all inputs and parameters
  • Secure Defaults: Conservative security settings by default

Best Practices

  • Use Service Account Tokens: For automation and CI/CD pipelines
  • Regular Token Rotation: Rotate authentication tokens regularly
  • TLS Certificate Validation: Always validate TLS certificates in production
  • Least Privilege: Use accounts with minimal required permissions
  • Session Management: Use oc logout to clear credentials when done

License

MIT License - see LICENSE file for details.

來源:README.md,提交 0abad71

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.2.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分