Model Context Protocol (MCP) Server
by MCP-Mirror
This repository contains the Kubernetes deployment configuration for the MCP server on Azure Kubernetes Service (AKS). It provides a platform for managing and serving model context.
View on GitHub
Last updated: N/A
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>