Model Context Protocol Server

# 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: ```bash docker build -t mcp-server:latest . ``` 2. Push the image to Azure Container Registry (ACR): ```bash 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 ``` 3. Apply Kubernetes manifests: ```bash kubectl apply -f k8s/ ``` 4. Verify deployment: ```bash 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: ```bash kubectl scale deployment mcp-server --replicas=<number> ```