Class SyncMcpToolCallbackProvider

java.lang.Object
org.springframework.ai.mcp.SyncMcpToolCallbackProvider
All Implemented Interfaces:
ToolCallbackProvider

public class SyncMcpToolCallbackProvider extends Object implements 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
  • Constructor Details

    • SyncMcpToolCallbackProvider

      @Deprecated public SyncMcpToolCallbackProvider(McpToolFilter toolFilter, List<io.modelcontextprotocol.client.McpSyncClient> mcpClients)
      Deprecated.
      use builder() instead
      Creates a provider with MCP clients and tool filter.
      Parameters:
      mcpClients - MCP clients for tool discovery
      toolFilter - filter for discovered tools
    • SyncMcpToolCallbackProvider

      @Deprecated public SyncMcpToolCallbackProvider(List<io.modelcontextprotocol.client.McpSyncClient> mcpClients)
      Deprecated.
      use builder() instead
      Creates 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.
      use builder() instead
      Creates a provider with MCP clients, filter, and prefix generator.
      Parameters:
      mcpClients - MCP clients for tool discovery
      toolNamePrefixGenerator - generates prefixes for tool names
      toolFilter - filter for discovered tools
    • SyncMcpToolCallbackProvider

      @Deprecated public SyncMcpToolCallbackProvider(io.modelcontextprotocol.client.McpSyncClient... mcpClients)
      Deprecated.
      use builder() instead
      Creates a provider with MCP clients using default filter.
      Parameters:
      mcpClients - MCP clients for tool discovery
  • Method Details

    • getToolCallbacks

      public ToolCallback[] getToolCallbacks()
      Specified by:
      getToolCallbacks in interface ToolCallbackProvider
    • 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

      public static SyncMcpToolCallbackProvider.Builder builder()
      Creates a builder for constructing provider instances.
      Returns:
      new builder