Package org.springframework.ai.mcp
Class SyncMcpToolCallbackProvider
java.lang.Object
org.springframework.ai.mcp.SyncMcpToolCallbackProvider
- All Implemented Interfaces:
ToolCallbackProvider
Provides Spring AI tool callbacks by discovering tools from MCP servers.
Automatically discovers and exposes tools from multiple MCP servers as Spring AI
ToolCallback
instances.
- Since:
- 1.0.0
- Author:
- Christian Tzolov, YunKui Lu
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
Builder forSyncMcpToolCallbackProvider
. -
Constructor Summary
ConstructorsConstructorDescriptionSyncMcpToolCallbackProvider
(io.modelcontextprotocol.client.McpSyncClient... mcpClients) Deprecated.SyncMcpToolCallbackProvider
(List<io.modelcontextprotocol.client.McpSyncClient> mcpClients) Deprecated.usebuilder()
insteadSyncMcpToolCallbackProvider
(McpToolFilter toolFilter, List<io.modelcontextprotocol.client.McpSyncClient> mcpClients) Deprecated.usebuilder()
insteadSyncMcpToolCallbackProvider
(McpToolFilter toolFilter, McpToolNamePrefixGenerator toolNamePrefixGenerator, io.modelcontextprotocol.client.McpSyncClient... mcpClients) Deprecated.usebuilder()
instead -
Method Summary
Modifier and TypeMethodDescriptionbuilder()
Creates a builder for constructing provider instances.static List<ToolCallback>
syncToolCallbacks
(List<io.modelcontextprotocol.client.McpSyncClient> mcpClients) Creates tool callbacks from multiple MCP clients.
-
Constructor Details
-
SyncMcpToolCallbackProvider
@Deprecated public SyncMcpToolCallbackProvider(McpToolFilter toolFilter, List<io.modelcontextprotocol.client.McpSyncClient> mcpClients) Deprecated.usebuilder()
insteadCreates a provider with MCP clients and tool filter.- Parameters:
mcpClients
- MCP clients for tool discoverytoolFilter
- filter for discovered tools
-
SyncMcpToolCallbackProvider
@Deprecated public SyncMcpToolCallbackProvider(List<io.modelcontextprotocol.client.McpSyncClient> mcpClients) Deprecated.usebuilder()
insteadCreates a provider with MCP clients using default filter.- Parameters:
mcpClients
- MCP clients for tool discovery
-
SyncMcpToolCallbackProvider
@Deprecated public SyncMcpToolCallbackProvider(McpToolFilter toolFilter, McpToolNamePrefixGenerator toolNamePrefixGenerator, io.modelcontextprotocol.client.McpSyncClient... mcpClients) Deprecated.usebuilder()
insteadCreates a provider with MCP clients, filter, and prefix generator.- Parameters:
mcpClients
- MCP clients for tool discoverytoolNamePrefixGenerator
- generates prefixes for tool namestoolFilter
- filter for discovered tools
-
SyncMcpToolCallbackProvider
@Deprecated public SyncMcpToolCallbackProvider(io.modelcontextprotocol.client.McpSyncClient... mcpClients) Deprecated.usebuilder()
insteadCreates a provider with MCP clients using default filter.- Parameters:
mcpClients
- MCP clients for tool discovery
-
-
Method Details
-
getToolCallbacks
- Specified by:
getToolCallbacks
in interfaceToolCallbackProvider
-
syncToolCallbacks
public static List<ToolCallback> syncToolCallbacks(List<io.modelcontextprotocol.client.McpSyncClient> mcpClients) Creates tool callbacks from multiple MCP clients.Discovers and consolidates tools from all provided clients into a single list, ensuring no naming conflicts.
- Parameters:
mcpClients
- MCP clients to discover tools from- Returns:
- consolidated list of tool callbacks
-
builder
Creates a builder for constructing provider instances.- Returns:
- new builder
-
builder()
instead