Class BuiltinTools
java.lang.Object
eu.mrapik.minecraftservermcp.builtin.BuiltinTools
Factory for
McpToolDefinition instances used by built-in tool classes (*ToolSpec).
Implementations are anonymous classes that delegate McpToolDefinition.call(McpToolInvocation) to the supplied
run function, passing both the invocation and a BuiltinToolContext (paths, settings, main-thread runner).
This matches how third-party code would implement McpToolDefinition directly, except built-ins share
BuiltinToolContext for common dependencies.
-
Method Summary
Modifier and TypeMethodDescriptionstatic McpToolDefinitiondefine(BuiltinToolContext ctx, io.modelcontextprotocol.json.McpJsonMapper mapper, String id, String description, String inputSchemaJson, BiFunction<McpToolInvocation, BuiltinToolContext, reactor.core.publisher.Mono<io.modelcontextprotocol.spec.McpSchema.CallToolResult>> run) Creates a definition with the given MCP name, description, JSON Schema string for inputs, and handler.
-
Method Details
-
define
public static McpToolDefinition define(BuiltinToolContext ctx, io.modelcontextprotocol.json.McpJsonMapper mapper, String id, String description, String inputSchemaJson, BiFunction<McpToolInvocation, BuiltinToolContext, reactor.core.publisher.Mono<io.modelcontextprotocol.spec.McpSchema.CallToolResult>> run) Creates a definition with the given MCP name, description, JSON Schema string for inputs, and handler.- Parameters:
ctx- shared paths, settings supplier, andBuiltinToolContext.runSync(java.util.concurrent.Callable<io.modelcontextprotocol.spec.McpSchema.CallToolResult>)for main-thread workmapper- JSON mapper used to parseinputSchemaJsoninto MCP schema objectsid- must equalaccess.*.tools.*keys andMcpSchema.Tool.name()description- short text fortools/listinputSchemaJson- JSON Schema document for the tool'sargumentsrun- handler invoked for each call after access checks- Returns:
- a new
McpToolDefinitioninstance
-