Class McpToolRegistration.OperationBuilder<A>
java.lang.Object
com.soklet.McpToolRegistration.OperationBuilder<A>
- Type Parameters:
A- argument type
- Enclosing class:
McpToolRegistration<A>
Builder for an advanced handler that returns the
McpOperationResult spine directly.- 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.inputRequestDeclarations(@Nullable List<@NonNull McpInputRequestDeclaration> inputRequestDeclarations) Replaces input-request declarations 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.requestStateMode(@NonNull McpRequestStateMode requestStateMode) Sets the request-state contract for this advanced operation.structuredContentMirroredAsText(@NonNull Boolean structuredContentMirroredAsText) Controls canonical JSON text mirroring for structured tool content.toolAnnotations(@NonNull McpToolAnnotations toolAnnotations)
-
Method Details
-
title
-
description
public @NonNull McpToolRegistration.OperationBuilder<@NonNull A> description(@NonNull String description) - Parameters:
description- human-readable description- Returns:
- this builder
-
icons
public @NonNull McpToolRegistration.OperationBuilder<@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.OperationBuilder<@NonNull A> toolAnnotations(@NonNull McpToolAnnotations toolAnnotations) - Parameters:
toolAnnotations- advisory tool annotations- Returns:
- this builder
-
appToolMetadata
public @NonNull McpToolRegistration.OperationBuilder<@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.OperationBuilder<@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.OperationBuilder<@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.OperationBuilder<@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
-
inputRequestDeclarations
public @NonNull McpToolRegistration.OperationBuilder<@NonNull A> inputRequestDeclarations(@Nullable List<@NonNull McpInputRequestDeclaration> inputRequestDeclarations) Replaces input-request declarations in supplied order. Null or empty clears the property. The complete list is validated and snapshotted before replacing the prior value.- Parameters:
inputRequestDeclarations- input-request declarations, or null to clear- Returns:
- this builder
- Throws:
NullPointerException- if a list element is null
-
requestStateMode
public @NonNull McpToolRegistration.OperationBuilder<@NonNull A> requestStateMode(@NonNull McpRequestStateMode requestStateMode) Sets the request-state contract for this advanced operation.- Parameters:
requestStateMode- request-state mode- Returns:
- this builder
-
metadata
public @NonNull McpToolRegistration.OperationBuilder<@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
-