Skip to content

Commit 63e5855

Browse files
Update ToolHive reference docs for toolhive-operator-crds-0.0.23 (#180)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 091fc41 commit 63e5855

File tree

1 file changed

+124
-1
lines changed

1 file changed

+124
-1
lines changed

static/api-specs/toolhive-crd-api.md

Lines changed: 124 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ Package v1alpha1 contains API Schema definitions for the toolhive v1alpha1 API g
1212
- [MCPRegistryList](#mcpregistrylist)
1313
- [MCPServer](#mcpserver)
1414
- [MCPServerList](#mcpserverlist)
15+
- [MCPToolConfig](#mcptoolconfig)
16+
- [MCPToolConfigList](#mcptoolconfiglist)
1517

1618

1719

@@ -384,6 +386,7 @@ _Appears in:_
384386
| --- | --- | --- | --- |
385387
| `image` _string_ | Image is the container image for the MCP server | | Required: \{\} <br /> |
386388
| `transport` _string_ | Transport is the transport method for the MCP server (stdio, streamable-http or sse) | stdio | Enum: [stdio streamable-http sse] <br /> |
389+
| `proxyMode` _string_ | ProxyMode is the proxy mode for stdio transport (sse or streamable-http)<br />This setting is only used when Transport is "stdio" | sse | Enum: [sse streamable-http] <br /> |
387390
| `port` _integer_ | Port is the port to expose the MCP server on | 8080 | Maximum: 65535 <br />Minimum: 1 <br /> |
388391
| `targetPort` _integer_ | TargetPort is the port that MCP server listens to | | Maximum: 65535 <br />Minimum: 1 <br /> |
389392
| `args` _string array_ | Args are additional arguments to pass to the MCP server | | |
@@ -398,7 +401,8 @@ _Appears in:_
398401
| `oidcConfig` _[OIDCConfigRef](#oidcconfigref)_ | OIDCConfig defines OIDC authentication configuration for the MCP server | | |
399402
| `authzConfig` _[AuthzConfigRef](#authzconfigref)_ | AuthzConfig defines authorization policy configuration for the MCP server | | |
400403
| `audit` _[AuditConfig](#auditconfig)_ | Audit defines audit logging configuration for the MCP server | | |
401-
| `tools` _string array_ | ToolsFilter is the filter on tools applied to the MCP server | | |
404+
| `tools` _string array_ | ToolsFilter is the filter on tools applied to the MCP server<br />Deprecated: Use ToolConfigRef instead | | |
405+
| `toolConfigRef` _[ToolConfigRef](#toolconfigref)_ | ToolConfigRef references a MCPToolConfig resource for tool filtering and renaming.<br />The referenced MCPToolConfig must exist in the same namespace as this MCPServer.<br />Cross-namespace references are not supported for security and isolation reasons.<br />If specified, this takes precedence over the inline ToolsFilter field. | | |
402406
| `telemetry` _[TelemetryConfig](#telemetryconfig)_ | Telemetry defines observability configuration for the MCP server | | |
403407

404408

@@ -416,11 +420,94 @@ _Appears in:_
416420
| Field | Description | Default | Validation |
417421
| --- | --- | --- | --- |
418422
| `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 | | |
423+
| `toolConfigHash` _string_ | ToolConfigHash stores the hash of the referenced ToolConfig for change detection | | |
419424
| `url` _string_ | URL is the URL where the MCP server can be accessed | | |
420425
| `phase` _[MCPServerPhase](#mcpserverphase)_ | Phase is the current phase of the MCPServer | | Enum: [Pending Running Failed Terminating] <br /> |
421426
| `message` _string_ | Message provides additional information about the current phase | | |
422427

423428

429+
#### MCPToolConfig
430+
431+
432+
433+
MCPToolConfig is the Schema for the mcptoolconfigs API.
434+
MCPToolConfig resources are namespace-scoped and can only be referenced by
435+
MCPServer resources within the same namespace. Cross-namespace references
436+
are not supported for security and isolation reasons.
437+
438+
439+
440+
_Appears in:_
441+
- [MCPToolConfigList](#mcptoolconfiglist)
442+
443+
| Field | Description | Default | Validation |
444+
| --- | --- | --- | --- |
445+
| `apiVersion` _string_ | `toolhive.stacklok.dev/v1alpha1` | | |
446+
| `kind` _string_ | `MCPToolConfig` | | |
447+
| `kind` _string_ | Kind is a string value representing the REST resource this object represents.<br />Servers may infer this from the endpoint the client submits requests to.<br />Cannot be updated.<br />In CamelCase.<br />More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | | |
448+
| `apiVersion` _string_ | APIVersion defines the versioned schema of this representation of an object.<br />Servers should convert recognized schemas to the latest internal value, and<br />may reject unrecognized values.<br />More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | | |
449+
| `metadata` _[ObjectMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#objectmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | |
450+
| `spec` _[MCPToolConfigSpec](#mcptoolconfigspec)_ | | | |
451+
| `status` _[MCPToolConfigStatus](#mcptoolconfigstatus)_ | | | |
452+
453+
454+
#### MCPToolConfigList
455+
456+
457+
458+
MCPToolConfigList contains a list of MCPToolConfig
459+
460+
461+
462+
463+
464+
| Field | Description | Default | Validation |
465+
| --- | --- | --- | --- |
466+
| `apiVersion` _string_ | `toolhive.stacklok.dev/v1alpha1` | | |
467+
| `kind` _string_ | `MCPToolConfigList` | | |
468+
| `kind` _string_ | Kind is a string value representing the REST resource this object represents.<br />Servers may infer this from the endpoint the client submits requests to.<br />Cannot be updated.<br />In CamelCase.<br />More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | | |
469+
| `apiVersion` _string_ | APIVersion defines the versioned schema of this representation of an object.<br />Servers should convert recognized schemas to the latest internal value, and<br />may reject unrecognized values.<br />More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | | |
470+
| `metadata` _[ListMeta](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#listmeta-v1-meta)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | |
471+
| `items` _[MCPToolConfig](#mcptoolconfig) array_ | | | |
472+
473+
474+
#### MCPToolConfigSpec
475+
476+
477+
478+
MCPToolConfigSpec defines the desired state of MCPToolConfig.
479+
MCPToolConfig resources are namespace-scoped and can only be referenced by
480+
MCPServer resources in the same namespace.
481+
482+
483+
484+
_Appears in:_
485+
- [MCPToolConfig](#mcptoolconfig)
486+
487+
| Field | Description | Default | Validation |
488+
| --- | --- | --- | --- |
489+
| `toolsFilter` _string array_ | ToolsFilter is a list of tool names to filter (allow list).<br />Only tools in this list will be exposed by the MCP server.<br />If empty, all tools are exposed. | | |
490+
| `toolsOverride` _object (keys:string, values:[ToolOverride](#tooloverride))_ | ToolsOverride is a map from actual tool names to their overridden configuration.<br />This allows renaming tools and/or changing their descriptions. | | |
491+
492+
493+
#### MCPToolConfigStatus
494+
495+
496+
497+
MCPToolConfigStatus defines the observed state of MCPToolConfig
498+
499+
500+
501+
_Appears in:_
502+
- [MCPToolConfig](#mcptoolconfig)
503+
504+
| Field | Description | Default | Validation |
505+
| --- | --- | --- | --- |
506+
| `observedGeneration` _integer_ | ObservedGeneration is the most recent generation observed for this MCPToolConfig.<br />It corresponds to the MCPToolConfig's generation, which is updated on mutation by the API Server. | | |
507+
| `configHash` _string_ | ConfigHash is a hash of the current configuration for change detection | | |
508+
| `referencingServers` _string array_ | ReferencingServers is a list of MCPServer resources that reference this MCPToolConfig<br />This helps track which servers need to be reconciled when this config changes | | |
509+
510+
424511
#### NameFilter
425512

426513

@@ -776,6 +863,42 @@ _Appears in:_
776863
| `prometheus` _[PrometheusConfig](#prometheusconfig)_ | Prometheus defines Prometheus-specific configuration | | |
777864

778865

866+
#### ToolConfigRef
867+
868+
869+
870+
ToolConfigRef defines a reference to a MCPToolConfig resource.
871+
The referenced MCPToolConfig must be in the same namespace as the MCPServer.
872+
873+
874+
875+
_Appears in:_
876+
- [MCPServerSpec](#mcpserverspec)
877+
878+
| Field | Description | Default | Validation |
879+
| --- | --- | --- | --- |
880+
| `name` _string_ | Name is the name of the MCPToolConfig resource in the same namespace | | Required: \{\} <br /> |
881+
882+
883+
#### ToolOverride
884+
885+
886+
887+
ToolOverride represents a tool override configuration.
888+
Both Name and Description can be overridden independently, but
889+
they can't be both empty.
890+
891+
892+
893+
_Appears in:_
894+
- [MCPToolConfigSpec](#mcptoolconfigspec)
895+
896+
| Field | Description | Default | Validation |
897+
| --- | --- | --- | --- |
898+
| `name` _string_ | Name is the redefined name of the tool | | |
899+
| `description` _string_ | Description is the redefined description of the tool | | |
900+
901+
779902
#### Volume
780903

781904

0 commit comments

Comments
 (0)