Kopilot-MCP-test

Kopilot-MCP-test

0

Kopilot MCP is a project that creates an AI Kubernetes agent using the Model Context Protocol (MCP) to interact with Kubernetes resources through natural language commands. It allows customization of large language models to perform operations resembling kubectl commands and facilitates standardized tool integration using MCP.

Kopilot MCP

A MCP remake 🔧 of my previous project.

Key Features

  • Create an AI Kubernetes agent using MCP.
  • Interact with Kubernetes resources using natural language.
  • Customize LLM provider to perform "kubectl-like" commands.
  • Learn how to use MCP to standardize tool calling.

Tech Stack

Getting Started

Prerequisites

Setup

  1. Clone this repository.
  2. Configure config/dev/example.toml and rename it to config/dev/config.toml.
  3. Install dependencies.
uv sync

Run

  1. Run the MCP client. It will automatically start the MCP server.
uv run mcp_client.py
  1. Then you would see a prompt in the terminal:
Query (Type `exit`, `quit`, `q` to quit):
  1. Interact with natural language to operate Kubernetes resources. For example:
Query (Type `exit`, `quit`, `q` to quit): Get po in kube-system ns
  1. You would get the response similar like:
Here are the pods in the `kube-system` namespace:

- coredns-7db6d8ff4d-lz4s8
- coredns-7db6d8ff4d-qbgvc
- etcd-test-control-plane
- kindnet-cnjm6
- kube-apiserver-test-control-plane
- kube-controller-manager-test-control-plane
- kube-proxy-v647r
- kube-scheduler-test-control-plane
- sealed-secrets-controller-67767c668-dz4bj

Project Structure

kopilot-mcp
├── README.md             # Project documentation
├── config                # Configuration
│   ├── config.py
│   └── dev
│       └── example.toml
├── mcp_client.py         # MCP client
├── mcp_server.py         # MCP server
├── mcp_server_factory.py # MCP server factory
├── pyproject.toml        # Python project meta
├── scheme                # scheme (Kubernetes GVR ➡ GVK)
│   ├── __init__.py
│   └── scheme.py
├── utils                 # Utilities
│   ├── __init__.py
│   ├── clients.py
│   ├── helpers.py
│   └── models.py
└── uv.lock               # uv lock file

Workflow

image

Contributing

  1. Fork the repository.
  2. Create your feature branch.
  3. Submit a pull request.

License

MIT License - See LICENSE file for details.