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