Skip to content

feat: add Helm chart for deploying MCP servers. Fixes #1122#3845

Open
yaswanthkumar1995 wants to merge 6 commits intomodelcontextprotocol:mainfrom
yaswanthkumar1995:main
Open

feat: add Helm chart for deploying MCP servers. Fixes #1122#3845
yaswanthkumar1995 wants to merge 6 commits intomodelcontextprotocol:mainfrom
yaswanthkumar1995:main

Conversation

@yaswanthkumar1995
Copy link
Copy Markdown

@yaswanthkumar1995 yaswanthkumar1995 commented Apr 6, 2026

Description

Adds a production-ready Helm chart under charts/mcp-servers/ that deploys one or more Model Context Protocol servers on Kubernetes from a single mcpServers[] values list. Each server entry generates its own Deployment, Service, ServiceAccount, and optional supporting resources — all configurable via per-server overrides or shared global defaults.

Fixes #1122

Server Details

  • Server: N/A (infrastructure chart — deploys any MCP server image)
  • Changes to: New charts/mcp-servers/ directory (15 files, 698 additions)

Motivation and Context

There is currently no standardized way to deploy MCP servers on Kubernetes. Issue #1122 requested an enterprise deployment blueprint to lower adoption barriers. This chart provides a batteries-included, single-chart solution that handles the full lifecycle of deploying MCP server workloads on Kubernetes — from basic deployments to production-grade setups with autoscaling, network policies, and persistent storage.

How Has This Been Tested?

  • helm template rendering validated for all resource templates
  • Tested with multiple server entries (filesystem, fetch, git, memory, time) to verify per-server resource generation
  • Verified global defaults are correctly overridden by per-server values
  • Validated conditional resource creation (HPA, PDB, PVC, Ingress, HTTPRoute, NetworkPolicy only render when enabled)
  • Nil pointer and empty field edge cases addressed based on CodeRabbit review feedback

Breaking Changes

None — this is a net-new addition with no changes to existing code.

Types of changes

  • New feature (non-breaking change which adds functionality)

Checklist

  • I have read the MCP Protocol Documentation
  • My changes follow MCP security best practices
  • I have updated the server's README accordingly
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have documented all environment variables and configuration options

Additional context

Chart structure

charts/mcp-servers/
├── .helmignore
├── Chart.yaml
├── values.yaml
└── templates/
    ├── NOTES.txt
    ├── _helpers.tpl
    ├── deployment.yaml
    ├── hpa.yaml
    ├── httproute.yaml
    ├── ingress.yaml
    ├── networkpolicy.yaml
    ├── pdb.yaml
    ├── pvc.yaml
    ├── rbac.yaml
    ├── service.yaml
    └── serviceaccount.yaml

Supported resources per MCP server

Resource API Version Condition
Deployment apps/v1 Always (when enabled: true)
Service v1 Always (default)
ServiceAccount v1 serviceAccount.create: true (default)
Role + RoleBinding rbac.authorization.k8s.io/v1 rbac.create: true
HorizontalPodAutoscaler autoscaling/v2 hpa.enabled: true
PodDisruptionBudget policy/v1 pdb.enabled: true
PersistentVolumeClaim v1 persistence.enabled: true
Ingress networking.k8s.io/v1 ingress.enabled: true
HTTPRoute gateway.networking.k8s.io/v1 httpRoute.enabled: true
NetworkPolicy networking.k8s.io/v1 networkPolicy.enabled: true

Quick start

mcpServers:
  - name: filesystem
    enabled: true
    image:
      repository: mcp/filesystem
      tag: "latest"

  - name: git
    enabled: true
    image:
      repository: mcp/git
      tag: "latest"
    hpa:
      enabled: true
      minReplicas: 2
      maxReplicas: 5
helm install mcp-servers ./charts/mcp-servers -f values.yaml

yyaswanthkumar and others added 6 commits April 6, 2026 19:16
…1122)

Adds a new Helm chart under charts/mcp-servers that deploys multiple MCP servers from a single values list, with optional HPA/PDB/PVC/NetworkPolicy and HTTPRoute/Ingress support.
…rs-chart

feat:  Add mcp-servers Helm chart with resource templates (modelcontextprotocol#1122) add Helm chart for deploying MCP servers
…rs-chart

fix(hpa):  use deep merge for horizontal pod autoscaler config overrides
@yaswanthkumar1995
Copy link
Copy Markdown
Author

@jspahrsummers @olaservo @localden — this adds a Helm chart for deploying MCP servers on Kubernetes (fixes #1122). Would appreciate a review when you get a chance. Happy to adjust the approach based on feedback.

@yaswanthkumar1995
Copy link
Copy Markdown
Author

/assign

@yaswanthkumar1995 yaswanthkumar1995 changed the title feat: add helm chart for deploying mcp servers feat: add Helm chart for deploying MCP servers. Fixes #1122 Apr 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Deployment Blueprint for Model Context Protocol Servers

2 participants