public class McpClientProvider extends java.lang.Object implements ToolProvider, ResourceProvider, PromptProvider, java.io.Closeable
McpClientProvider toolProvider = McpClientProvider.builder()
.apiUrl("http://localhost:8081/sse")
.build();
ChatModel chatModel = ChatModel.of("http://127.0.0.1:11434/api/chat")
.model("deepseek-v3")
.defaultToolsAdd(toolProvider)
.build();
ChatResponse resp = chatModel.prompt("杭州天气和北京降雨量如何?")
.call();
限定符和类型 | 类和说明 |
---|---|
static class |
McpClientProvider.Builder |
构造器和说明 |
---|
McpClientProvider(McpClientProperties clientProps) |
McpClientProvider(java.util.Properties clientProps)
用于支持注入
|
McpClientProvider(java.lang.String apiUrl)
用于简单构建
|
限定符和类型 | 方法和说明 |
---|---|
static McpClientProvider.Builder |
builder() |
McpSchema.CallToolResult |
callTool(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> args)
调用工具
|
Image |
callToolAsImage(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> args)
调用工具并转为图像
|
Text |
callToolAsText(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> args)
调用工具并转为文本
|
void |
close()
关闭
|
static java.util.Map<java.lang.String,McpClientProvider> |
fromMcpServers(java.lang.String uri)
根据 mcpServers 配置加载客户端
|
McpSyncClient |
getClient()
获取客户端
|
McpSchema.GetPromptResult |
getPrompt(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> args)
获取提示语
|
java.util.List<ChatMessage> |
getPromptAsMessages(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> args)
获取提示语
|
java.util.Collection<FunctionPrompt> |
getPrompts()
获取提示语
|
java.util.Collection<FunctionPrompt> |
getPrompts(java.lang.String cursor) |
java.util.Collection<FunctionResource> |
getResources()
获取资源
|
java.util.Collection<FunctionResource> |
getResources(java.lang.String cursor) |
java.util.Collection<FunctionResource> |
getResourceTemplates() |
java.util.Collection<FunctionResource> |
getResourceTemplates(java.lang.String cursor) |
java.util.Collection<FunctionTool> |
getTools()
获取函数工具(可用于模型绑定)
|
java.util.Collection<FunctionTool> |
getTools(java.lang.String cursor)
获取函数工具(可用于模型绑定)
|
McpSchema.ReadResourceResult |
readResource(java.lang.String uri)
读取资源
|
Text |
readResourceAsText(java.lang.String uri)
读取资源
|
void |
reopen()
重新打开
|
void |
setLoggingLevel(McpSchema.LoggingLevel loggingLevel)
设置日志级别
|
public McpClientProvider(java.util.Properties clientProps)
public McpClientProvider(java.lang.String apiUrl)
public McpClientProvider(McpClientProperties clientProps)
public McpSyncClient getClient()
public void setLoggingLevel(McpSchema.LoggingLevel loggingLevel)
public void close()
close
在接口中 java.io.Closeable
close
在接口中 java.lang.AutoCloseable
public void reopen()
public Text callToolAsText(java.lang.String name, java.util.Map<java.lang.String,java.lang.Object> args)
name
- 工具名args
- 调用参数public Image callToolAsImage(java.lang.String name, java.util.Map<java.lang.String,java.lang.Object> args)
name
- 工具名args
- 调用参数public McpSchema.CallToolResult callTool(java.lang.String name, java.util.Map<java.lang.String,java.lang.Object> args)
name
- 工具名args
- 调用参数public Text readResourceAsText(java.lang.String uri)
uri
- 资源地址public McpSchema.ReadResourceResult readResource(java.lang.String uri)
uri
- 资源地址public java.util.List<ChatMessage> getPromptAsMessages(java.lang.String name, java.util.Map<java.lang.String,java.lang.Object> args)
name
- 名字args
- 参数public McpSchema.GetPromptResult getPrompt(java.lang.String name, java.util.Map<java.lang.String,java.lang.Object> args)
name
- 名字args
- 参数public java.util.Collection<FunctionTool> getTools()
getTools
在接口中 ToolProvider
public java.util.Collection<FunctionTool> getTools(java.lang.String cursor)
cursor
- 游标public java.util.Collection<FunctionResource> getResources()
ResourceProvider
getResources
在接口中 ResourceProvider
public java.util.Collection<FunctionResource> getResources(java.lang.String cursor)
public java.util.Collection<FunctionResource> getResourceTemplates()
public java.util.Collection<FunctionResource> getResourceTemplates(java.lang.String cursor)
public java.util.Collection<FunctionPrompt> getPrompts()
PromptProvider
getPrompts
在接口中 PromptProvider
public java.util.Collection<FunctionPrompt> getPrompts(java.lang.String cursor)
public static java.util.Map<java.lang.String,McpClientProvider> fromMcpServers(java.lang.String uri) throws java.io.IOException
uri
- 配置资源地址java.io.IOException
public static McpClientProvider.Builder builder()