sde-mcp:
enabled: true
MCP Server
The MCP (Model Context Protocol) server provides a standardized interface for AI tool integration with SD Elements.
| These instructions apply to Self-Hosted deployments of SD Elements. If you are using a SaaS instance and wish to enable the MCP server, please contact our Support Team for assistance. |
Installation and Deployment
Prerequisites:
-
SD Elements helm chart version
2026.3.2+1or later -
sde-mcphelm chart version2026.3.2+2or later
MCP Integrated Server (Recommended)
The sdelements helm chart includes the sde-mcp subchart which can be enabled to deploy the MCP server in the same namespace.
Update the custom values file
Advanced Deployment Configuration
sde-mcp.networkPoliciesEnabled is deprecated and will be removed in a future release. The MCP server’s NetworkPolicy will then be created whenever global.networkIsolation is set, and will allow traffic from every supported ingress controller by default.
|
For network policies, update the below values
sde-mcp:
networkPoliciesEnabled: true
## For example network policy ingress to the mcp pod
networkPolicies:
mcp:
podSelector:
matchLabels:
name: sde-mcp
ingress:
- selectors:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: ingress-nginx
podSelector:
matchLabels:
app.kubernetes.io/name: ingress-nginx
ports:
- port: 443
For instances with self-signed certificates, it might be necessary to enable below
sde-mcp:
mcp:
nodeTlsRejectUnauthorized: "0"
For additional configuration see the sde-mcp Helm chart values.
Deploy the MCP Server
-
Run
helm upgradeto apply the changes. -
Verify that the
{RELEASE_NAME}-mcppod is in aRunningstatus.
MCP Standalone Server
The sde-mcp chart can also deployed as a standalone MCP server in a separate namespace.
You must set exactly one of the following values to restrict which SD Elements instances the MCP server can connect to.
| These two options are mutually exclusive. Setting both will cause the deployment to fail. |
-
Single Instance Mode
mcp:
sdeInstance: "https://your-sdelements-instance.com"
-
Allowlist Mode
mcp:
sdeInstanceAllowlist: "https://sde.example.com,https://sde2.example.com"
Advanced Configuration
TLS Certificate Configuration
mcp:
fqdn: "sde-mcp.example.com"
MCP Server Configuration
mcp:
# Instance restriction (one of sdeInstance or sdeInstanceAllowlist is required - see above)
sdeInstance: ""
sdeInstanceAllowlist: ""
# Allow HTTP (non-HTTPS) hosts (default: false)
# Set to true only for local/dev environments
allowInsecureHttp: false
# Port the MCP server listens on (default: 3000)
port: 3000
# Fully Qualified Domain Name (FQDN) for TLS certificates
# Required when cert-manager is enabled (global.certManager enabled)
# Optional when using self-signed certificates (used if provided)
# Example: "sde-mcp.example.com"
fqdn: ""
# Alternate DNS names for TLS certificates (optional)
# Additional hostnames to include in the certificate's Subject Alternative Names (SAN)
# Example: ["sde-mcp-alias.example.com", "sde-mcp.internal"]
alternateDnsNames: []
Ingress Configuration
ingress:
# Enable/disable ingress (default: true)
enabled: true
# Ingress controller class (e.g., "nginx", "traefik", "istio")
className: "nginx"
# Ingress annotations (e.g., for nginx settings)
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
# Hosts and paths to route traffic
hosts:
- host: sde-mcp.example.com
paths:
- path: /
pathType: Prefix
backend:
servicePort: 3000
# TLS configuration
tls:
- secretName: sde-mcp-web-server-tls-secrets
hosts:
- sde-mcp.example.com
Nginx Sidecar Configuration
nginx:
# Enable/disable nginx sidecar (default: true)
enabled: true
# HTTPS port for nginx (default: 443)
port: 443
# Nginx container image
image:
repository: nginx
tag: "1.25-alpine"
pullPolicy: IfNotPresent
# TLS secret name (auto-generated if not specified)
# tlsSecretName: "sde-mcp-web-server-tls-secrets"
# Client certificate verification (optional)
# Options: "on", "optional", "off"
# sslVerifyClient: "on"
Network Policies
networkPoliciesEnabled is deprecated and will be removed in a future release. The NetworkPolicy will then be created whenever global.networkIsolation is set.
|
# Network policies configuration (optional, default=false)
networkPoliciesEnabled: true
networkPolicies:
# Configure as needed for your environment
Deploy the MCP Server
-
Run
helm installfor the first install orhelm upgradeto apply the changes. -
Verify that the
{RELEASE_NAME}-mcppod is in aRunningstatus.
Client Configuration
MCP client configuration is typically defined in:
-
A JSON configuration file (common for IDE extensions)
-
A configuration management tool
-
Environment variables
At minimum, the client must know:
-
Where the MCP server is running
-
Which headers to include for authentication and routing
Integrated MCP
Use this configuration if using the integrated MCP deployment.
Required Configuration:
-
MCP service URL
-
SD Elements API Key
{
"mcpServers": {
"sdelements": {
"url": "https://your-sdelements-instance.com/mcp",
"headers": {
"sde-api-key": "your-api-key-here"
}
}
}
}
Single Instance Mode
Use this configuration if MCP is deployed for a single SD Elements instance (mcp.sdeInstance enabled in the Helm chart).
Required Configuration:
-
MCP service URL
-
SD Elements API Key
{
"mcpServers": {
"sdelements": {
"url": "https://sde-mcp.example.com/mcp",
"headers": {
"sde-api-key": "your-api-key-here"
}
}
}
}
Allowlist Mode
Use this configuration if MCP supports multiple SD Elements instances (mcp.sdeInstanceAllowlist enabled).
Required Configuration:
-
MCP service URL
-
SD Elements API Key
-
SD Elements instance URL
{
"mcpServers": {
"sdelements": {
"url": "https://sde-mcp.example.com/mcp",
"headers": {
"sde-host": "https://your-sdelements-instance.com",
"sde-api-key": "your-api-key-here"
}
}
}
}
Additional Options and Headers
In some cases, it may be necessary to include additional options and headers.
{
"mcpServers": {
"sde-mcp-server": {
"url": "https://sde-mcp.example.com/mcp",
"type": "streamableHttp",
"transport": "https",
"headers": {
"Accept": "application/json, text/event-stream",
"sde-host": "https://<your-SDE-instance.com>",
"sde-api-key": "<your-sde-instance-token>"
}
}
}
}