MCPServerEntrySpec defines the desired state of MCPServerEntry.
MCPServerEntry is a zero-infrastructure catalog entry that declares a remote MCP
server endpoint. Unlike MCPRemoteProxy, it creates no pods, services, or deployments.
caBundleRef
object
CABundleRef references a ConfigMap containing CA certificates for TLS verification
when connecting to the remote MCP server.
configMapRef
object
ConfigMapRef references a ConfigMap containing the CA certificate bundle.
If Key is not specified, it defaults to "ca.crt".
key
string required
The key to select.
name
string
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
optional
boolean
Specify whether the ConfigMap or its key must be defined
externalAuthConfigRef
object
ExternalAuthConfigRef references a MCPExternalAuthConfig resource for token exchange
when connecting to the remote MCP server. The referenced MCPExternalAuthConfig must
exist in the same namespace as this MCPServerEntry.
name
string required
Name is the name of the MCPExternalAuthConfig resource
groupRef
object required
GroupRef references the MCPGroup this entry belongs to.
Required — every MCPServerEntry must be part of a group for vMCP discovery.
name
string required
Name is the name of the MCPGroup resource in the same namespace
minLength: 1
headerForward
object
HeaderForward configures headers to inject into requests to the remote MCP server.
Use this to add custom headers like API keys or correlation IDs.
addHeadersFromSecret
[]object
AddHeadersFromSecret references Kubernetes Secrets for sensitive header values.
headerName
string required
HeaderName is the HTTP header name (e.g., "X-API-Key")
minLength: 1
maxLength: 255
valueSecretRef
object required
ValueSecretRef references the Secret and key containing the header value
key
string required
Key is the key within the secret
name
string required
Name is the name of the secret
addPlaintextHeaders
object
AddPlaintextHeaders is a map of header names to literal values to inject into requests.
WARNING: Values are stored in plaintext and visible via kubectl commands.
Use addHeadersFromSecret for sensitive data like API keys or tokens.
remoteUrl
string required
RemoteURL is the URL of the remote MCP server.
Both HTTP and HTTPS schemes are accepted at admission time.
pattern: ^https?://
transport
string required
Transport is the transport method for the remote server (sse or streamable-http).
No default is set (unlike MCPRemoteProxy) because MCPServerEntry points at external
servers the user doesn't control — requiring explicit transport avoids silent mismatches.
enum: sse, streamable-http