MCP ExplorerExplorer

Kube Core Mcp

@Jess321995on 9 months ago
1 MIT
FreeCommunity
AI Systems
Core MCP server for Kubernetes

Overview

What is Kube Core Mcp

kube-core-mcp is a Kubernetes command processing service that translates natural language requests into valid kubectl commands, enabling users to interact with Kubernetes clusters using everyday language.

Use cases

Use cases include simplifying Kubernetes management for non-technical users, automating command generation in CI/CD pipelines, and enhancing user experience in cloud management platforms.

How to use

To use kube-core-mcp, clone the repository, set up a Python virtual environment, install the required dependencies, configure your AWS credentials, and start the FastAPI server. You can then send requests to the API for command processing.

Key features

Key features include natural language to kubectl command conversion, command validation and security checks, support for common kubectl operations, and integration with AWS Bedrock for large language model processing.

Where to use

kube-core-mcp can be used in cloud computing environments, DevOps practices, and any scenario where users need to manage Kubernetes resources without deep knowledge of kubectl syntax.

Content

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]

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers