Kubernetes MCP
Integrates with
Kubernetes, AKS, Docker, Azure Container Registry
Model Context Protocol (MCP) Server
This repository contains the Kubernetes deployment configuration for the MCP server on Azure Kubernetes Service (AKS).
Prerequisites
- Azure CLI
- kubectl
- Docker
- Node.js 18+
Project Structure
.
├── k8s/
│ ├── deployment.yaml # Kubernetes deployment configuration
│ ├── service.yaml # Kubernetes service configuration
│ └── configmap.yaml # Kubernetes configmap for environment variables
├── src/ # Source code directory
├── Dockerfile # Container build configuration
├── package.json # Node.js dependencies
└── tsconfig.json # TypeScript configuration
Deployment Steps
- Build the Docker image:
docker build -t mcp-server:latest .
- Push the image to Azure Container Registry (ACR):
az acr login --name <your-acr-name>
docker tag mcp-server:latest <your-acr-name>.azurecr.io/mcp-server:latest
docker push <your-acr-name>.azurecr.io/mcp-server:latest
- Apply Kubernetes manifests:
kubectl apply -f k8s/
- Verify deployment:
kubectl get pods
kubectl get services
Configuration
The application can be configured through environment variables defined in the ConfigMap (k8s/configmap.yaml
).
Health Checks
The application exposes a /health
endpoint for Kubernetes health checks.
Monitoring
- Resource usage can be monitored through Azure Monitor
- Application logs are available through
kubectl logs
Security
- The application uses HTTPS
- CORS is configured for secure cross-origin requests
- Rate limiting is implemented to prevent abuse
- Helmet.js is used for security headers
Scaling
The deployment is configured with 3 replicas by default. You can scale up or down using:
kubectl scale deployment mcp-server --replicas=<number>