Class McpServerService
java.lang.Object
com.bytedesk.ai.springai.mcp_server.McpServerService
MCP Server 客户端服务 - 简化版本
负责与第三方 MCP 服务器通信,调用工具、获取资源、管理连接等
注意:当前版本为简化实现,主要用于配置管理和接口定义
Spring AI 1.0.1 的 MCP 客户端 API 正在发展中,未来版本将提供完整的客户端功能
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final McpServerRestService
private final Map<String,
McpServerService.ServerStatus> private final org.springframework.web.reactive.function.client.WebClient.Builder
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncallTool
(ToolCallRequest request) 调用 MCP 工具connectToServer
(String serverUid) 连接到 MCP 服务器disconnectFromServer
(String serverUid) 断开与指定MCP服务器的连接获取所有活跃的服务器getAvailablePrompts
(String serverUid) 获取服务器可用提示列表getAvailableResources
(String serverUid) 获取服务器可用资源列表getAvailableTools
(String serverUid) 获取服务器可用工具列表获取提示内容getServerStatus
(String serverUid) 获取服务器状态healthCheck
(String serverUid) 健康检查private void
loadServerCapabilities
(String serverUid) private boolean
performConnection
(McpServerEntity server) 执行实际连接操作(当前为模拟实现)private boolean
readResource
(String serverUid, String resourceUri) 读取资源内容private void
updateEntityStatus
(McpServerEntity server, McpServerStatusEnum status, String error) private void
updateEntityStatus
(String serverUid, McpServerStatusEnum status, String error) private void
updateServerCapabilities
(String serverUid, McpServerService.ServerStatus status) private void
updateServerStatus
(String serverUid, boolean connected, String error)
-
Field Details
-
mcpServerRestService
-
webClientBuilder
private final org.springframework.web.reactive.function.client.WebClient.Builder webClientBuilder -
connectionCache
-
serverStatusCache
-
-
Constructor Details
-
McpServerService
public McpServerService()
-
-
Method Details
-
connectToServer
连接到 MCP 服务器 -
disconnectFromServer
断开与指定MCP服务器的连接 -
callTool
@Retryable(value=java.lang.Exception.class, maxAttempts=3, backoff=@Backoff(delay=1000L,multiplier=2.0)) public CompletableFuture<ToolCallResponse> callTool(ToolCallRequest request) 调用 MCP 工具 -
getAvailableTools
获取服务器可用工具列表 -
getAvailableResources
获取服务器可用资源列表 -
getAvailablePrompts
获取服务器可用提示列表 -
readResource
读取资源内容 -
getPrompt
public CompletableFuture<Object> getPrompt(String serverUid, String promptName, Map<String, Object> arguments) 获取提示内容 -
healthCheck
健康检查 -
getServerStatus
获取服务器状态 -
getActiveServers
获取所有活跃的服务器 -
performConnection
执行实际连接操作(当前为模拟实现) -
loadServerCapabilities
-
updateServerCapabilities
-
updateServerStatus
-
updateEntityStatus
-
updateEntityStatus
-
performHttpHealthCheck
-