Package org.springframework.ai.mcp
Class SyncMcpToolCallbackProvider
java.lang.Object
org.springframework.ai.mcp.SyncMcpToolCallbackProvider
- All Implemented Interfaces:
org.springframework.ai.tool.ToolCallbackProvider
public class SyncMcpToolCallbackProvider
extends Object
implements org.springframework.ai.tool.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 classBuilder 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.org.springframework.ai.tool.ToolCallback[]static List<org.springframework.ai.tool.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
public org.springframework.ai.tool.ToolCallback[] getToolCallbacks()- Specified by:
getToolCallbacksin interfaceorg.springframework.ai.tool.ToolCallbackProvider
-
syncToolCallbacks
public static List<org.springframework.ai.tool.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