KDebug is a Kubernetes debugging tool that allows you to interact with your Kubernetes clusters through Claude AI. It uses the Model Control Protocol (MCP) to enable Claude to execute Kubernetes commands on your behalf.
This tool allows you to:
- Inspect Kubernetes resources (pods, services, deployments, etc.)
- View pod logs
- Check node status
- Monitor events
- And more, all through conversational AI
- Go 1.18+ (if building from source)
- Kubernetes cluster access configured (
~/.kube/config
) - Claude client with MCP support
- Go to the GitHub releases page:
https://github.com/soub4i/kdebug-mcp/releases
-
Download the latest release for your platform (macOS, Linux, Windows)
-
Make the binary executable:
chmod +x kdebug-mcp
- Move the binary to a location in your PATH:
mv kdebug-mcp /usr/local/bin/kdebug-mcp
# or
mv kdebug-mcp ~/bin/kdebug-mcp # If you have ~/bin in your PATH
- Clone the repository:
git clone https://github.com/soub4i/kdebug-mcp.git
cd kdebug-mcp
- Build the binary:
go build -o bin/server ./cmd/server/main.go
Create or edit the Claude MCP configuration file located at:
- macOS:
~/Library/Application Support/com.anthropic.claude/config.json
- Linux:
~/.config/com.anthropic.claude/config.json
- Windows:
%APPDATA%\com.anthropic.claude\config.json
Add the following configuration:
{
"mcpServers": {
"kdebug": {
"command": "/path/to/kdebug-mcp/bin/server"
}
}
}
Replace /path/to/kdebug-mcp/bin/server
with the actual path to your KDebug binary.
KDebug uses your current Kubernetes context from ~/.kube/config
. Make sure your Kubernetes configuration is properly set up.
To switch contexts, you can use:
kubectl config use-context <context-name>
- Start Claude and make sure it's connected to your KDebug MCP server
- In your conversation with Claude, ask about your Kubernetes resources
Example prompts:
- "what's wrong with my cluster.context: minikube. namespace: default."
- "Show me all pods in the default namespace"
- "What services are running in the kube-system namespace?"
- "Get the logs from pod xyz in namespace abc"
- "List all nodes in my cluster"
- "Check for recent events in the default namespace"
KDebug provides access to the following Kubernetes resources:
nodes
: List all nodes in the clusterpods
: List pods in a namespace or get a specific podpodLogs
: Get logs from a specific podservices
: List services in a namespace or get a specific servicedeployments
: List deployments in a namespace or get a specific deploymentstatefulsets
: List stateful sets in a namespace or get a specific stateful setreplicasets
: List replica sets in a namespace or get a specific replica setdaemonsets
: List daemon sets in a namespace or get a specific daemon setevents
: List events in a namespace or related to a specific resource
-
Claude can't connect to KDebug
- Check that the path in your Claude MCP configuration is correct
- Ensure the KDebug binary is executable
-
Permission errors
- Make sure your Kubernetes configuration (
~/.kube/config
) has the necessary permissions - Try running
kubectl get pods
to verify your Kubernetes access
- Make sure your Kubernetes configuration (
-
Context switching
- If you have multiple Kubernetes contexts, Claude will ask which context to use
- Ensure you have access to the context you're trying to use
KDebug executes Kubernetes commands with the permissions of your current user. Be mindful that Claude will have the same access to your Kubernetes cluster as you do through your configured kubectl context.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.