Class SyncMcpToolMethodCallback
java.lang.Object
org.springaicommunity.mcp.method.tool.AbstractMcpToolMethodCallback<T,RC>
org.springaicommunity.mcp.method.tool.AbstractAsyncMcpToolMethodCallback<T,RC>
org.springaicommunity.mcp.method.tool.AbstractSyncMcpToolMethodCallback<io.modelcontextprotocol.server.McpSyncServerExchange,McpSyncRequestContext>
org.springaicommunity.mcp.method.tool.SyncMcpToolMethodCallback
- All Implemented Interfaces:
BiFunction<io.modelcontextprotocol.server.McpSyncServerExchange,io.modelcontextprotocol.spec.McpSchema.CallToolRequest, io.modelcontextprotocol.spec.McpSchema.CallToolResult>
public final class SyncMcpToolMethodCallback
extends AbstractSyncMcpToolMethodCallback<io.modelcontextprotocol.server.McpSyncServerExchange,McpSyncRequestContext>
implements BiFunction<io.modelcontextprotocol.server.McpSyncServerExchange,io.modelcontextprotocol.spec.McpSchema.CallToolRequest,io.modelcontextprotocol.spec.McpSchema.CallToolResult>
Class for creating Function callbacks around tool methods.
This class provides a way to convert methods annotated with
McpTool into
callback functions that can be used to handle tool requests.- Author:
- Christian Tzolov
-
Field Summary
Fields inherited from class org.springaicommunity.mcp.method.tool.AbstractAsyncMcpToolMethodCallback
toolCallExceptionClassFields inherited from class org.springaicommunity.mcp.method.tool.AbstractMcpToolMethodCallback
returnMode, toolMethod, toolObject -
Constructor Summary
ConstructorsConstructorDescriptionSyncMcpToolMethodCallback(ReturnMode returnMode, Method toolMethod, Object toolObject) SyncMcpToolMethodCallback(ReturnMode returnMode, Method toolMethod, Object toolObject, Class<? extends Throwable> toolCallExceptionClass) -
Method Summary
Modifier and TypeMethodDescriptionio.modelcontextprotocol.spec.McpSchema.CallToolResultapply(io.modelcontextprotocol.server.McpSyncServerExchange exchange, io.modelcontextprotocol.spec.McpSchema.CallToolRequest request) Apply the callback to the given request.protected McpSyncRequestContextcreateRequestContext(io.modelcontextprotocol.server.McpSyncServerExchange exchange, io.modelcontextprotocol.spec.McpSchema.CallToolRequest request) protected booleanisExchangeOrContextType(Class<?> paramType) Determines if the given parameter type is an exchange or context type that should be injected.Methods inherited from class org.springaicommunity.mcp.method.tool.AbstractSyncMcpToolMethodCallback
createSyncErrorResult, processResult, validateSyncRequestMethods inherited from class org.springaicommunity.mcp.method.tool.AbstractAsyncMcpToolMethodCallback
convertToCallToolResult, createAsyncErrorResult, mapValueToCallToolResult, validateRequestMethods inherited from class org.springaicommunity.mcp.method.tool.AbstractMcpToolMethodCallback
buildMethodArguments, buildTypedArgument, callMethod, convertValueToCallToolResult, createErrorMessage, findCauseUsingPlainJavaMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.function.BiFunction
andThen
-
Constructor Details
-
SyncMcpToolMethodCallback
-
SyncMcpToolMethodCallback
public SyncMcpToolMethodCallback(ReturnMode returnMode, Method toolMethod, Object toolObject, Class<? extends Throwable> toolCallExceptionClass)
-
-
Method Details
-
isExchangeOrContextType
Description copied from class:AbstractAsyncMcpToolMethodCallbackDetermines if the given parameter type is an exchange or context type that should be injected. Subclasses must implement this method to specify which types are considered exchange or context types.- Specified by:
isExchangeOrContextTypein classAbstractAsyncMcpToolMethodCallback<io.modelcontextprotocol.server.McpSyncServerExchange,McpSyncRequestContext> - Parameters:
paramType- The parameter type to check- Returns:
- true if the parameter type is an exchange or context type, false otherwise
-
createRequestContext
protected McpSyncRequestContext createRequestContext(io.modelcontextprotocol.server.McpSyncServerExchange exchange, io.modelcontextprotocol.spec.McpSchema.CallToolRequest request) - Specified by:
createRequestContextin classAbstractMcpToolMethodCallback<io.modelcontextprotocol.server.McpSyncServerExchange,McpSyncRequestContext>
-
apply
public io.modelcontextprotocol.spec.McpSchema.CallToolResult apply(io.modelcontextprotocol.server.McpSyncServerExchange exchange, io.modelcontextprotocol.spec.McpSchema.CallToolRequest request) Apply the callback to the given request.This method builds the arguments for the method call, invokes the method, and returns the result.
- Specified by:
applyin interfaceBiFunction<io.modelcontextprotocol.server.McpSyncServerExchange,io.modelcontextprotocol.spec.McpSchema.CallToolRequest, io.modelcontextprotocol.spec.McpSchema.CallToolResult> - Parameters:
exchange- The server exchange contextrequest- The tool call request, must not be null- Returns:
- The result of the method invocation
-