Kube コア MCP
自然言語リクエストを有効な kubectl コマンドに変換する Kubernetes コマンド処理サービス。
特徴
- 自然言語からkubectlコマンドへの変換
- コマンドの検証とセキュリティチェック
- 一般的な kubectl 操作のサポート
- LLM 処理のための AWS Bedrock 統合
前提条件
- Python 3.8以上
- AWS認証情報が設定されている
- kubectl がインストールおよび設定されている
- Node.js と npm (フロントエンド用)
設定
- リポジトリをクローンします。
git clone <repository-url>
cd kube-core-mcp
- 仮想環境を作成してアクティブ化します。
python3 -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate
- 依存関係をインストールします:
pip install -r requirements.txt
- AWS 認証情報を設定します。
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_REGION=your_region
- FastAPI サーバーを起動します。
APIドキュメント
健康チェック
curl http://localhost:3000/health
サービス
curl http://localhost:3000/api/services
自然言語コマンド
curl -X POST http://localhost:3000/api/nl \
-H "Content-Type: application/json" \
-d '{"message": "show me the pods in default namespace"}'
直接コマンド
curl -X POST http://localhost:3000/api/command \
-H "Content-Type: application/json" \
-d '{"command": "kubectl get pods -n default"}'
安全
このサービスは、次の 2 つのセキュリティ モードで動作します。
- STRICT (デフォルト):
- 定義済みのコマンドパターンのみを許可します
- すべてのコマンドを許可されたパターンに対して検証します
- 危険な操作を防止
- 許容:
- より柔軟なコマンドパターンが可能
- 基本的なセキュリティチェックは維持されている
- 開発とテストに役立つ
発達
テストの実行
コードスタイル
black src/ tests/
flake8 src/ tests/
貢献
- リポジトリをフォークする
- 機能ブランチを作成する
- 変更を加える
- テストを実行する
- プルリクエストを送信する
ライセンス
[ライセンス情報の追加]