README Documentation
Kube Core MCP
A Kubernetes command processing service that converts natural language requests into valid kubectl commands.
Features
- Natural language to kubectl command conversion
- Command validation and security checks
- Support for common kubectl operations
- AWS Bedrock integration for LLM processing
Prerequisites
- Python 3.8+
- AWS credentials configured
- kubectl installed and configured
- Node.js and npm (for frontend)
Setup
- Clone the repository:
git clone <repository-url>
cd kube-core-mcp
- Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Configure AWS credentials:
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_REGION=your_region
- Start the FastAPI server:
python src/server.py
API Documentation
Health Check
curl http://localhost:3000/health
Services
curl http://localhost:3000/api/services
Natural Language Commands
curl -X POST http://localhost:3000/api/nl \
-H "Content-Type: application/json" \
-d '{"message": "show me the pods in default namespace"}'
Direct Commands
curl -X POST http://localhost:3000/api/command \
-H "Content-Type: application/json" \
-d '{"command": "kubectl get pods -n default"}'
Security
The service operates in two security modes:
-
STRICT (default):
- Only allows predefined command patterns
- Validates all commands against allowed patterns
- Prevents dangerous operations
-
PERMISSIVE:
- Allows more flexible command patterns
- Still maintains basic security checks
- Useful for development and testing
Development
Running Tests
pytest tests/
Code Style
black src/ tests/
flake8 src/ tests/
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests
- Submit a pull request
License
[Add License Information]
Quick Actions
Key Features
Model Context Protocol
Secure Communication
Real-time Updates
Open Source