JUHE API Marketplace
Jess321995 avatar
MCP Server

Kube Core MCP

A Kubernetes command processing service that converts natural language requests into valid kubectl commands, providing command validation and security checks.

1
GitHub Stars
8/23/2025
Last Updated
No Configuration
Please check the documentation below.

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

  1. Clone the repository:
git clone <repository-url>
cd kube-core-mcp
  1. Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate  # On Windows: .\venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Configure AWS credentials:
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_REGION=your_region
  1. 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:

  1. STRICT (default):

    • Only allows predefined command patterns
    • Validates all commands against allowed patterns
    • Prevents dangerous operations
  2. 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

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests
  5. Submit a pull request

License

[Add License Information]

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source