Skip to content

Commit 29b1d01

Browse files
Update ToolHive reference docs for toolhive-operator-crds-0.0.98 (#457)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 50c68c0 commit 29b1d01

1 file changed

Lines changed: 58 additions & 17 deletions

File tree

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

Lines changed: 58 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,7 @@ _Appears in:_
234234
| --- | --- | --- | --- |
235235
| `name` _string_ | Name is the virtual MCP server name. | | |
236236
| `groupRef` _string_ | Group references an existing MCPGroup that defines backend workloads.<br />In Kubernetes, the referenced MCPGroup must exist in the same namespace. | | Required: \{\} <br /> |
237+
| `backends` _[vmcp.config.StaticBackendConfig](#vmcpconfigstaticbackendconfig) array_ | Backends defines pre-configured backend servers for static mode.<br />When OutgoingAuth.Source is "inline", this field contains the full list of backend<br />servers with their URLs and transport types, eliminating the need for K8s API access.<br />When OutgoingAuth.Source is "discovered", this field is empty and backends are<br />discovered at runtime via Kubernetes API. | | |
237238
| `incomingAuth` _[vmcp.config.IncomingAuthConfig](#vmcpconfigincomingauthconfig)_ | IncomingAuth configures how clients authenticate to the virtual MCP server.<br />When using the Kubernetes operator, this is populated by the converter from<br />VirtualMCPServerSpec.IncomingAuth and any values set here will be superseded. | | |
238239
| `outgoingAuth` _[vmcp.config.OutgoingAuthConfig](#vmcpconfigoutgoingauthconfig)_ | OutgoingAuth configures how the virtual MCP server authenticates to backends.<br />When using the Kubernetes operator, this is populated by the converter from<br />VirtualMCPServerSpec.OutgoingAuth and any values set here will be superseded. | | |
239240
| `aggregation` _[vmcp.config.AggregationConfig](#vmcpconfigaggregationconfig)_ | Aggregation defines tool aggregation and conflict resolution strategies.<br />Supports ToolConfigRef for Kubernetes-native MCPToolConfig resource references. | | |
@@ -243,6 +244,7 @@ _Appears in:_
243244
| `metadata` _object (keys:string, values:string)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | |
244245
| `telemetry` _[pkg.telemetry.Config](#pkgtelemetryconfig)_ | Telemetry configures OpenTelemetry-based observability for the Virtual MCP server<br />including distributed tracing, OTLP metrics export, and Prometheus metrics endpoint. | | |
245246
| `audit` _[pkg.audit.Config](#pkgauditconfig)_ | Audit configures audit logging for the Virtual MCP server.<br />When present, audit logs include MCP protocol operations.<br />See audit.Config for available configuration options. | | |
247+
| `optimizer` _[vmcp.config.OptimizerConfig](#vmcpconfigoptimizerconfig)_ | Optimizer configures the MCP optimizer for context optimization on large toolsets.<br />When enabled, vMCP exposes only find_tool and call_tool operations to clients<br />instead of all backend tools directly. This reduces token usage by allowing<br />LLMs to discover relevant tools on demand rather than receiving all tool definitions. | | |
246248

247249

248250
#### vmcp.config.ConflictResolutionConfig
@@ -341,7 +343,7 @@ _Appears in:_
341343

342344
| Field | Description | Default | Validation |
343345
| --- | --- | --- | --- |
344-
| `issuer` _string_ | Issuer is the OIDC issuer URL. | | |
346+
| `issuer` _string_ | Issuer is the OIDC issuer URL. | | Pattern: `^https?://` <br /> |
345347
| `clientId` _string_ | ClientID is the OAuth client ID. | | |
346348
| `clientSecretEnv` _string_ | ClientSecretEnv is the name of the environment variable containing the client secret.<br />This is the secure way to reference secrets - the actual secret value is never stored<br />in configuration files, only the environment variable name.<br />The secret value will be resolved from this environment variable at runtime. | | |
347349
| `audience` _string_ | Audience is the required token audience. | | |
@@ -370,6 +372,24 @@ _Appears in:_
370372
| `failureHandling` _[vmcp.config.FailureHandlingConfig](#vmcpconfigfailurehandlingconfig)_ | FailureHandling configures failure handling behavior. | | |
371373

372374

375+
#### vmcp.config.OptimizerConfig
376+
377+
378+
379+
OptimizerConfig configures the MCP optimizer.
380+
When enabled, vMCP exposes only find_tool and call_tool operations to clients
381+
instead of all backend tools directly.
382+
383+
384+
385+
_Appears in:_
386+
- [vmcp.config.Config](#vmcpconfigconfig)
387+
388+
| Field | Description | Default | Validation |
389+
| --- | --- | --- | --- |
390+
| `embeddingService` _string_ | EmbeddingService is the name of a Kubernetes Service that provides the embedding service<br />for semantic tool discovery. The service must implement the optimizer embedding API. | | Required: \{\} <br /> |
391+
392+
373393
#### vmcp.config.OutgoingAuthConfig
374394

375395

@@ -439,6 +459,27 @@ _Appears in:_
439459
| `default` _[pkg.json.Any](#pkgjsonany)_ | Default is the fallback value if template expansion fails.<br />Type coercion is applied to match the declared Type. | | Schemaless: \{\} <br /> |
440460

441461

462+
#### vmcp.config.StaticBackendConfig
463+
464+
465+
466+
StaticBackendConfig defines a pre-configured backend server for static mode.
467+
This allows vMCP to operate without Kubernetes API access by embedding all backend
468+
information directly in the configuration.
469+
470+
471+
472+
_Appears in:_
473+
- [vmcp.config.Config](#vmcpconfigconfig)
474+
475+
| Field | Description | Default | Validation |
476+
| --- | --- | --- | --- |
477+
| `name` _string_ | Name is the backend identifier.<br />Must match the backend name from the MCPGroup for auth config resolution. | | Required: \{\} <br /> |
478+
| `url` _string_ | URL is the backend's MCP server base URL. | | Pattern: `^https?://` <br />Required: \{\} <br /> |
479+
| `transport` _string_ | Transport is the MCP transport protocol: "sse" or "streamable-http"<br />Only network transports supported by vMCP client are allowed. | | Enum: [sse streamable-http] <br />Required: \{\} <br /> |
480+
| `metadata` _object (keys:string, values:string)_ | Refer to Kubernetes API documentation for fields of `metadata`. | | |
481+
482+
442483
#### vmcp.config.StepErrorHandling
443484

444485

@@ -603,22 +644,22 @@ _Appears in:_
603644

604645
## toolhive.stacklok.dev/v1alpha1
605646
### Resource Types
606-
- [MCPExternalAuthConfig](#mcpexternalauthconfig)
607-
- [MCPExternalAuthConfigList](#mcpexternalauthconfiglist)
608-
- [MCPGroup](#mcpgroup)
609-
- [MCPGroupList](#mcpgrouplist)
610-
- [MCPRegistry](#mcpregistry)
611-
- [MCPRegistryList](#mcpregistrylist)
612-
- [MCPRemoteProxy](#mcpremoteproxy)
613-
- [MCPRemoteProxyList](#mcpremoteproxylist)
614-
- [MCPServer](#mcpserver)
615-
- [MCPServerList](#mcpserverlist)
616-
- [MCPToolConfig](#mcptoolconfig)
617-
- [MCPToolConfigList](#mcptoolconfiglist)
618-
- [VirtualMCPCompositeToolDefinition](#virtualmcpcompositetooldefinition)
619-
- [VirtualMCPCompositeToolDefinitionList](#virtualmcpcompositetooldefinitionlist)
620-
- [VirtualMCPServer](#virtualmcpserver)
621-
- [VirtualMCPServerList](#virtualmcpserverlist)
647+
- [api.v1alpha1.MCPExternalAuthConfig](#apiv1alpha1mcpexternalauthconfig)
648+
- [api.v1alpha1.MCPExternalAuthConfigList](#apiv1alpha1mcpexternalauthconfiglist)
649+
- [api.v1alpha1.MCPGroup](#apiv1alpha1mcpgroup)
650+
- [api.v1alpha1.MCPGroupList](#apiv1alpha1mcpgrouplist)
651+
- [api.v1alpha1.MCPRegistry](#apiv1alpha1mcpregistry)
652+
- [api.v1alpha1.MCPRegistryList](#apiv1alpha1mcpregistrylist)
653+
- [api.v1alpha1.MCPRemoteProxy](#apiv1alpha1mcpremoteproxy)
654+
- [api.v1alpha1.MCPRemoteProxyList](#apiv1alpha1mcpremoteproxylist)
655+
- [api.v1alpha1.MCPServer](#apiv1alpha1mcpserver)
656+
- [api.v1alpha1.MCPServerList](#apiv1alpha1mcpserverlist)
657+
- [api.v1alpha1.MCPToolConfig](#apiv1alpha1mcptoolconfig)
658+
- [api.v1alpha1.MCPToolConfigList](#apiv1alpha1mcptoolconfiglist)
659+
- [api.v1alpha1.VirtualMCPCompositeToolDefinition](#apiv1alpha1virtualmcpcompositetooldefinition)
660+
- [api.v1alpha1.VirtualMCPCompositeToolDefinitionList](#apiv1alpha1virtualmcpcompositetooldefinitionlist)
661+
- [api.v1alpha1.VirtualMCPServer](#apiv1alpha1virtualmcpserver)
662+
- [api.v1alpha1.VirtualMCPServerList](#apiv1alpha1virtualmcpserverlist)
622663

623664

624665

0 commit comments

Comments
 (0)