インストール
コンテンツ詳細
代替品
インストール
{
"mcpServers": {
"lumino": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/lumino-mcp-server",
"python",
"main.py"
],
"env": {
"PYTHONUNBUFFERED": "1"
}
}
}
}
{
"mcpServers": {
"lumino": {
"type": "stdio",
"command": "/absolute/path/to/lumino-mcp-server/.venv/bin/python",
"args": ["/absolute/path/to/lumino-mcp-server/main.py"],
"env": {
"PYTHONUNBUFFERED": "1"
}
}
}
}
{
"mcpServers": {
"lumino-prod": {
"command": "uv",
"args": ["run", "--directory", "/path/to/lumino-mcp-server", "python", "main.py"],
"env": {
"KUBECONFIG": "/path/to/prod-kubeconfig.yaml"
}
},
"lumino-dev": {
"command": "uv",
"args": ["run", "--directory", "/path/to/lumino-mcp-server", "python", "main.py"],
"env": {
"KUBECONFIG": "/path/to/dev-kubeconfig.yaml"
}
}
}
}🚀 LUMINO MCP Server
LUMINO MCP Serverは、Kubernetes、OpenShift、Tekton環境において、Site Reliability Engineers (SRE) やDevOpsチームに、インテリジェントな監視、予測分析、AI駆動の自動化機能を提供するオープンソースのMCP(Model Context Protocol)サーバーです。
🚀 クイックスタート
LUMINOを2分以内で始めることができます。
Claude Code CLIユーザー向け(最も簡単)
以下のプロンプトを貼り付けて、Claude CodeにLumino MCPサーバーをプロビジョニングさせましょう。
Lumino MCPサーバーをプロジェクトローカルのMCP統合としてプロビジョニングします。
1. リポジトリをクローンします。
git clone https://github.com/spre-sre/lumino-mcp-server.git
2. uvを使用してPythonの依存関係をインストールします。
cd lumino-mcp-server && uv sync
3. 現在のプロジェクトのルート(lumino-mcp-serverの中ではない)に.mcp.jsonを作成し、以下の構成を追加します。
重要:<ABSOLUTE_PATH_TO_LUMINO>を、クローンしたlumino-mcp-serverディレクトリの実際の絶対パスに置き換えてください。
{
"mcpServers": {
"lumino": {
"type": "stdio",
"command": "<ABSOLUTE_PATH_TO_LUMINO>/.venv/bin/python",
"args": ["<ABSOLUTE_PATH_TO_LUMINO>/main.py"],
"env": {
"PYTHONUNBUFFERED": "1"
}
}
}
}
4. .mcp.jsonを作成した後、ユーザーに以下のことを伝えます。
- Claude Codeを完全に終了します。
- KubernetesまたはOpenShiftクラスターに接続します(kubectl/oc login)。
- このプロジェクトディレクトリでClaude Codeを再起動します。
- Lumino MCPサーバーの承認を求めるプロンプトが表示されます。
- 承認すると、Luminoツールが利用可能になります(/mcpコマンドで確認)。
その他のMCPクライアント向け
好みのインストール方法を選択してください。
- MCPM(推奨):
mcpm install @spre-sre/lumino-mcp-server - 手動セットアップ:詳細なMCP Client Integrationの手順を参照してください。
インストールの確認
インストールが完了したら、簡単なクエリでテストしてみましょう。
"List all namespaces in my Kubernetes cluster"
✨ 主な機能
Kubernetes & OpenShift操作
- 名前空間とポッドの管理
- 柔軟な出力形式でのリソースクエリ
- クラスター全体でのラベルベースのリソース検索
- OpenShiftオペレーターとMachineConfigPoolの状態
- etcdログ分析
Tektonパイプラインインテリジェンス
- 名前空間全体でのパイプラインとタスク実行の監視
- オプションでクリーニングされた詳細なログの取得
- 失敗したパイプラインの根本原因分析
- クロスクラスターのパイプライントレーシング
- CI/CDパフォーマンスのベースライン設定
高度なログ分析
- 設定可能な詳細レベルでのスマートなログ要約
- 大量のログボリュームのストリーミング分析
- 複数の戦略を組み合わせたハイブリッド分析
- NLP技術を使用したセマンティック検索
- 重大度分類付きの異常検出
予測的および積極的な監視
- zスコア分析を使用した統計的異常検出
- 早期警告のための予測的ログ分析
- リソースボトルネックの予測
- 有効期限アラート付きの証明書の健全性監視
- TLS証明書の問題の調査
イベントインテリジェンス
- 複数の戦略を使用したスマートなイベント取得
- 概要から詳細までの段階的なイベント分析
- MLパターン検出による高度な分析
- ログとイベントの相関関係
シミュレーションと仮想分析
- 構成変更のモンテカルロシミュレーション
- デプロイ前の影響分析
- 設定可能な許容範囲でのリスク評価
- 影響を受けるコンポーネントの特定
📦 インストール
uvを使用する場合(推奨)
# リポジトリをクローンします。
git clone https://github.com/spre-sre/lumino-mcp-server.git
cd lumino-mcp-server
# 依存関係をインストールします。
uv sync
# サーバーを起動します。
uv run python main.py
pipを使用する場合
# リポジトリをクローンします。
git clone https://github.com/spre-sre/lumino-mcp-server.git
cd lumino-mcp-server
# 仮想環境を作成します。
python -m venv venv
source venv/bin/activate # Windowsの場合はvenv\Scripts\activate
# 依存関係をインストールします。
pip install -e .
# サーバーを起動します。
python main.py
💻 使用例
🔍 インテリジェントな根本原因分析
自動分析を使用して、複雑な障害を調査し、診断します。
"Generate a comprehensive RCA report for the failed pipeline run 'build-api-pr-456' in namespace ci-cd"
"Analyze what caused pod crashes in namespace production over the last 6 hours and correlate with resource events"
"Investigate the TLS certificate issues affecting services in namespace ingress-nginx"
🎯 予測的インテリジェンスと予測
システムに影響を与える前に問題を予測します。
"Predict resource bottlenecks across all production namespaces for the next 48 hours"
"Analyze historical pipeline performance and detect anomalies in build times for the last 30 days"
"Check cluster certificate health and alert me about any certificates expiring in the next 60 days"
"Use predictive log analysis to identify potential failures in namespace monitoring before they occur"
🧪 シミュレーションと仮想分析
本番環境に適用する前に、変更を安全にテストします。
"Simulate the impact of increasing memory limits to 4Gi for all pods in namespace backend-services"
"Run a what-if scenario for scaling deployments to 10 replicas and analyze resource consumption"
"Simulate configuration changes for nginx ingress controller and assess risk to existing traffic"
🗺️ トポロジーと依存関係マッピング
システムアーキテクチャとコンポーネントの関係を理解します。
"Generate a live topology map of all services, deployments, and their dependencies in namespace microservices"
"Map the complete dependency graph for the payment-service including all connected resources"
"Show me the topology of components affected by the cert-manager service"
🔬 高度な調査とフォレンジック
多面的な分析を使用して、複雑な問題を深く調査します。
"Perform an adaptive namespace investigation for production - analyze logs, events, and resource patterns"
"Create a detailed investigation report for resource constraints and bottlenecks in namespace data-processing"
"Trace pipeline execution for commit SHA abc123def from source to deployment across all namespaces"
"Search logs semantically for 'authentication failures related to expired tokens' across the last 24 hours"
📊 CI/CDパイプラインインテリジェンス
継続的デリバリーパイプラインを最適化し、トラブルシューティングします。
"Establish performance baselines for all Tekton pipelines and flag runs deviating by more than 2 standard deviations"
"Trace the complete pipeline flow for image 'api:v2.5.3' from build to production deployment"
"Analyze failed pipeline runs in namespace tekton-pipelines and identify common failure patterns"
"Compare current pipeline run times against 30-day baseline and highlight performance degradation"
🎨 段階的なイベント分析
概要から詳細までの多レベルのイベント調査を行います。
"Start with an overview of events in namespace kube-system, then drill down into critical issues"
"Perform advanced event analytics with ML pattern detection for namespace monitoring over the last 12 hours"
"Correlate events with pod logs to identify the root cause of CrashLoopBackOff in namespace applications"
🚀 リアルタイム監視とアラート
クラスターの健全性とパイプラインの状態を常に把握します。
"Show me the status of all Tekton pipeline runs cluster-wide and highlight long-running pipelines"
"List all failed TaskRuns in the last hour with error details and recommended actions"
"Monitor OpenShift cluster operators and alert on any degraded components"
"Check MachineConfigPool status and show which nodes are being updated"
🔐 セキュリティとコンプライアンス
クラスターのセキュリティと証明書管理を確保します。
"Scan all namespaces for expiring certificates and generate a renewal schedule"
"Investigate TLS certificate issues causing handshake failures in namespace istio-system"
"Audit all secrets and configmaps for sensitive data exposure patterns"
📈 高度な分析とMLインサイト
機械学習を利用してパターンを検出します。
"Use streaming log analysis to process large log volumes from namespace data-pipeline with error pattern detection"
"Detect anomalies in log patterns using ML analysis with medium severity threshold for namespace api-gateway"
"Analyze resource utilization trends using Prometheus metrics and forecast capacity needs"
📚 ドキュメント
Kubernetes認証
サーバーは自動的にKubernetesの構成を検出します。
- クラスター内構成 - Kubernetesポッド内で実行されている場合
- ローカルkubeconfig - ローカルで実行されている場合(
~/.kube/configを使用)
環境変数
| 変数 | 説明 | デフォルト | 使用するタイミング |
|---|---|---|---|
KUBERNETES_NAMESPACE |
K8sモードの名前空間 | - | サーバーをKubernetesポッド内で実行する場合 |
K8S_NAMESPACE |
代替の名前空間変数 | - | KUBERNETES_NAMESPACEの代替 |
PROMETHEUS_URL |
メトリクス用のPrometheusサーバーURL | 自動検出 | カスタムPrometheusエンドポイントまたは非標準ポートを使用する場合 |
KUBECONFIG |
kubeconfigファイルのパス | ~/.kube/config |
複数のクラスターまたはカスタムkubeconfigの場所を使用する場合 |
LOG_LEVEL |
ログの詳細度(DEBUG, INFO, WARNING, ERROR) | INFO |
問題のデバッグまたはログのノイズを減らす場合 |
MCP_SERVER_LOG_LEVEL |
MCPフレームワークのログレベル | INFO |
MCPプロトコルの問題をトラブルシューティングする場合 |
PYTHONUNBUFFERED |
Pythonの出力バッファリングを無効にする | - | MCPクライアントがリアルタイムのログを表示するために推奨 |
利用可能なツール
Kubernetesコア(4つのツール)
| ツール | 説明 |
|---|---|
list_namespaces |
クラスター内のすべての名前空間をリストする |
list_pods_in_namespace |
ポッドの状態と配置情報をリストする |
get_kubernetes_resource |
柔軟な出力で任意のKubernetesリソースを取得する |
search_resources_by_labels |
ラベルで名前空間全体のリソースを検索する |
Tektonパイプライン(6つのツール)
| ツール | 説明 |
|---|---|
list_pipelineruns |
パイプライン実行の状態とタイミングをリストする |
list_taskruns |
パイプラインでフィルタリングすることもできるタスク実行をリストする |
get_pipelinerun_logs |
オプションでクリーニングされたパイプラインログを取得する |
list_recent_pipeline_runs |
すべての名前空間の最近のパイプラインをリストする |
find_pipeline |
パターンマッチングでパイプラインを検索する |
get_tekton_pipeline_runs_status |
クラスター全体のパイプラインの状態の概要を取得する |
ログ分析(6つのツール)
| ツール | 説明 |
|---|---|
analyze_logs |
ログテキストからエラーパターンを抽出する |
smart_summarize_pod_logs |
インテリジェントなログ要約 |
stream_analyze_pod_logs |
大量のログのストリーミング分析 |
analyze_pod_logs_hybrid |
複数の分析戦略を組み合わせたハイブリッド分析 |
detect_log_anomalies |
重大度レベル付きの異常検出 |
semantic_log_search |
NLPベースのセマンティックログ検索 |
イベント分析(3つのツール)
| ツール | 説明 |
|---|---|
smart_get_namespace_events |
複数の戦略を使用したスマートなイベント取得 |
progressive_event_analysis |
段階的なイベント分析 |
advanced_event_analytics |
MLによるイベントパターン検出 |
障害分析と根本原因分析(2つのツール)
| ツール | 説明 |
|---|---|
analyze_failed_pipeline |
失敗したパイプラインの根本原因分析 |
automated_triage_rca_report_generator |
自動化されたインシデントレポート生成 |
リソース監視(4つのツール)
| ツール | 説明 |
|---|---|
check_resource_constraints |
名前空間内のリソース問題を検出する |
detect_anomalies |
統計的な異常検出 |
prometheus_query |
PromQLクエリを実行する |
resource_bottleneck_forecaster |
リソース枯渇を予測する |
名前空間調査(2つのツール)
| ツール | 説明 |
|---|---|
conservative_namespace_overview |
重点的な名前空間の健全性チェック |
adaptive_namespace_investigation |
クエリに基づく動的な調査 |
証明書とセキュリティ(2つのツール)
| ツール | 説明 |
|---|---|
investigate_tls_certificate_issues |
TLS関連の問題を見つける |
check_cluster_certificate_health |
証明書の有効期限監視 |
OpenShift固有のツール(3つのツール)
| ツール | 説明 |
|---|---|
get_machine_config_pool_status |
MachineConfigPoolの状態と更新情報を取得する |
get_openshift_cluster_operator_status |
クラスターオペレーターの健全性を取得する |
get_etcd_logs |
etcdのログを取得し、分析する |
CI/CDパフォーマンス(2つのツール)
| ツール | 説明 |
|---|---|
ci_cd_performance_baselining_tool |
パイプラインのパフォーマンスベースライン設定 |
pipeline_tracer |
コミット、PR、またはイメージでパイプラインをトレースする |
トポロジーと予測(2つのツール)
| ツール | 説明 |
|---|---|
live_system_topology_mapper |
リアルタイムのシステムトポロジーマッピング |
predictive_log_analyzer |
ログパターンから問題を予測する |
シミュレーション(1つのツール)
| ツール | 説明 |
|---|---|
what_if_scenario_simulator |
構成変更をシミュレートする |
🔧 技術詳細
アーキテクチャ
lumino-mcp-server/
├── main.py # トランスポート検出を含むエントリポイント
├── src/
│ ├── server-mcp.py # 37のツールを備えたMCPサーバー
│ └── helpers/
│ ├── constants.py # 共有定数
│ ├── event_analysis.py # イベント処理ロジック
│ ├── failure_analysis.py # 根本原因分析アルゴリズム
│ ├── log_analysis.py # ログ処理
│ ├── resource_topology.py # トポロジーマッピング
│ ├── semantic_search.py # NLP検索
│ └── utils.py # ユーティリティ関数
└── pyproject.toml # プロジェクト構成
動作原理
LUMINOは、Model Context Protocolを介してAIアシスタントとKubernetesインフラストラクチャの間の橋渡し役を果たします。
┌─────────────────────────────────────────────────────────────────┐
│ AI Assistant Layer │
│ (Claude Desktop, Claude Code CLI, Gemini CLI) │
└────────────────────────────┬────────────────────────────────────┘
│
│ Natural Language Queries
│ "Analyze failed pipelines"
│ "Predict resource bottlenecks"
▼
┌─────────────────────────────────────────────────────────────────┐
│ Model Context Protocol │
│ (MCP Communication) │
└────────────────────────────┬────────────────────────────────────┘
│
│ Tool Invocations & Results
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ LUMINO MCP Server │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Log Analysis │ │ Event Intel │ │ Predictive │ │
│ │ (6 tools) │ │ (3 tools) │ │ (2 tools) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Pipeline │ │ Simulation │ │ Topology │ │
│ │ (6 tools) │ │ (1 tool) │ │ (2 tools) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└────────────────────────────┬────────────────────────────────────┘
│
│ Kubernetes API Calls
│ Prometheus Queries
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ Kubernetes/OpenShift Cluster │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Pods │ │ Services │ │ Tekton │ │etcd/Logs │ │
│ └──────────┘ └──────────┘ │Pipelines │ └──────────┘ │
│ ┌──────────┐ ┌──────────┐ └──────────┘ ┌──────────┐ │
│ │ Events │ │ Configs │ ┌──────────┐ │Prometheus│ │
│ └──────────┘ └──────────┘ │OpenShift │ └──────────┘ │
│ │Operators │ │
│ └──────────┘ │
└─────────────────────────────────────────────────────────────────┘
ワークフロー
- ユーザークエリ → AIアシスタントが自然言語のリクエストを受け取る
- MCP変換 → アシスタントがクエリを適切なツール呼び出しに変換する
- LUMINO処理 → サーバーがKubernetes/Prometheus操作を実行する
- データ分析 → ML/統計アルゴリズムが生データを処理する
- AI合成 → アシスタントが結果を人間が読みやすい洞察に整形する
主要な機能
- ステートレス設計 - データを永続化せず、リアルタイムでクラスターをクエリする
- 自動トランスポート検出 - stdio(ローカル)とHTTP(K8s)モードを自動的に切り替える
- トークン予算管理 - 大量のログボリュームを処理するための適応的な戦略
- インテリジェントキャッシング - 頻繁にアクセスされるデータのスマートなキャッシング
- セキュリティ第一 - 既存のkubeconfig RBAC権限を使用し、個別の認証は不要
MCPクライアントの統合
方法1: MCPMを使用する(Claude Code CLI / Gemini CLIに推奨)
Claude Code CLIまたはGemini CLIでLUMINO MCP Serverをインストールする最も簡単な方法は、MCPM(MCPサーバーパッケージマネージャー)を使用することです。
MCPMのインストール
# MCPMをクローンし、ビルドします。
git clone https://github.com/spre-sre/mcpm.git
cd mcpm
go build -o mcpm .
# オプション:PATHに追加します。
sudo mv mcpm /usr/local/bin/
要件: Go 1.23以上、Git、Python 3.10以上、uv(またはpip)
LUMINO MCP Serverのインストール
# GitHubリポジトリからインストール(短い構文)
mcpm install @spre-sre/lumino-mcp-server
# または、完全なGitHub URLを使用
mcpm install https://github.com/spre-sre/lumino-mcp-server.git
# GitLabリポジトリの場合(GitLabにホストされている場合)
mcpm install gl:@spre-sre/lumino-mcp-server
# 特定のクライアント用にインストール
mcpm install @spre-sre/lumino-mcp-server --claude # Claude Code CLI用
mcpm install @spre-sre/lumino-mcp-server --gemini # Gemini CLI用
# グローバルにインストール(ClaudeとGeminiの両方で動作)
mcpm install @spre-sre/lumino-mcp-server --global
短い構文の説明:
@owner/repo- GitHubからインストール(デフォルト:https://github.com/owner/repo.git)gl:@owner/repo- GitLabからインストール(https://gitlab.com/owner/repo.git)- 完全なURL - 任意のGitリポジトリで動作
これにより、以下のことが行われます。
- リポジトリが
~/.mcp/servers/lumino-mcp-server/にクローンされます。 - Pythonプロジェクトが自動検出され、
uv(またはpip)を使用して依存関係がインストールされます。 - Claude Code CLIまたはGemini CLIの構成に自動的に登録されます。
LUMINOの管理
# インストールされたサーバーをリストする
mcpm list
# LUMINOを更新する
mcpm update lumino-mcp-server
# LUMINOを削除する
mcpm remove lumino-mcp-server
方法2: 手動構成
手動セットアップを好む場合、またはClaude Desktop / Cursorを構成する必要がある場合は、以下のクライアント固有のガイドに従ってください。
Claude Desktop
-
設定ファイルの場所を見つける
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
LUMINOの構成を追加する
{
"mcpServers": {
"lumino": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/lumino-mcp-server",
"python",
"main.py"
],
"env": {
"PYTHONUNBUFFERED": "1"
}
}
}
}
-
Claude Desktopを再起動する
-
確認する:Claude Desktopのハンマーアイコン(🔨)を見て、利用可能なツールを確認します。
Claude Code CLI
オプションA: MCPMを使用する(上記の方法1を参照)
オプションB: Claude Codeを介した自動プロビジョニング(推奨で最も簡単な方法)
クイックスタートセクションのプロビジョニングプロンプトをコピーしてClaude Codeに貼り付けます。Claudeがリポジトリをクローンし、依存関係をインストールし、プロジェクト用にMCPサーバーを構成します。
オプションC: 手動構成
- クローンしてインストールする
git clone https://github.com/spre-sre/lumino-mcp-server.git
cd lumino-mcp-server
uv sync # すべての依存関係を含む.venvを作成する
- プロジェクトのルートに
.mcp.jsonを作成する(プロジェクトローカルの構成用)または~/.claude.jsonを更新する(グローバル構成用)
{
"mcpServers": {
"lumino": {
"type": "stdio",
"command": "/absolute/path/to/lumino-mcp-server/.venv/bin/python",
"args": ["/absolute/path/to/lumino-mcp-server/main.py"],
"env": {
"PYTHONUNBUFFERED": "1"
}
}
}
}
重要: /absolute/path/to/lumino-mcp-serverを、実際にリポジトリをクローンした絶対パスに置き換えてください(例: /Users/username/projects/lumino-mcp-server)。
- インストールを確認する
# MCPサーバーを確認する
claude mcp list
# クエリでテストする
claude "List all namespaces in my cluster"
Gemini CLI
オプションA: MCPMを使用する(推奨 - 上記の方法1を参照)
オプションB: 手動構成
-
設定ファイルの場所を見つける
- macOS/Linux:
~/.config/gemini/mcp_servers.json - Windows:
%APPDATA%\gemini\mcp_servers.json
- macOS/Linux:
-
LUMINOの構成を追加する
{
"mcpServers": {
"lumino": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/lumino-mcp-server",
"python",
"main.py"
],
"env": {
"PYTHONUNBUFFERED": "1"
}
}
}
}
- インストールを確認する
# MCPサーバーを確認する
gemini mcp list
# クエリでテストする
gemini "Show me failed pipeline runs"
Cursor IDE
-
Cursorの設定を開く
- macOSでは
Cmd+,、Windows/LinuxではCtrl+,を押します。 - "MCP"または"Model Context Protocol"を検索します。
- macOSでは
-
MCPサーバーの構成を追加する
CursorのMCP設定で、以下を追加します。
{
"mcpServers": {
"lumino": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/lumino-mcp-server",
"python",
"main.py"
],
"env": {
"PYTHONUNBUFFERED": "1"
}
}
}
}
代替方法 - Cursorのsettings.jsonを使用する
- コマンドパレットを開きます(
Cmd+Shift+PまたはCtrl+Shift+P)。 - "Preferences: Open User Settings (JSON)"と入力します。
- MCP構成を追加します。
{
"mcp.servers": {
"lumino": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/lumino-mcp-server",
"python",
"main.py"
],
"env": {
"PYTHONUNBUFFERED": "1"
}
}
}
}
-
Cursor IDEを再起動する
-
確認する:CursorのAIチャットを開き、LUMINOツールが利用可能か確認します。
構成に関する注意事項
/path/to/lumino-mcp-serverを、実際にリポジトリをクローンしたパスに置き換えてください
# 例のパス:
# macOS/Linux: /Users/username/projects/lumino-mcp-server
# Windows: C:\Users\username\projects\lumino-mcp-server
# MCPMを使用してインストールした場合:
# ~/.mcp/servers/lumino-mcp-server/
環境変数(オプション)
必要に応じて、envセクションに以下を追加します。
{
"env": {
"PYTHONUNBUFFERED": "1",
"KUBERNETES_NAMESPACE": "default",
"PROMETHEUS_URL": "http://prometheus:9090",
"LOG_LEVEL": "INFO"
}
}
代替Pythonパッケージマネージャーの使用
uvの代わりにpipを使用する場合
{
"command": "python",
"args": [
"/path/to/lumino-mcp-server/main.py"
]
}
注意: 最初に仮想環境をアクティブ化してください。
cd /path/to/lumino-mcp-server
python -m venv venv
source venv/bin/activate # Windowsの場合はvenv\Scripts\activate
pip install -e .
poetryを使用する場合
{
"command": "poetry",
"args": [
"run",
"python",
"main.py"
],
"cwd": "/path/to/lumino-mcp-server"
}
構成のテスト
いずれかのクライアントを構成した後、接続をテストします。
-
ツールが読み込まれていることを確認する
- Claude Desktop: ハンマーアイコン(🔨)を確認します。
- Claude Code CLI:
claude mcp list - Gemini CLI:
gemini mcp list - Cursor: AIチャットで利用可能なツールを確認します。
-
簡単なクエリでテストする
"List all namespaces in my Kubernetes cluster"
- サーバーのログを確認する(問題がある場合)
# サーバーを手動で実行してエラーを確認する
cd /path/to/lumino-mcp-server
uv run python main.py
期待される出力:
MCP Server running in stdio mode
Available tools: 37
Waiting for requests...
高度な構成
複数のクラスター
異なるクラスター用に複数のLUMINOインスタンスを構成します。
{
"mcpServers": {
"lumino-prod": {
"command": "uv",
"args": ["run", "--directory", "/path/to/lumino-mcp-server", "python", "main.py"],
"env": {
"KUBECONFIG": "/path/to/prod-kubeconfig.yaml"
}
},
"lumino-dev": {
"command": "uv",
"args": ["run", "--directory", "/path/to/lumino-mcp-server", "python", "main.py"],
"env": {
"KUBECONFIG": "/path/to/dev-kubeconfig.yaml"
}
}
}
}
カスタムログレベル
{
"env": {
"LOG_LEVEL": "DEBUG",
"MCP_SERVER_LOG_LEVEL": "DEBUG"
}
}
サポートされるトランスポート
サーバーは自動的に適切なトランスポートを検出します。
- stdio - ローカルデスクトップ統合(Claude Desktop、Claude Code CLI、Gemini CLI、Cursor)用
- streamable-http - Kubernetesデプロイメント(
KUBERNETES_NAMESPACEが設定されている場合)用
パフォーマンスに関する考慮事項
大規模クラスターの最適化
LUMINOは、どのサイズのクラスターでも効率的に処理できるように設計されています。
| クラスターサイズ | 推奨事項 | ツール戦略 |
|---|---|---|
| 小 (< 50ポッド) | デフォルト設定を使用 | すべてのツールが最適に動作 |
| 中 (50-500ポッド) | 名前空間フィルタリングを使用 | 自動サンプリングを備えた適応型ツールを利用 |
| 大 (500+ポッド) | 時間ウィンドウと名前空間を指定 | 保守的なストリーミングツールを使用 |
| 非常に大 (1000+ポッド) | フィルターとページネーションを組み合わせる | ターゲットクエリによる段階的な分析 |
トークン予算管理
LUMINOは自動的にAIコンテキストの制限を管理します。
- 適応型サンプリング - ボリュームが高い場合、スマートツールが自動的にデータをサンプリングする
- 段階的なローディング - ストリーミング分析がデータをチャンク単位で処理する
- トークン予算 - 設定可能な制限でコンテキストのオーバーフローを防止する
- ハイブリッド戦略 - 最適な分析アプローチを自動的に選択する
クエリ最適化のヒント
名前空間フィルタリングを使用する
✅ "Analyze logs for pods in namespace production"
❌ "Analyze all pod logs in the cluster"
時間ウィンドウを指定する
✅ "Show events from the last 2 hours"
❌ "Show all events" (数千件の結果が返される可能性があります)
スマートツールを利用する
✅ "smart_summarize_pod_logs" - 適応型分析
❌ 直接のログダンプ - 処理なし
段階的な分析を使用する
✅ 最初に"概要"から始めて、"詳細"に掘り下げる
❌ 大規模なデータセットで直接"詳細分析"に飛ぶ
パフォーマンスメトリクス
| 操作 | 典型的な応答時間 | スケーラビリティ |
|---|---|---|
| 名前空間のリスト | < 1秒 | O(1) |
| ポッドのログを取得する(1つのポッド) | 1-3秒 | O(サイズの対数) |
| パイプライン実行を分析する | 2-5秒 | O(タスク数) |
| クラスター全体の検索 | 5-15秒 | O(名前空間数) |
| MLによる異常検出 | 3-10秒 | O(データポイント数) |
| トポロジーマッピング | 5-20秒 | O(リソース数) |
キャッシュ戦略
LUMINOは、頻繁にアクセスされるデータにインテリジェントなキャッシングを使用します。
- 15分間のキャッシュ - Webで取得したコンテンツ用
- セッションキャッシュ - ハイブリッドログ分析用
- 永続化なし - すべてのデータクエリはリアルタイムでクラスターにアクセスする
同時リクエスト
サーバーは複数の同時リクエストを効率的に処理します。
- スレッドセーフな操作 - 安全な並列ツール実行
- コネクションプーリング - Kubernetes APIコネクションを再利用する
- 非同期HTTP - ブロックしないPrometheusクエリ
リソース使用量
サーバーのリソース要件
| デプロイメント | CPU | メモリ | ディスク |
|---|---|---|---|
| ローカル(stdio) | 100-500m | 256-512Mi | 最小限 |
| Kubernetes | 200m-1 | 512Mi-1Gi | 最小限 |
| 高負荷 | 1-2 | 1-2Gi | 最小限 |
注意: LUMINOはステートレスで、最小限のリソースしか必要としません。ほとんどの処理はAIアシスタントで行われます。
トラブルシューティング
一般的な問題
Kubernetesクラスターが見つからない
Error: Unable to load kubeconfig
~/.kube/configに有効なkubeconfigがあることを確認するか、クラスター内で実行していることを確認してください。
リソースへのアクセスが拒否される
Error: Forbidden - User cannot list resource
RBAC権限を確認してください。サーバーには、クエリするリソースへの読み取りアクセス権が必要です。
ツールがタイムアウトする 大規模なクラスターでは、一部のツールがタイムアウトすることがあります。フィルタリングオプション(名前空間、ラベル)を使用して範囲を狭めてください。
依存関係
mcp[cli]>=1.10.1- Model Context Protocol SDKkubernetes>=32.0.1- Kubernetes Pythonクライアントpandas>=2.0.0- データ分析scikit-learn>=1.6.1- MLアルゴリズムprometheus-client>=0.22.0- Prometheus統合aiohttp>=3.12.2- 非同期HTTPクライアント
コントリビュート
コントリビューションは大歓迎です!プルリクエストを送信する前に、コントリビュートガイドを読んでください。
セキュリティ
セキュリティの脆弱性については、セキュリティポリシーを参照してください。
📄 ライセンス
このプロジェクトはApache License 2.0の下でライセンスされています。詳細については、LICENSEファイルを参照してください。
謝辞
- FastMCPフレームワークを使用して構築されています。
- 複雑なKubernetes環境を管理するSREチームのニーズに触発されています。
代替品













