# Getting Started with K8s MCP Server
This guide will help you quickly set up and configure K8s MCP Server to work with your Kubernetes clusters.
## Prerequisites
Before starting, ensure you have:
- Docker installed on your system
- Valid Kubernetes configuration file (`~/.kube/config`)
- Claude Desktop application installed (if using with Claude)
## Quick Start
### 1. Run K8s MCP Server Using Docker
The simplest way to run K8s MCP Server:
```bash
docker run -i --rm \
-v ~/.kube:/home/appuser/.kube:ro \
ghcr.io/alexei-led/k8s-mcp-server:latest
```
### 2. Configure Claude Desktop
To integrate with Claude Desktop, edit your Claude Desktop configuration file (see [Claude Integration](./claude-integration.md) for details).
### 3. Test the Connection
Once configured, prompt Claude with a simple Kubernetes command like:
"Show me the pods in my default namespace using kubectl"
## Basic Configuration Options
K8s MCP Server can be configured using environment variables:
```bash
docker run -i --rm \
-v ~/.kube:/home/appuser/.kube:ro \
-e K8S_CONTEXT=my-cluster \
-e K8S_NAMESPACE=my-namespace \
-e K8S_MCP_TIMEOUT=600 \
ghcr.io/alexei-led/k8s-mcp-server:latest
```
Common environment variables:
| Variable | Description | Default |
|----------|-------------|---------|
| `K8S_CONTEXT` | Kubernetes context to use | *current context* |
| `K8S_NAMESPACE` | Default namespace | `default` |
| `K8S_MCP_TIMEOUT` | Command timeout (seconds) | `300` |
| `K8S_MCP_SECURITY_MODE` | Security mode ("strict"/"permissive") | `strict` |
See [Environment Variables](./environment-variables.md) for a complete list.
## Cloud Provider Configuration
K8s MCP Server supports major cloud Kubernetes providers:
### AWS EKS
```bash
docker run -i --rm \
-v ~/.kube:/home/appuser/.kube:ro \
-v ~/.aws:/home/appuser/.aws:ro \
-e AWS_REGION=us-west-2 \
ghcr.io/alexei-led/k8s-mcp-server:latest
```
### Google GKE
```bash
docker run -i --rm \
-v ~/.kube:/home/appuser/.kube:ro \
-v ~/.config/gcloud:/home/appuser/.config/gcloud:ro \
-e CLOUDSDK_CORE_PROJECT=my-project \
-e CLOUDSDK_COMPUTE_REGION=us-central1 \
ghcr.io/alexei-led/k8s-mcp-server:latest
```
### Azure AKS
```bash
docker run -i --rm \
-v ~/.kube:/home/appuser/.kube:ro \
-v ~/.azure:/home/appuser/.azure:ro \
-e AZURE_SUBSCRIPTION=my-subscription-id \
ghcr.io/alexei-led/k8s-mcp-server:latest
```
For more detailed information about cloud provider configuration, see [Cloud Provider Documentation](./cloud-providers.md).
## Security Configuration
By default, K8s MCP Server runs in strict security mode, which prevents potentially dangerous Kubernetes commands.
To run in permissive mode:
```bash
docker run -i --rm \
-v ~/.kube:/home/appuser/.kube:ro \
-e K8S_MCP_SECURITY_MODE=permissive \
ghcr.io/alexei-led/k8s-mcp-server:latest
```
For custom security rules, see [Security Documentation](./security.md).
## What's Next?
- Learn about [Claude Integration](./claude-integration.md)
- Explore [Supported CLI Tools](./supported-tools.md)
- Understand [Security Features](./security.md)
- See all [Environment Variables](./environment-variables.md)