
Lumino MCP Server
io.github.geored由 GitHub 帳號 geored 發布v0.9.2更新於 Oct 24, 2026
AI-powered SRE observability for Kubernetes/OpenShift with 40+ Tekton debugging tools
概覽
讓助理檢查 Kubernetes 與 OpenShift 叢集、偵錯 Tekton 流水線,並分析日誌、事件與憑證。
- 可以做什麼
- Lumino 提供 40 多個叢集操作工具:列出命名空間與 Pod、查詢任意 Kubernetes 資源、依標籤搜尋,以及查詢封存資源。它涵蓋 Tekton CI/CD,包括列出 PipelineRun 與 TaskRun、取得日誌、失敗根因分析與跨叢集流水線追蹤。其他工具可彙總與語意搜尋日誌、偵測異常、分析事件、預測資源瓶頸、檢查憑證到期,並模擬設定變更。
- 適用情境
- 適合 SRE 與平台維運情境,讓助理調查叢集健康狀態、排查失敗的流水線,或根據日誌與事件解釋故障。已有 kubectl 或 oc 存取權限、且需要以讀取為主的診斷而非叢集管理時最合適。
- 執行需求
- 以 Python 套件形式透過 stdio 在本機執行(需要 Python 3.10+;可用 uvx 或 pip 安裝)。需要具備讀取權限的有效 kubeconfig,透過 KUBECONFIG 環境變數或預設 kubeconfig 路徑提供。選用的 Prometheus 或 Thanos 端點與權杖可啟用指標與預測功能;選用的 KubeArchive 可啟用歷史查詢。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Lumino MCP Server,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
LUMINO MCP Server
[License] [Python] [MCP] [PyPI]
An open source MCP (Model Context Protocol) server empowering SREs with intelligent observability, predictive analytics, and AI-driven automation across Kubernetes, OpenShift, and Tekton environments.
Table of Contents
- Overview
- Features
- Quick Start
- Team Onboarding Guide
- Prerequisites
- Installation
- Usage Examples
- Configuration
- ML Model Persistence
- KubeArchive Integration
- Prometheus/Thanos Integration
- Available Tools
- Architecture
- How It Works
- MCP Client Integration
- Performance Considerations
- Troubleshooting
- Dependencies
- Contributing
- Security
- License
- Acknowledgments
Team Onboarding Guide
New to the SPRE MCP diagnostics stack (Lumino, PagerDuty, Slack, DevLake, ngit-memory, GitHub, GitLab, Konflux Portal, Sumo Logic, Jira)? Start here:
- docs/ONBOARDING_GUIDE.md — setup, first diagnostic, troubleshooting, three worked examples, and expected tool outputs
Overview
LUMINO MCP Server transforms how Site Reliability Engineers (SREs) and DevOps teams interact with Kubernetes clusters. By exposing 39 specialized tools through the Model Context Protocol, it enables AI assistants to:
- Monitor cluster health, resources, and pipeline status in real-time
- Analyze logs, events, and anomalies using statistical and ML techniques
- Troubleshoot failed pipelines with automated root cause analysis
- Predict resource bottlenecks and potential issues before they occur
- Simulate configuration changes to assess impact before deployment
Features
Kubernetes & OpenShift Operations
- Namespace and pod management
- Resource querying with flexible output formats
- Label-based resource search across clusters
- OpenShift operator and MachineConfigPool status
- etcd log analysis
Tekton Pipeline Intelligence
- Pipeline and task run monitoring across namespaces
- Detailed log retrieval with optional cleaning
- Failed pipeline root cause analysis
- Cross-cluster pipeline tracing
- CI/CD performance baselining
Advanced Log Analysis
- Smart log summarization with configurable detail levels
- Streaming analysis for large log volumes
- Hybrid analysis combining multiple strategies
- Semantic search using NLP techniques
- Anomaly detection with severity classification
Predictive & Proactive Monitoring
- Statistical anomaly detection using z-score analysis
- Predictive log analysis for early warning
- Resource bottleneck forecasting
- Certificate health monitoring with expiry alerts
- TLS certificate issue investigation
Event Intelligence
- Smart event retrieval with multiple strategies
- Progressive event analysis (overview to deep-dive)
- Advanced analytics with ML pattern detection
- Log-event correlation
Simulation & What-If Analysis
- Monte Carlo simulation for configuration changes
- Impact analysis before deployment
- Risk assessment with configurable tolerance
- Affected component identification
Quick Start
Get started with LUMINO in under 2 minutes:
For Claude Code CLI Users (Easiest)
Simply ask Claude Code to provision the Lumino MCP server for you by pasting this prompt:
For Other MCP Clients
Choose your preferred installation method:
- MCPM (Recommended):
mcpm install @spre-sre/lumino-mcp-server - Manual Setup: See detailed MCP Client Integration instructions
Verify Installation
Once installed, test with a simple query:
Prerequisites
Required
- Python 3.10 or higher - Core runtime
- MCP Client - One of:
For Kubernetes Features
- Kubernetes/OpenShift Access - Valid kubeconfig with read permissions
- RBAC Permissions - Ability to list pods, namespaces, and other resources
Optional (Recommended)
- uv - Faster dependency management than pip
- MCPM - Easiest installation experience
- Prometheus - For advanced metrics and forecasting features
Installation
Using uv (recommended)
Using pip
Usage
Local Mode (stdio transport)
By default, the server runs in local mode using stdio transport, suitable for direct integration with MCP clients:
Kubernetes Mode (HTTP streaming transport)
When running inside Kubernetes, set the namespace environment variable to enable HTTP streaming:
The server automatically detects the environment and switches transport modes.
Usage Examples
🔍 Intelligent Root Cause Analysis
Investigate and diagnose complex failures with automated analysis:
🎯 Predictive Intelligence & Forecasting
Anticipate problems before they impact your systems:
🧪 Simulation & What-If Analysis
Test changes safely before applying them to production:
🗺️ Topology & Dependency Mapping
Understand system architecture and component relationships:
🔬 Advanced Investigation & Forensics
Deep-dive into complex issues with multi-faceted analysis:
📊 CI/CD Pipeline Intelligence
Optimize and troubleshoot your continuous delivery pipelines:
🎨 Progressive Event Analysis
Multi-level event investigation from overview to deep-dive:
🚀 Real-Time Monitoring & Alerts
Stay informed about cluster health and pipeline status:
🔐 Security & Compliance
Ensure cluster security and certificate management:
📈 Advanced Analytics & ML Insights
Leverage machine learning for pattern detection:
Configuration
Kubernetes Authentication
The server automatically detects Kubernetes configuration:
- In-cluster config - When running inside a Kubernetes pod
- Local kubeconfig - When running locally (uses
~/.kube/config)
Environment Variables
ML Model Persistence
The predictive_log_analyzer tool persists trained ML models and training data locally in ~/.lumino/. This enables model reuse across server restarts and incremental learning from historical failure patterns.
Directory Structure
Model IDs follow the pattern predictive_log_v1_YYYYMMDD_HHMMSS.
Training Data Database
The SQLite database (training_data.db) contains four tables:
All four tables define a cluster_id column for multi-cluster support. Currently, only log_samples and failure_labels actively populate it during writes; log_failure_correlations and training_runs leave it NULL. The cluster ID is derived from the active kubeconfig context name (e.g. api-stone-prod-p02-hjvn-p1-openshiftapps-com:6443) or falls back to in-cluster-{KUBERNETES_SERVICE_HOST} when running inside a pod.
Clearing Stale Data
Programmatic cleanup via the manage_prediction_training_data tool (action cleanup):
cleanup_old_models(max_age_days=30, keep_min=3)-- removes models older than 30 days, always keeping the 3 most recentcleanup_old_data(max_age_days=90)-- removes log samples, failure labels, and correlations older than 90 days
Manual cleanup:
Disk usage note: Models accumulate over time. The default cleanup keeps models up to 30 days old with a minimum of 3 retained. Training data is kept for 90 days. Run the manage_prediction_training_data tool with action cleanup periodically to reclaim disk space.
KubeArchive Integration
KubeArchive stores Kubernetes resources off-cluster and provides a REST API for historical resource states and logs. LUMINO uses KubeArchive as a fallback when pods, PipelineRuns, or TaskRuns have been garbage-collected from the live cluster. The query_kubearchive tool queries this archive transparently.
Endpoint Auto-Discovery
The endpoint is discovered automatically using a 5-step chain (first match wins):
KUBEARCHIVE_HOSTenvironment variable (highest priority)- OpenShift Route named
kubearchive-api-serverin namespaces:kubearchive,product-kubearchive,default - Kubernetes Ingress named
kubearchive-api-serverin the same namespaces - Kubernetes Service named
kubearchive-api-server(in-cluster DNS:https://kubearchive-api-server.<namespace>.svc.cluster.local:<port>) - Kubeconfig-based Route inference -- constructs candidate URLs from the API server domain (pattern:
https://kubearchive-api-server-{namespace}.apps.{cluster-domain}) and probes/livez
Results are cached at startup. On connection failure, the cache is cleared and re-probed on the next request.
Local Development (Port-Forwarding)
When running outside the cluster, if an in-cluster Service endpoint is discovered (step 4), LUMINO automatically sets up kubectl port-forward:
- Tries ports 8081--8090, then falls back to a system-assigned port
- The port-forward process is auto-started and auto-cleaned up on server exit
- If
kubectlis not available, LUMINO logs a manual fallback command for the user
Authentication
KubeArchive authentication uses the following priority chain:
- Provided token (from constructor / previous session)
- In-cluster service account token (
/var/run/secrets/kubernetes.io/serviceaccount/token) - Existing Kubernetes client token (extracted from the API client initialized at server startup)
- OpenShift
oc whoami -ttoken (for OpenShift clusters) - Auto-created short-lived service account token (
kubectl create token, 1-hour duration, Kubernetes only)
Resource Management & Cleanup
The KubeArchiveEndpointDiscovery class implements robust subprocess cleanup for kubectl port-forward processes to prevent resource leaks.
Recommended Usage: Context Manager
Use the with statement for deterministic cleanup:
Automatic Cleanup Layers
When used without explicit context management, the class provides three fallback cleanup mechanisms:
atexithandler — Cleans up port-forward on normal interpreter shutdown- Signal handlers (
SIGTERM/SIGINT) — Graceful cleanup on termination, chains to original handlers __del__finalizer — Last-resort fallback (not guaranteed timing)
The context manager approach is preferred for deterministic resource cleanup.
KubeArchive Configuration
See the Configuration section above for KUBEARCHIVE_HOST and KUBEARCHIVE_ENABLED environment variables.
Prometheus/Thanos Integration
LUMINO auto-discovers Prometheus or Thanos Query endpoints for the prometheus_query, resource_bottleneck_forecaster, and ci_cd_performance_baselining_tool tools. Thanos Query implements the Prometheus HTTP API and is preferred when available since it provides a unified, deduplicated view across replicas.
Endpoint Discovery Priority
Auto-discovery order depends on runtime environment:
- In-cluster: Thanos services --> Prometheus services --> Prometheus Operator CRD --> OpenShift Routes
- Local/outside cluster: OpenShift Routes --> Thanos services --> Prometheus Operator CRD --> Prometheus services
Auto-Discovery Details
OpenShift Routes: Searches the openshift-monitoring namespace. Prefers the thanos-querier route over prometheus-k8s. Falls back to any route with prometheus in the name. Detects protocol from TLS termination config.
Thanos Services: Searches namespaces openshift-monitoring, monitoring, thanos, observability, kube-prometheus. Priority service names: thanos-query-frontend, thanos-querier, thanos-query. Also searches via label selectors: app.kubernetes.io/name=thanos-query, app.kubernetes.io/component=query,app.kubernetes.io/name=thanos, app=thanos-query, app=thanos-querier.
Prometheus Services: Searches namespaces openshift-monitoring, monitoring, prometheus, kube-prometheus, observability. Priority service names: prometheus-server, prometheus-k8s, prometheus. Also searches via label selectors: app=prometheus, app.kubernetes.io/name=prometheus, app.kubernetes.io/component=prometheus.
Prometheus Operator CRD: Discovers via monitoring.coreos.com/v1 Prometheus custom resources and their associated services (pattern: prometheus-{name} in the same namespace).
Prometheus/Thanos Authentication
Authentication for Prometheus/Thanos uses the following 5 methods in priority order:
oc whoami -t-- fresh OpenShift token (most reliable for OpenShift)- Re-read kubeconfig file for current token
- In-memory Kubernetes client config token
- ServiceAccount token file (
/var/run/secrets/kubernetes.io/serviceaccount/token) - Environment variables:
PROMETHEUS_TOKEN,OPENSHIFT_TOKEN,OC_TOKEN(checked in that order)
Configuration Example
Note: The endpoint cache has a 5-minute TTL. If you change THANOS_URL or PROMETHEUS_URL at runtime, the new value takes effect on the next query.
Available Tools
Kubernetes Core (5 tools)
Tekton Pipelines (6 tools)
Log Analysis (8 tools)
Event Analysis (3 tools)
Failure Analysis & RCA (2 tools)
Resource Monitoring (4 tools)
Namespace Investigation (2 tools)
Certificate & Security (2 tools)
OpenShift Specific (3 tools)
CI/CD Performance (2 tools)
Topology & Prediction (3 tools)
Simulation (1 tool)
Architecture
How It Works
LUMINO acts as a bridge between AI assistants and your Kubernetes infrastructure through the Model Context Protocol:
Workflow
- User Query → AI assistant receives natural language request
- MCP Translation → Assistant converts query to appropriate tool calls
- LUMINO Processing → Server executes Kubernetes/Prometheus operations
- Data Analysis → ML/statistical algorithms process raw data
- AI Synthesis → Assistant formats results into human-readable insights
Key Features
- Minimal Local State - Queries cluster in real-time; optional ML model persistence in
~/.lumino/for predictive analytics (see ML Model Persistence) - Automatic Transport Detection - Switches between stdio (local) and HTTP (K8s) modes
- Token Budget Management - Adaptive strategies to handle large log volumes
- Intelligent Caching - Smart caching for frequently accessed data
- Security First - Uses existing kubeconfig RBAC permissions, no separate auth
MCP Client Integration
Method 1: Using MCPM (Recommended for Claude Code CLI / Gemini CLI)
The easiest way to install LUMINO MCP Server for Claude Code CLI or Gemini CLI is using MCPM - an MCP server package manager.
Install MCPM
Requirements: Go 1.23+, Git, Python 3.10+, uv (or pip)
Install LUMINO MCP Server
Short syntax explained:
@owner/repo- Installs from GitHub (default:https://github.com/owner/repo.git)gl:@owner/repo- Installs from GitLab (https://gitlab.com/owner/repo.git)- Full URL - Works with any Git repository
This will:
- Clone the repository to
~/.mcp/servers/lumino-mcp-server/ - Auto-detect Python project and install dependencies using
uv(or pip) - Register with Claude Code CLI or Gemini CLI configuration automatically
Manage LUMINO
Method 2: Manual Configuration
If you prefer manual setup or need to configure Claude Desktop / Cursor, follow these client-specific guides:
Claude Desktop
-
Find your config file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
Add LUMINO configuration:
-
Restart Claude Desktop
-
Verify: Look for the hammer icon (🔨) in Claude Desktop to see available tools
Claude Code CLI
Option A: Using MCPM (see Method 1 above)
Option B: Automatic Provisioning via Claude Code (Recommended and easiest way)
Copy and paste the provisioning prompt from the Quick Start section above into Claude Code. Claude will clone the repository, install dependencies, and configure the MCP server for your project.
Option C: Manual Configuration
- Clone and install:
- Create
.mcp.jsonin your project root (for project-local config) or update~/.claude.json(for global config):
Important: Replace /absolute/path/to/lumino-mcp-server with the actual absolute path where you cloned the repository (e.g., /Users/username/projects/lumino-mcp-server).
- Verify installation:
Gemini CLI
Option A: Using MCPM (Recommended - see Method 1 above)
Option B: Manual Configuration
-
Find your config file location:
- macOS/Linux:
~/.config/gemini/mcp_servers.json - Windows:
%APPDATA%\gemini\mcp_servers.json
- macOS/Linux:
-
Add LUMINO configuration:
- Verify installation:
Cursor IDE
-
Open Cursor Settings:
- Press
Cmd+,(macOS) orCtrl+,(Windows/Linux) - Search for "MCP" or "Model Context Protocol"
- Press
-
Add MCP Server Configuration:
In Cursor's MCP settings, add:
Alternative - Using Cursor's settings.json:
- Open Command Palette (
Cmd+Shift+PorCtrl+Shift+P) - Type "Preferences: Open User Settings (JSON)"
- Add the MCP configuration:
-
Restart Cursor IDE
-
Verify: Open Cursor's AI chat and check if LUMINO tools are available
Configuration Notes
Replace /path/to/lumino-mcp-server with the actual path where you cloned the repository:
Environment Variables (optional):
Add these to the env section if needed:
Using Alternative Python Package Managers
With pip instead of uv
Note: Ensure you've activated the virtual environment first:
With poetry
Testing Your Configuration
After configuring any client, test the connection:
-
Check if tools are loaded:
- Claude Desktop: Look for 🔨 hammer icon
- Claude Code CLI:
claude mcp list - Gemini CLI:
gemini mcp list - Cursor: Check AI chat for available tools
-
Test a simple query:
- Check server logs (if issues):
Expected output:
Advanced Configuration
Multiple Clusters
Configure multiple LUMINO instances for different clusters:
Custom Log Level
Supported Transports
The server automatically detects the appropriate transport:
- stdio - For local desktop integrations (Claude Desktop, Claude Code CLI, Gemini CLI, Cursor)
- streamable-http - For Kubernetes deployments (when
KUBERNETES_NAMESPACEis set)
Performance Considerations
Optimizing for Large Clusters
LUMINO is designed to handle clusters of any size efficiently:
Token Budget Management
LUMINO automatically manages AI context limits:
- Adaptive Sampling - Smart tools auto-sample data when volumes are high
- Progressive Loading - Stream analysis processes data in chunks
- Token Budgets - Configurable limits prevent context overflow
- Hybrid Strategies - Automatically selects best analysis approach
Query Optimization Tips
Use Namespace Filtering
Specify Time Windows
Leverage Smart Tools
Use Progressive Analysis
Performance Metrics
Caching Strategy
LUMINO uses intelligent caching for frequently accessed data:
- 15-minute cache - For web-fetched content
- Session cache - For hybrid log analysis
- ML model persistence - Predictive models and training data stored locally in
~/.lumino/(see ML Model Persistence)
Concurrent Requests
The server handles multiple concurrent requests efficiently:
- Thread-safe operations - Safe parallel tool execution
- Connection pooling - Reuses Kubernetes API connections
- Async HTTP - Non-blocking Prometheus queries
Resource Usage
Server Resource Requirements
Note: LUMINO requires minimal resources. ML models and training data are persisted locally in ~/.lumino/ (see ML Model Persistence). Most processing happens in the AI assistant.
Troubleshooting
Common Issues
No Kubernetes cluster found
Ensure you have a valid kubeconfig at ~/.kube/config or are running inside a cluster.
Permission denied for resources
Check your RBAC permissions. The server needs read access to the resources you want to query.
Tool timeout For large clusters, some tools may timeout. Use filtering options (namespace, labels) to reduce scope.
Dependencies
mcp[cli]>=1.10.1- Model Context Protocol SDKkubernetes>=32.0.1- Kubernetes Python clientpandas>=2.0.0- Data analysisscikit-learn>=1.6.1- ML algorithmsprometheus-client>=0.22.0- Prometheus integrationaiohttp>=3.12.2- Async HTTP client
Contributing
Contributions are welcome! Please read our Contributing Guide before submitting pull requests.
Security
For security vulnerabilities, please see our Security Policy.
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Acknowledgments
- Built with FastMCP framework
- Inspired by the needs of SRE teams managing complex Kubernetes environments
來源:README.md,提交 571ed71
工具
0版本歷史
1- v0.9.2最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分