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 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.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:
getToolCallbacksin 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