
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 分