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() |
ToolResult |
callTool(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> args)
调用工具并转为文本
|
McpSchema.CallToolResult |
callToolRequest(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> args)
调用工具
|
void |
clearCache()
清理缓存
|
void |
close()
关闭
|
<T> T |
executeWithRetry(java.util.function.Function<McpAsyncClient,reactor.core.publisher.Mono<T>> action) |
static java.util.Map<java.lang.String,McpClientProvider> |
fromMcpServers(java.lang.String uri)
已过时。
|
McpAsyncClient |
getClient()
获取客户端
|
Prompt |
getPrompt(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> args)
获取提示语
|
McpSchema.GetPromptResult |
getPromptRequest(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)
获取函数工具(可用于模型绑定)
|
ResourcePack |
readResource(java.lang.String uri)
读取资源
|
McpSchema.ReadResourceResult |
readResourceRequest(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 void clearCache()
public McpAsyncClient getClient()
public <T> T executeWithRetry(java.util.function.Function<McpAsyncClient,reactor.core.publisher.Mono<T>> action)
public void setLoggingLevel(McpSchema.LoggingLevel loggingLevel)
public void close()
close 在接口中 java.io.Closeableclose 在接口中 java.lang.AutoCloseablepublic void reopen()
public ToolResult callTool(java.lang.String name, java.util.Map<java.lang.String,java.lang.Object> args)
name - 工具名args - 调用参数public McpSchema.CallToolResult callToolRequest(java.lang.String name, java.util.Map<java.lang.String,java.lang.Object> args)
name - 工具名args - 调用参数public ResourcePack readResource(java.lang.String uri)
uri - 资源地址public McpSchema.ReadResourceResult readResourceRequest(java.lang.String uri)
uri - 资源地址public Prompt getPrompt(java.lang.String name, java.util.Map<java.lang.String,java.lang.Object> args)
name - 名字args - 参数public McpSchema.GetPromptResult getPromptRequest(java.lang.String name, java.util.Map<java.lang.String,java.lang.Object> args)
name - 名字args - 参数public java.util.Collection<FunctionTool> getTools()
getTools 在接口中 ToolProviderpublic java.util.Collection<FunctionTool> getTools(java.lang.String cursor)
cursor - 游标public java.util.Collection<FunctionResource> getResources()
ResourceProvidergetResources 在接口中 ResourceProviderpublic 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()
PromptProvidergetPrompts 在接口中 PromptProviderpublic java.util.Collection<FunctionPrompt> getPrompts(java.lang.String cursor)
@Deprecated public static java.util.Map<java.lang.String,McpClientProvider> fromMcpServers(java.lang.String uri) throws java.io.IOException
McpProviders.fromMcpServers(String)uri - 配置资源地址java.io.IOExceptionpublic static McpClientProvider.Builder builder()