MCP install references
You can use the following API and route reference information for MCP gateway installation tasks.
The MCPGatewayExtension custom resource API reference
You can use the following API reference information for each MCP gateway MCPGatewayExtension custom resource (CR).
| Field | Type | Required | Description |
|---|---|---|---|
|
Yes |
The specification for MCPGatewayExtension custom resource |
|
|
No |
The status for the custom resource |
| Field | Type | Required | Description |
|---|---|---|---|
|
Yes |
The Gateway listener to extend with MCP protocol support |
|
|
String |
No |
Overrides the public host derived from the listener hostname. Use when the listener has a wildcard and you need a specific host |
|
String |
No |
Overrides the internal host used for hair-pinning requests back through the gateway. Defaults to |
|
Integer |
No |
How often (in seconds) the broker pings upstream MCP servers. Min: 10, Max: 7200, Default: 60 |
|
No |
Configures trusted-header key pair for JWT-based tool filtering. When set, the public key secret is injected into the broker deployment with the |
|
|
String |
No |
Controls whether the operator manages the gateway |
|
No |
References a secret for Redis-based session storage. When not set, in-memory session storage is used. |
|
|
String |
No |
Controls URL-based token elicitation. |
| Field | Type | Required | Description |
|---|---|---|---|
|
String |
Yes |
Group of the target resource. Default: |
|
String |
Yes |
Kind of the target resource. Default: |
|
String |
Yes |
Name of the target Gateway |
|
String |
No |
Namespace of the target Gateway. Defaults to the MCPGatewayExtension namespace. Cross-namespace references require a ReferenceGrant |
|
String |
Yes |
Name of a listener on the target Gateway. The controller reads the listener’s port and hostname to configure the MCP Gateway instance |
| Field | Type | Required | Description |
|---|---|---|---|
|
String |
Yes |
Name of the secret containing the PEM-encoded public key used by the broker to verify trusted-header JWTs. The secret must have a data entry with key |
|
String |
No |
Controls whether the operator generates an ECDSA P-256 key pair. |
| Field | Type | Required | Description |
|---|---|---|---|
|
String |
Yes |
Name of the secret containing a |
| Field | Type | Required | Description |
|---|---|---|---|
|
Yes |
List of conditions that define the status of the resource |
| Type | Description |
|---|---|
|
Indicates whether the |
| Reason | Description |
|---|---|
|
The |
|
Invalid configuration detected. |
|
A |
|
The broker-router deployment is not ready. |
|
A referenced secret is missing, specifically the trusted headers or session store. |
|
A referenced secret lacks the required data entry: |
Automatically created HTTPRoute example
Applying the MCPGatewayExtension custom resources (CR) generates an automatic HTTPRoute CR. The following is an example of the route.
HTTPRoute CRapiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: mcp-gateway-route
namespace: mcp-gateway-namespace
spec:
parentRefs:
- name: mcp-gateway
namespace: gateway-namespace
sectionName: mcp
rules:
- matches:
- path:
type: PathPrefix
value: /mcp
backendRefs:
- name: mcp-gateway
port: 8080
-
The value of the
spec.parentRefs.name:parameter matches yourGatewayCR name. -
The value of the
spec.parentRefs.namespace:parameter matches yourGatewaynamespace. -
The value of the
spec.parentRefs.sectionName:parameter matches thespec.listeners[*].namevalue of yourGatewayobject listener. -
The value of the
spec.rules.backendRefs.name:is the Kubernetes service for your MCP gateway. -
The value of the
spec.rules.backendRefs.port:is the port that the MCP gateway is listening on.