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

  1. Build the Docker image:
docker build -t mcp-server:latest .
  1. 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
  1. Apply Kubernetes manifests:
kubectl apply -f k8s/
  1. 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>