kubectl MCP Plugin
An MCP server for kubectl, enabling AI assistants to interact with Kubernetes clusters through a standardized protocol.
kubectl MCP (Model Context Protocol) Plugin
Overview
The kubectl-mcp
plugin implements a Model Context Protocol (MCP) server for kubectl. This server enables AI assistants like Amazon Q to interact with kubectl functionality directly through a standardized protocol, allowing for seamless integration of kubectl commands into AI-powered workflows.
What is MCP?
Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context and tools to Large Language Models (LLMs). It enables AI assistants to:
- Discover available tools and their capabilities
- Execute commands and receive structured responses
- Provide contextual information to enhance AI interactions
How the kubectl MCP Plugin Works
The kubectl MCP plugin exposes all kubectl commands as tools that can be invoked by AI assistants. The implementation consists of several key components:
Core Components
main.go
: Entry point that starts the MCP serverpkg/mcp/server.go
: Creates and configures the MCP server with all kubectl commandspkg/mcp/tools.go
: Handles the registration of kubectl commands as MCP tools
Implementation Details
- The server uses the
mcp-go
library to implement the Model Context Protocol - It dynamically registers all kubectl commands (get, apply, delete, etc.) as MCP tools
- Each command's help text, flags, and parameters are exposed through the protocol
- The server runs as a stdio server, communicating through standard input/output
Command Registration Process
- The server recursively traverses the kubectl command tree
- For each command, it extracts:
- Command description and usage information
- Available flags and their descriptions
- Required and optional parameters
Using the kubectl MCP Plugin with Amazon Q Chat
To use the kubectl MCP plugin with Amazon Q Chat, you need to register it in the Amazon Q configuration file.
Create or edit the file at $HOME/.aws/amazonq/mcp.json
with the following content:
{
"mcpServers": {
"kubectl": {
"command": "kubectl-mcp",
"args": []
}
}
}
This configuration tells Amazon Q Chat to:
- Register a server named "kubectl"
- Use the
kubectl-mcp
command to start the MCP server - Make all kubectl commands available as tools with the prefix
kubectl___
Benefits
- Seamless Integration: AI assistants can execute kubectl commands directly
- Structured Responses: Commands return structured data that can be parsed by AI models
- Discoverability: AI assistants can discover available commands and their parameters
- Context-Aware: Provides rich context about Kubernetes resources
Installation
To install the kubectl MCP plugin:
-
Build the plugin:
make kubectl-mcp
-
Move the binary to a location in your PATH:
sudo mv kubectl-mcp /usr/local/bin/
-
Verify the installation:
kubectl plugin list | grep mcp
Quick test for MCP server
To quickly test the MCP server, you can run the following command in your terminal:
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | kubectl-mcp | jq
Recommendations
- Monitor background operations for long-running commands. Commands such as resource creation have a 45-second timeout for command responses but the processes continue in background.
- For complex kubectl operations, consider using the plugin in combination with kubectl apply -f for declarative resource management.
Related Servers
GetYourGuide
Integrate with the GetYourGuide Partner API to access travel activities and experiences.
CData TaxJar
A read-only server to query live TaxJar data, powered by the CData JDBC Driver.
iFlytek Spark Agent
Invoke task chains on the iFlytek SparkAgent Platform.
LuckyCola MCP
An open MCP service providing a standardized interface compatible with various MCP clients.
Remote MCP Server (Authless)
A remote MCP server deployable on Cloudflare Workers without authentication.
MCP Server with Google OAuth
A remote MCP server with built-in Google OAuth authentication, designed for deployment on Cloudflare Workers.
Amazon Nova Reel 1.1
An MCP server for generating videos using Amazon Nova Reel 1.1 via AWS Bedrock.
Meraki Magic MCP
A Python-based MCP server for Cisco's Meraki Dashboard, providing tools to query the API for discovering, monitoring, and managing your Meraki environment.
Illumio MCP Server
Interact with the Illumio Policy Compute Engine (PCE) to manage workloads, labels, and analyze traffic flows.
Daraja MCP
Integrate AI applications with Safaricom's Daraja API for seamless interaction with M-Pesa services.