Class McpToolRegistration.CompleteBuilder<A>
java.lang.Object
com.soklet.McpToolRegistration.CompleteBuilder<A>
- Type Parameters:
A- argument type
- Enclosing class:
McpToolRegistration<A>
Builder for a tool that always completes with a supported structured Java
result.
The staged type declaration is the sole source for schema derivation and intrinsic conversion. This builder intentionally has no output-type, output-schema, or converter override.
- Author:
- Mark Allen
-
Method Summary
Modifier and TypeMethodDescriptionappToolMetadata(@NonNull McpAppToolMetadata appToolMetadata) Sets typed Apps association and audience metadata.build()description(@NonNull String description) Replaces icon descriptors in supplied order.metadata(@NonNull McpJsonObject metadata) rateLimiter(@NonNull McpRateLimiter rateLimiter) Sets a direct rate-limiter override.rateLimiterName(@NonNull String rateLimiterName) Sets a named rate-limiter override.structuredContentMirroredAsText(@NonNull Boolean structuredContentMirroredAsText) Controls canonical JSON text mirroring for structured tool content.toolAnnotations(@NonNull McpToolAnnotations toolAnnotations)
-
Method Details
-
title
-
description
public @NonNull McpToolRegistration.CompleteBuilder<@NonNull A> description(@NonNull String description) - Parameters:
description- human-readable description- Returns:
- this builder
-
icons
public @NonNull McpToolRegistration.CompleteBuilder<@NonNull A> icons(@Nullable List<@NonNull McpIcon> icons) Replaces icon descriptors in supplied order. Null or empty clears the property. The complete list is validated and snapshotted before replacing the prior value.- Parameters:
icons- icon descriptors, or null to clear- Returns:
- this builder
- Throws:
NullPointerException- if a list element is null
-
toolAnnotations
public @NonNull McpToolRegistration.CompleteBuilder<@NonNull A> toolAnnotations(@NonNull McpToolAnnotations toolAnnotations) - Parameters:
toolAnnotations- advisory tool annotations- Returns:
- this builder
-
appToolMetadata
public @NonNull McpToolRegistration.CompleteBuilder<@NonNull A> appToolMetadata(@NonNull McpAppToolMetadata appToolMetadata) Sets typed Apps association and audience metadata.Typed configuration owns
ui.resourceUriandui.visibility; raw declarations of either field conflict even when their values agree. Unrelated raw metadata is retained. An associated UI resource is checked when the endpoint is built.- Parameters:
appToolMetadata- typed Apps metadata- Returns:
- this builder
- Throws:
NullPointerException- if the metadata is nullIllegalArgumentException- if raw metadata declares an owned field
-
rateLimiterName
public @NonNull McpToolRegistration.CompleteBuilder<@NonNull A> rateLimiterName(@NonNull String rateLimiterName) Sets a named rate-limiter override.Named and direct setter calls are last-call-wins.
- Parameters:
rateLimiterName- nonblank name in the server limiter registry- Returns:
- this builder
-
rateLimiter
public @NonNull McpToolRegistration.CompleteBuilder<@NonNull A> rateLimiter(@NonNull McpRateLimiter rateLimiter) Sets a direct rate-limiter override.Named and direct setter calls are last-call-wins.
- Parameters:
rateLimiter- direct application limiter- Returns:
- this builder
-
structuredContentMirroredAsText
public @NonNull McpToolRegistration.CompleteBuilder<@NonNull A> structuredContentMirroredAsText(@NonNull Boolean structuredContentMirroredAsText) Controls canonical JSON text mirroring for structured tool content.Mirroring is enabled by default. Pass
falseto opt out. The default is defined by Soklet's supported MCP profile and does not automatically follow newer MCP revisions.- Parameters:
structuredContentMirroredAsText- whether mirroring is enabled- Returns:
- this builder
- Throws:
NullPointerException- ifstructuredContentMirroredAsTextis null
-
metadata
public @NonNull McpToolRegistration.CompleteBuilder<@NonNull A> metadata(@NonNull McpJsonObject metadata) - Parameters:
metadata- protocol extension metadata- Returns:
- this builder
- Throws:
IllegalArgumentException- if raw Apps metadata is malformed or conflicts with typed Apps metadata
-
build
- Returns:
- immutable tool registration
-