Package dev.langchain4j.mcp
Class McpToolProvider
java.lang.Object
dev.langchain4j.mcp.McpToolProvider
- All Implemented Interfaces:
ToolProvider
A tool provider backed by one or more MCP clients.
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
McpToolProvider
(List<McpClient> mcpClients, boolean failIfOneServerFails, BiPredicate<McpClient, dev.langchain4j.agent.tool.ToolSpecification> mcpToolsFilter) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addFilter
(BiPredicate<McpClient, dev.langchain4j.agent.tool.ToolSpecification> filter) Adds a tools filter that will act in conjunction (AND) with the eventually existing ones.void
addMcpClient
(McpClient client) Adds a new MCP client to the list of clients.static McpToolProvider.Builder
builder()
provideTools
(ToolProviderRequest request) protected ToolProviderResult
provideTools
(ToolProviderRequest request, BiPredicate<McpClient, dev.langchain4j.agent.tool.ToolSpecification> mcpToolsFilter) void
removeMcpClient
(McpClient client) Removes an MCP client from the list of clients.void
Resets the all the eventually existing tools filters.void
setFilter
(BiPredicate<McpClient, dev.langchain4j.agent.tool.ToolSpecification> filter) Sets the tools filter overriding the eventually existing ones.
-
Constructor Details
-
McpToolProvider
protected McpToolProvider(List<McpClient> mcpClients, boolean failIfOneServerFails, BiPredicate<McpClient, dev.langchain4j.agent.tool.ToolSpecification> mcpToolsFilter)
-
-
Method Details
-
addMcpClient
Adds a new MCP client to the list of clients.- Parameters:
client
- the MCP client to add
-
removeMcpClient
Removes an MCP client from the list of clients.- Parameters:
client
- the MCP client to remove
-
addFilter
Adds a tools filter that will act in conjunction (AND) with the eventually existing ones.- Parameters:
filter
- the filter to add
-
setFilter
Sets the tools filter overriding the eventually existing ones.- Parameters:
filter
- the filter to add
-
resetFilters
public void resetFilters()Resets the all the eventually existing tools filters. -
provideTools
- Specified by:
provideTools
in interfaceToolProvider
-
provideTools
protected ToolProviderResult provideTools(ToolProviderRequest request, BiPredicate<McpClient, dev.langchain4j.agent.tool.ToolSpecification> mcpToolsFilter) -
builder
-