Class SyncStatelessMcpToolMethodCallback
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.common.McpTransportContext,McpSyncRequestContext>
org.springaicommunity.mcp.method.tool.SyncStatelessMcpToolMethodCallback
- All Implemented Interfaces:
BiFunction<io.modelcontextprotocol.common.McpTransportContext,io.modelcontextprotocol.spec.McpSchema.CallToolRequest, io.modelcontextprotocol.spec.McpSchema.CallToolResult>
public final class SyncStatelessMcpToolMethodCallback
extends AbstractSyncMcpToolMethodCallback<io.modelcontextprotocol.common.McpTransportContext,McpSyncRequestContext>
implements BiFunction<io.modelcontextprotocol.common.McpTransportContext,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:
- James Ward, 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
ConstructorsConstructorDescriptionSyncStatelessMcpToolMethodCallback(ReturnMode returnMode, Method toolMethod, Object toolObject) SyncStatelessMcpToolMethodCallback(ReturnMode returnMode, Method toolMethod, Object toolObject, Class<? extends Throwable> toolCallExceptionClass) -
Method Summary
Modifier and TypeMethodDescriptionio.modelcontextprotocol.spec.McpSchema.CallToolResultapply(io.modelcontextprotocol.common.McpTransportContext mcpTransportContext, io.modelcontextprotocol.spec.McpSchema.CallToolRequest callToolRequest) protected McpSyncRequestContextcreateRequestContext(io.modelcontextprotocol.common.McpTransportContext 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
-
SyncStatelessMcpToolMethodCallback
public SyncStatelessMcpToolMethodCallback(ReturnMode returnMode, Method toolMethod, Object toolObject) -
SyncStatelessMcpToolMethodCallback
public SyncStatelessMcpToolMethodCallback(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.common.McpTransportContext,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.common.McpTransportContext exchange, io.modelcontextprotocol.spec.McpSchema.CallToolRequest request) - Specified by:
createRequestContextin classAbstractMcpToolMethodCallback<io.modelcontextprotocol.common.McpTransportContext,McpSyncRequestContext>
-
apply
public io.modelcontextprotocol.spec.McpSchema.CallToolResult apply(io.modelcontextprotocol.common.McpTransportContext mcpTransportContext, io.modelcontextprotocol.spec.McpSchema.CallToolRequest callToolRequest) - Specified by:
applyin interfaceBiFunction<io.modelcontextprotocol.common.McpTransportContext,io.modelcontextprotocol.spec.McpSchema.CallToolRequest, io.modelcontextprotocol.spec.McpSchema.CallToolResult>
-