🎉 Join us at the kagent Community Party at KubeCon Atlanta on Nov 12
Documentation

API Reference#

Packages#

kagent.dev/v1alpha1#

Package v1alpha1 contains API Schema definitions for the v1alpha1 API group.

Resource Types#

HTTPTransport#

HTTPTransport defines the configuration for a Streamable HTTP transport.

Appears in:

FieldDescriptionDefaultValidation
targetPort integertarget port is the HTTP port that serves the MCP server.over HTTP
path stringthe target path where MCP is served

KeycloakProvider#

Appears in:

FieldDescriptionDefaultValidation
realm string

MCPAuthorizationServer#

MCPAuthorizationServer represents the configuration for the MCP authorization server

Appears in:

FieldDescriptionDefaultValidation
issuer string
audience string
jwksUrl string
provider MCPClientProvider
resourceMetadata MCPClientResourceMetadata

MCPClientProvider#

MCPClientProvider represents the support identity providers currently only keycloak is supported

Appears in:

FieldDescriptionDefaultValidation
keycloak KeycloakProvider

MCPClientResourceMetadata#

MCPClientResourceMetadata represents resource metadata for MCP client authentication

Appears in:

FieldDescriptionDefaultValidation
baseUrl stringBaseURL denotes the protected base url of the protected resource ie: http://localhost:3000
scopesSupported string arrayScopes supported by this resource
bearerMethodsSupported string arrayBearer methods supported by this resource
additionalFields object (keys:string, values:string)Additional resource metadata fields

MCPServer#

MCPServer is the Schema for the mcpservers API.

FieldDescriptionDefaultValidation
apiVersion stringkagent.dev/v1alpha1
kind stringMCPServer
kind stringKind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
apiVersion stringAPIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec MCPServerSpec
status MCPServerStatus

MCPServerAuthentication#

MCPServerAuthentication defines the authentication configuration for the MCP server.

Appears in:

FieldDescriptionDefaultValidation
jwt MCPServerJWTAuthenticationJWT defines the JWT authentication configuration.

MCPServerAuthorization#

MCPServerAuthorization defines the authorization configuration for the MCP server.

Appears in:

FieldDescriptionDefaultValidation
server MCPAuthorizationServerServer defines the configuration for the MCP authorization server that protects the MCP server.
Setting this field will configure agentgateway to use the authorization server
to protect the MCP server and its resources as well as adapt traffic to the MCP client to comply with the
MCP authorization spec before forwarding traffic to the MCP client.
rules stringRules defines the CEL-based authorization rules that control access to the MCP server resources.

MCPServerDeployment#

MCPServerDeployment

Appears in:

FieldDescriptionDefaultValidation
image stringImage defines the container image to to deploy the MCP server.
port integerPort defines the port on which the MCP server will listen.
cmd stringCmd defines the command to run in the container to start the mcp server.
args string arrayArgs defines the arguments to pass to the command.
env object (keys:string, values:string)Env defines the environment variables to set in the container.
secretRefs LocalObjectReference arraySecretRefs defines the list of Kubernetes secrets to reference.
These secrets will be mounted as volumes to the MCP server container.

MCPServerJWTAuthentication#

MCPServerJWTAuthentication defines the JWT authentication configuration for the MCP server.

Appears in:

FieldDescriptionDefaultValidation
issuer stringIssuer is the JWT issuer URL.
audiences string arrayAudiences is a list of audiences that the JWT must match.
jwks SecretKeySelectorJWKS references a secret containing the JSON Web Key Set.
The secret must contain a key with the JWKS content.

MCPServerSpec#

MCPServerSpec defines the desired state of MCPServer.

Appears in:

FieldDescriptionDefaultValidation
deployment MCPServerDeploymentConfiguration to Deploy the MCP Server using a docker container
transportType TransportTypeTransportType defines the type of mcp server being runEnum: [stdio http]
stdioTransport StdioTransportStdioTransport defines the configuration for a standard input/output transport.
httpTransport HTTPTransportHTTPTransport defines the configuration for a Streamable HTTP transport.
authn MCPServerAuthenticationAuthn defines the authentication configuration for the MCP server.
This field is optional and can be used to configure JWT authentication.
If not specified, the MCP server will not require authentication.
authz MCPServerAuthorizationAuthz defines the authorization rule configuration for the MCP server.
This field is optional and can be used to configure authorization rules
for access to the MCP server and specific tools. If not specified, the MCP server will not enforce
any authorization rules.

MCPServerStatus#

MCPServerStatus defines the observed state of MCPServer.

Appears in:

FieldDescriptionDefaultValidation
conditions Condition arrayConditions describe the current conditions of the MCPServer.
Implementations should prefer to express MCPServer conditions
using the MCPServerConditionType and MCPServerConditionReason
constants so that operators and tools can converge on a common
vocabulary to describe MCPServer state.

Known condition types are:

* "Accepted"
* "ResolvedRefs"
* "Programmed"
* "Ready"
MaxItems: 8
observedGeneration integerObservedGeneration is the most recent generation observed for this MCPServer.
It corresponds to the MCPServer's generation, which is updated on mutation by the API Server.

StdioTransport#

StdioTransport defines the configuration for a standard input/output transport.

Appears in:

TransportType#

Underlying type: string

MCPServerTransportType defines the type of transport for the MCP server.

Appears in:

FieldDescription
stdioTransportTypeStdio indicates that the MCP server uses standard input/output for communication.
httpTransportTypeHTTP indicates that the MCP server uses Streamable HTTP for communication.
Kagent Lab: Discover kagent and kmcp
Free, on‑demand lab: build custom AI agents with kagent and integrate tools via kmcp on Kubernetes.