You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: static/api-specs/toolhive-crd-api.md
+124-1Lines changed: 124 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,8 @@ Package v1alpha1 contains API Schema definitions for the toolhive v1alpha1 API g
12
12
-[MCPRegistryList](#mcpregistrylist)
13
13
-[MCPServer](#mcpserver)
14
14
-[MCPServerList](#mcpserverlist)
15
+
-[MCPToolConfig](#mcptoolconfig)
16
+
-[MCPToolConfigList](#mcptoolconfiglist)
15
17
16
18
17
19
@@ -384,6 +386,7 @@ _Appears in:_
384
386
| --- | --- | --- | --- |
385
387
|`image`_string_| Image is the container image for the MCP server || Required: \{\} <br /> |
386
388
|`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 /> |
387
390
|`port`_integer_| Port is the port to expose the MCP server on | 8080 | Maximum: 65535 <br />Minimum: 1 <br /> |
388
391
|`targetPort`_integer_| TargetPort is the port that MCP server listens to || Maximum: 65535 <br />Minimum: 1 <br /> |
389
392
|`args`_string array_| Args are additional arguments to pass to the MCP server |||
@@ -398,7 +401,8 @@ _Appears in:_
398
401
|`oidcConfig`_[OIDCConfigRef](#oidcconfigref)_| OIDCConfig defines OIDC authentication configuration for the MCP server |||
399
402
|`authzConfig`_[AuthzConfigRef](#authzconfigref)_| AuthzConfig defines authorization policy configuration for the MCP server |||
400
403
|`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. |||
402
406
|`telemetry`_[TelemetryConfig](#telemetryconfig)_| Telemetry defines observability configuration for the MCP server |||
403
407
404
408
@@ -416,11 +420,94 @@ _Appears in:_
416
420
| Field | Description | Default | Validation |
417
421
| --- | --- | --- | --- |
418
422
|`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 |||
419
424
|`url`_string_| URL is the URL where the MCP server can be accessed |||
420
425
|`phase`_[MCPServerPhase](#mcpserverphase)_| Phase is the current phase of the MCPServer || Enum: [Pending Running Failed Terminating] <br /> |
421
426
|`message`_string_| Message provides additional information about the current phase |||
422
427
423
428
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.
|`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`. |||
|`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`. |||
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 |||
0 commit comments