mcp-n8n-chart

transform-ia/mcp-n8n-chart

3.1

If you are the rightful owner of mcp-n8n-chart and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The MCP n8n Chart is a Helm chart designed to deploy an n8n MCP server for integrating workflow automation with Claude Code through the Model Context Protocol.

n8n MCP Server Helm Chart

Helm chart for deploying the n8n MCP (Model Context Protocol) server for Claude Code integration.

Overview

This chart deploys an n8n MCP server that provides workflow automation capabilities to Claude Code through the Model Context Protocol. The server connects to an n8n instance and exposes MCP endpoints for Claude to interact with workflows, executions, and automation tasks.

Prerequisites

  • Kubernetes 1.19+
  • Helm 3.0+
  • An n8n instance with API access
  • n8n API key with appropriate permissions

Installation

From OCI Registry (Recommended)

helm install mcp-n8n oci://ghcr.io/transform-ia/charts/mcp-n8n \
  --namespace claude \
  --create-namespace \
  --set n8n.apiUrl="https://your-n8n-instance.com" \
  --set n8n.apiKey="your-api-key" \
  --set auth.token="your-auth-token"

From Git Repository

git clone https://github.com/transform-ia/mcp-n8n-chart
cd mcp-n8n-chart
helm install mcp-n8n . -n claude --create-namespace \
  --set n8n.apiUrl="https://your-n8n-instance.com" \
  --set n8n.apiKey="your-api-key" \
  --set auth.token="your-auth-token"

Using Values File

Create a my-values.yaml:

n8n:
  apiUrl: "https://n8n.robotinfra.com"
  apiKey: "your-n8n-api-key"

auth:
  token: "your-mcp-auth-token"

resources:
  requests:
    cpu: 100m
    memory: 128Mi
  limits:
    cpu: 500m
    memory: 512Mi

Install with values file:

helm install mcp-n8n oci://ghcr.io/transform-ia/charts/mcp-n8n \
  -n claude --create-namespace \
  -f my-values.yaml

Configuration

Image Settings

ParameterDescriptionDefault
image.repositoryn8n MCP server image repositoryghcr.io/czlonkowski/n8n-mcp
image.tagImage tag (defaults to chart appVersion)"2.22.18"
image.pullPolicyImage pull policyIfNotPresent

MCP Server Configuration

ParameterDescriptionDefault
mcpServer.modeMCP server mode (http, stdio)"http"
mcpServer.logLevelLog level (debug, info, warn, error)"info"
mcpServer.disableConsoleOutputDisable console outputtrue
mcpServer.portMCP server port3000

n8n Integration

ParameterDescriptionDefault
n8n.apiUrln8n instance API URL"https://n8n.robotinfra.com"
n8n.apiKeyn8n API key (required)""

Authentication

ParameterDescriptionDefault
auth.tokenMCP authentication token (required)""

Service Configuration

ParameterDescriptionDefault
service.typeKubernetes service typeClusterIP
service.portService port3000
service.targetPortContainer target porthttp

Secret Management

ParameterDescriptionDefault
secret.createCreate secret for credentialstrue
secret.nameSecret name"mcp-n8n-secrets"

Security Context

ParameterDescriptionDefault
securityContext.fsGroupFilesystem group1000
securityContext.seccompProfile.typeSeccomp profileRuntimeDefault
containerSecurityContext.allowPrivilegeEscalationAllow privilege escalationfalse
containerSecurityContext.readOnlyRootFilesystemRead-only root filesystemfalse
containerSecurityContext.runAsNonRootRun as non-root usertrue
containerSecurityContext.runAsUserUser ID1000
containerSecurityContext.runAsGroupGroup ID1000

Service Account

ParameterDescriptionDefault
serviceAccount.createCreate service accountfalse
serviceAccount.nameService account name"claude-code"
serviceAccount.automountServiceAccountTokenAuto-mount service account tokentrue

Network Policies

ParameterDescriptionDefault
networkPolicies.enabledEnable network policiestrue
networkPolicies.allowDNSAllow DNS resolutiontrue
networkPolicies.allowHTTPSEgressAllow HTTPS egresstrue
networkPolicies.allowIngressFromPods allowed to connect[{podSelector: {matchLabels: {app: claude-code}}}]

Resource Limits

ParameterDescriptionDefault
resources.requests.cpuCPU request100m
resources.requests.memoryMemory request128Mi
resources.limits.cpuCPU limit500m
resources.limits.memoryMemory limit512Mi

Global Settings

ParameterDescriptionDefault
global.namespaceDeployment namespace"claude"
replicaCountNumber of replicas1

Network Policies

This chart includes three network policies when networkPolicies.enabled: true:

  1. DNS Resolution (networkpolicy-dns.yaml)

    • Allows DNS queries to kube-system namespace
    • Permits UDP/TCP port 53 traffic
  2. HTTPS Egress (networkpolicy-egress.yaml)

    • Allows HTTPS (443) and HTTP (80) to external destinations
    • Blocks internal cluster IP ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
    • Prevents lateral movement within the cluster
  3. Ingress from Claude Code (networkpolicy-ingress.yaml)

    • Allows incoming connections only from pods with label app: claude-code
    • Restricts access to port 3000

Usage

Once deployed, the MCP server is available at:

http://mcp-n8n.claude.svc.cluster.local:3000/mcp

Configure Claude Code to use this endpoint in /home/code/.claude.json:

{
  "mcpServers": {
    "n8n": {
      "url": "http://mcp-n8n.claude.svc.cluster.local:3000/mcp",
      "transport": "http"
    }
  }
}

Monitoring

Check deployment status:

kubectl get pods -n claude -l app=mcp-n8n

View logs:

kubectl logs -n claude -l app=mcp-n8n

Check service:

kubectl get svc -n claude mcp-n8n

Troubleshooting

Pod not starting

Check pod events:

kubectl describe pod -n claude -l app=mcp-n8n

Connection issues

Verify network policies:

kubectl get networkpolicies -n claude
kubectl describe networkpolicy mcp-n8n-allow-ingress -n claude

Authentication errors

Verify secret contents:

kubectl get secret mcp-n8n-secrets -n claude -o jsonpath='{.data}'

Development

Local Testing

Test chart rendering:

helm template mcp-n8n . --debug

Lint chart:

helm lint .

CI/CD

This chart uses GitHub Actions for:

  • Linting: YAML and Markdown validation on PRs
  • Publishing: Automatic packaging and push to GHCR on version tags

To release a new version:

# Update Chart.yaml version
git tag v0.1.1
git push origin v0.1.1

License

Apache 2.0

Maintainers

Links