Skip to main content

VirtualMCPServer configuration reference

This reference documents all configuration options for the VirtualMCPServer custom resource.

Spec fields

spec.groupRef (required)

References the MCPGroup containing backend MCPServers to aggregate.

spec:
groupRef:
name: engineering-tools

The MCPGroup must exist in the same namespace and be in a Ready state before the VirtualMCPServer can start.

spec.incomingAuth

Configures authentication for clients connecting to Virtual MCP. See Authentication for detailed configuration.

Supported types:

TypeDescription
anonymousNo authentication required (development only)
oidcOpenID Connect authentication
kubernetesKubernetes service account tokens

spec.outgoingAuth

Configures authentication from Virtual MCP to backend APIs.

Source options:

SourceDescription
discoveredAuto-discover from backend MCPServer.spec.externalAuthConfigRef
inlineExplicit per-backend configuration
mixedDiscover most, override specific backends

spec.aggregation

Controls how tools from multiple backends are aggregated.

See Tool aggregation for detailed configuration.

spec.tokenCache

Configures caching for exchanged tokens.

Providers:

ProviderDescription
memoryIn-memory cache (default)
redisDistributed Redis cache (for HA deployments)

spec.operational

Configures timeouts and failure handling.

spec.compositeTools

Defines multi-step workflows that span multiple backends.

See Composite tools for detailed configuration.

spec.serviceType

Kubernetes service type for the Virtual MCP endpoint.

spec:
serviceType: ClusterIP # ClusterIP | NodePort | LoadBalancer

spec.podTemplateSpec

Custom pod specification for advanced configuration. The container name must be vmcp.

Status fields

status.phase

Current lifecycle state:

PhaseDescription
PendingWaiting for dependencies
ReadyFully operational
DegradedRunning but some backends unavailable
FailedConfiguration or critical error

status.conditions

Detailed condition information:

  • Ready: Whether VirtualMCPServer is ready to serve requests
  • GroupRefValidated: Whether MCPGroup reference is valid
  • AuthConfigured: Whether authentication is configured
  • BackendsDiscovered: Whether backends were discovered

status.url

Service URL for client connections:

http://vmcp-{name}.{namespace}.svc.cluster.local:4483

status.discoveredBackends

Array of discovered backend information including name, status, auth configuration, and last health check timestamp.

Example configurations

Minimal configuration

apiVersion: toolhive.stacklok.dev/v1alpha1
kind: VirtualMCPServer
metadata:
name: my-vmcp
spec:
groupRef:
name: my-group

With OIDC authentication

Production configuration