Class McpClientToolProvider

java.lang.Object
org.noear.solon.ai.mcp.client.McpClientToolProvider
All Implemented Interfaces:
Closeable, AutoCloseable, org.noear.solon.ai.chat.tool.ToolProvider

public class McpClientToolProvider extends Object implements org.noear.solon.ai.chat.tool.ToolProvider, Closeable
Mcp 连接工具提供者
Since:
3.1
Author:
noear
  • Field Details

  • Constructor Details

    • McpClientToolProvider

      public McpClientToolProvider(Properties clientProps)
      用于支持注入
    • McpClientToolProvider

      public McpClientToolProvider(String apiUrl)
      用于简单构建
    • McpClientToolProvider

      public McpClientToolProvider(McpClientProperties clientProps)
  • Method Details

    • getClient

      protected io.modelcontextprotocol.client.McpSyncClient getClient()
    • callToolAsText

      public String callToolAsText(String name, Map<String,Object> args)
      调用工具并转为文本
      Parameters:
      name - 工具名
      args - 调用参数
    • callToolAsImage

      public org.noear.solon.ai.image.Image callToolAsImage(String name, Map<String,Object> args)
      调用工具并转为图像
      Parameters:
      name - 工具名
      args - 调用参数
    • callTool

      public io.modelcontextprotocol.spec.McpSchema.CallToolResult callTool(String name, Map<String,Object> args)
      调用工具
      Parameters:
      name - 工具名
      args - 调用参数
    • getTools

      public Collection<org.noear.solon.ai.chat.tool.FunctionTool> getTools()
      转为聊天函数(用于模型绑定)
      Specified by:
      getTools in interface org.noear.solon.ai.chat.tool.ToolProvider
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable