what is MCP Server?
MCP Server is a deployment configuration for the Model Context Protocol (MCP) on Azure Kubernetes Service (AKS), designed to facilitate scalable and secure application deployment.
how to use MCP Server?
To use MCP Server, follow the deployment steps which include building a Docker image, pushing it to Azure Container Registry, and applying Kubernetes manifests to deploy the application.
key features of MCP Server?
- Kubernetes deployment configuration for Azure
- Health checks via a dedicated endpoint
- Monitoring capabilities through Azure Monitor
- Security features including HTTPS, CORS, and rate limiting
- Scalable deployment with adjustable replicas
use cases of MCP Server?
- Deploying microservices in a cloud environment.
- Managing application scaling and resource monitoring.
- Ensuring secure application communication and data handling.
FAQ from MCP Server?
- What are the prerequisites for deploying MCP Server?
You need Azure CLI, kubectl, Docker, and Node.js 18+.
- How can I monitor the application?
Resource usage can be monitored through Azure Monitor and application logs can be accessed via kubectl logs.
- Is MCP Server secure?
Yes, it implements HTTPS, CORS, and rate limiting for enhanced security.
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>