From 878ed28fb7acd36122bb628739eeabf98a8ebe37 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Fri, 12 Sep 2025 08:09:46 +0000
Subject: [PATCH] Update ToolHive reference docs for
toolhive-operator-crds-0.0.23
---
static/api-specs/toolhive-crd-api.md | 125 ++++++++++++++++++++++++++-
1 file changed, 124 insertions(+), 1 deletion(-)
diff --git a/static/api-specs/toolhive-crd-api.md b/static/api-specs/toolhive-crd-api.md
index a8df4ecc..406900d3 100644
--- a/static/api-specs/toolhive-crd-api.md
+++ b/static/api-specs/toolhive-crd-api.md
@@ -12,6 +12,8 @@ Package v1alpha1 contains API Schema definitions for the toolhive v1alpha1 API g
- [MCPRegistryList](#mcpregistrylist)
- [MCPServer](#mcpserver)
- [MCPServerList](#mcpserverlist)
+- [MCPToolConfig](#mcptoolconfig)
+- [MCPToolConfigList](#mcptoolconfiglist)
@@ -384,6 +386,7 @@ _Appears in:_
| --- | --- | --- | --- |
| `image` _string_ | Image is the container image for the MCP server | | Required: \{\}
|
| `transport` _string_ | Transport is the transport method for the MCP server (stdio, streamable-http or sse) | stdio | Enum: [stdio streamable-http sse]
|
+| `proxyMode` _string_ | ProxyMode is the proxy mode for stdio transport (sse or streamable-http)
This setting is only used when Transport is "stdio" | sse | Enum: [sse streamable-http]
|
| `port` _integer_ | Port is the port to expose the MCP server on | 8080 | Maximum: 65535
Minimum: 1
|
| `targetPort` _integer_ | TargetPort is the port that MCP server listens to | | Maximum: 65535
Minimum: 1
|
| `args` _string array_ | Args are additional arguments to pass to the MCP server | | |
@@ -398,7 +401,8 @@ _Appears in:_
| `oidcConfig` _[OIDCConfigRef](#oidcconfigref)_ | OIDCConfig defines OIDC authentication configuration for the MCP server | | |
| `authzConfig` _[AuthzConfigRef](#authzconfigref)_ | AuthzConfig defines authorization policy configuration for the MCP server | | |
| `audit` _[AuditConfig](#auditconfig)_ | Audit defines audit logging configuration for the MCP server | | |
-| `tools` _string array_ | ToolsFilter is the filter on tools applied to the MCP server | | |
+| `tools` _string array_ | ToolsFilter is the filter on tools applied to the MCP server
Deprecated: Use ToolConfigRef instead | | |
+| `toolConfigRef` _[ToolConfigRef](#toolconfigref)_ | ToolConfigRef references a MCPToolConfig resource for tool filtering and renaming.
The referenced MCPToolConfig must exist in the same namespace as this MCPServer.
Cross-namespace references are not supported for security and isolation reasons.
If specified, this takes precedence over the inline ToolsFilter field. | | |
| `telemetry` _[TelemetryConfig](#telemetryconfig)_ | Telemetry defines observability configuration for the MCP server | | |
@@ -416,11 +420,94 @@ _Appears in:_
| Field | Description | Default | Validation |
| --- | --- | --- | --- |
| `conditions` _[Condition](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#condition-v1-meta) array_ | Conditions represent the latest available observations of the MCPServer's state | | |
+| `toolConfigHash` _string_ | ToolConfigHash stores the hash of the referenced ToolConfig for change detection | | |
| `url` _string_ | URL is the URL where the MCP server can be accessed | | |
| `phase` _[MCPServerPhase](#mcpserverphase)_ | Phase is the current phase of the MCPServer | | Enum: [Pending Running Failed Terminating]
|
| `message` _string_ | Message provides additional information about the current phase | | |
+#### MCPToolConfig
+
+
+
+MCPToolConfig is the Schema for the mcptoolconfigs API.
+MCPToolConfig resources are namespace-scoped and can only be referenced by
+MCPServer resources within the same namespace. Cross-namespace references
+are not supported for security and isolation reasons.
+
+
+
+_Appears in:_
+- [MCPToolConfigList](#mcptoolconfiglist)
+
+| Field | Description | Default | Validation |
+| --- | --- | --- | --- |
+| `apiVersion` _string_ | `toolhive.stacklok.dev/v1alpha1` | | |
+| `kind` _string_ | `MCPToolConfig` | | |
+| `kind` _string_ | Kind 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` _string_ | APIVersion 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` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | |
+| `spec` _[MCPToolConfigSpec](#mcptoolconfigspec)_ | | | |
+| `status` _[MCPToolConfigStatus](#mcptoolconfigstatus)_ | | | |
+
+
+#### MCPToolConfigList
+
+
+
+MCPToolConfigList contains a list of MCPToolConfig
+
+
+
+
+
+| Field | Description | Default | Validation |
+| --- | --- | --- | --- |
+| `apiVersion` _string_ | `toolhive.stacklok.dev/v1alpha1` | | |
+| `kind` _string_ | `MCPToolConfigList` | | |
+| `kind` _string_ | Kind 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` _string_ | APIVersion 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` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#listmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | |
+| `items` _[MCPToolConfig](#mcptoolconfig) array_ | | | |
+
+
+#### MCPToolConfigSpec
+
+
+
+MCPToolConfigSpec defines the desired state of MCPToolConfig.
+MCPToolConfig resources are namespace-scoped and can only be referenced by
+MCPServer resources in the same namespace.
+
+
+
+_Appears in:_
+- [MCPToolConfig](#mcptoolconfig)
+
+| Field | Description | Default | Validation |
+| --- | --- | --- | --- |
+| `toolsFilter` _string array_ | ToolsFilter is a list of tool names to filter (allow list).
Only tools in this list will be exposed by the MCP server.
If empty, all tools are exposed. | | |
+| `toolsOverride` _object (keys:string, values:[ToolOverride](#tooloverride))_ | ToolsOverride is a map from actual tool names to their overridden configuration.
This allows renaming tools and/or changing their descriptions. | | |
+
+
+#### MCPToolConfigStatus
+
+
+
+MCPToolConfigStatus defines the observed state of MCPToolConfig
+
+
+
+_Appears in:_
+- [MCPToolConfig](#mcptoolconfig)
+
+| Field | Description | Default | Validation |
+| --- | --- | --- | --- |
+| `observedGeneration` _integer_ | ObservedGeneration is the most recent generation observed for this MCPToolConfig.
It corresponds to the MCPToolConfig's generation, which is updated on mutation by the API Server. | | |
+| `configHash` _string_ | ConfigHash is a hash of the current configuration for change detection | | |
+| `referencingServers` _string array_ | ReferencingServers is a list of MCPServer resources that reference this MCPToolConfig
This helps track which servers need to be reconciled when this config changes | | |
+
+
#### NameFilter
@@ -776,6 +863,42 @@ _Appears in:_
| `prometheus` _[PrometheusConfig](#prometheusconfig)_ | Prometheus defines Prometheus-specific configuration | | |
+#### ToolConfigRef
+
+
+
+ToolConfigRef defines a reference to a MCPToolConfig resource.
+The referenced MCPToolConfig must be in the same namespace as the MCPServer.
+
+
+
+_Appears in:_
+- [MCPServerSpec](#mcpserverspec)
+
+| Field | Description | Default | Validation |
+| --- | --- | --- | --- |
+| `name` _string_ | Name is the name of the MCPToolConfig resource in the same namespace | | Required: \{\}
|
+
+
+#### ToolOverride
+
+
+
+ToolOverride represents a tool override configuration.
+Both Name and Description can be overridden independently, but
+they can't be both empty.
+
+
+
+_Appears in:_
+- [MCPToolConfigSpec](#mcptoolconfigspec)
+
+| Field | Description | Default | Validation |
+| --- | --- | --- | --- |
+| `name` _string_ | Name is the redefined name of the tool | | |
+| `description` _string_ | Description is the redefined description of the tool | | |
+
+
#### Volume