Browse Source

调试日志:输出 MCP 调用原始返回结果

TDesign-Vue-Next-1.20.6
wanghanlin 4 weeks ago
parent
commit
de38fc4b90
  1. 9
      src/main/java/com/wok/supportbot/config/McpClientManager.java
  2. 9
      src/main/java/com/wok/supportbot/mcp/McpToolCallback.java

9
src/main/java/com/wok/supportbot/config/McpClientManager.java

@ -238,6 +238,9 @@ public class McpClientManager {
try {
McpSyncClient client = entry.getValue();
McpSchema.ListToolsResult listToolsResult = client.listTools();
// 调试日志输出 MCP 原始返回结果
log.info("🔧 [DEBUG] MCP listTools 原始结果 - configId={}, server={}, rawJson={}",
configId, config.getName(), ModelOptionsUtils.toJsonString(listToolsResult));
if (listToolsResult != null && listToolsResult.tools() != null) {
log.info(" 📦 MCP Server [{}] 暴露了 {} 个工具", config.getName(), listToolsResult.tools().size());
for (McpSchema.Tool tool : listToolsResult.tools()) {
@ -312,6 +315,9 @@ public class McpClientManager {
long startTime = System.currentTimeMillis();
try {
McpSchema.ListToolsResult result = client.listTools();
// 调试日志输出 MCP 原始返回结果
log.info("🔧 [DEBUG] 健康检查 listTools 原始结果 - configId={}, rawJson={}",
key, ModelOptionsUtils.toJsonString(result));
long latencyMs = System.currentTimeMillis() - startTime;
int toolsCount = (result != null && result.tools() != null) ? result.tools().size() : 0;
HealthStatus status = HealthStatus.online(latencyMs);
@ -650,6 +656,9 @@ public class McpClientManager {
// 获取工具列表
McpSchema.ListToolsResult listToolsResult = tempClient.listTools();
// 调试日志输出 MCP 原始返回结果
log.info("🔧 [DEBUG] 连接测试 listTools 原始结果 - configId={}, rawJson={}",
configId, ModelOptionsUtils.toJsonString(listToolsResult));
int toolsCount = (listToolsResult != null && listToolsResult.tools() != null)
? listToolsResult.tools().size() : 0;

9
src/main/java/com/wok/supportbot/mcp/McpToolCallback.java

@ -194,6 +194,10 @@ public class McpToolCallback implements ToolCallback {
McpSchema.CallToolRequest request = new McpSchema.CallToolRequest(originalToolName, arguments);
McpSchema.CallToolResult result = client.callTool(request);
// 调试日志输出 MCP 调用原始返回结果
log.info("🔧 [DEBUG] MCP callTool 原始结果 - serverId={}, tool={}, rawJson={}",
mcpServerConfigId, originalToolName, ModelOptionsUtils.toJsonString(result));
long latency = System.currentTimeMillis() - startTime;
log.info("MCP 工具调用完成: tool={}, latency={}ms, isError={}",
originalToolName, latency, result.isError());
@ -230,6 +234,11 @@ public class McpToolCallback implements ToolCallback {
Map<String, Object> retryArgs = OBJECT_MAPPER.readValue(toolInput, new TypeReference<>() {});
McpSchema.CallToolRequest retryRequest = new McpSchema.CallToolRequest(originalToolName, retryArgs);
McpSchema.CallToolResult retryResult = reconnected.callTool(retryRequest);
// 调试日志输出 MCP 重试调用原始返回结果
log.info("🔧 [DEBUG] MCP callTool 重试原始结果 - serverId={}, tool={}, rawJson={}",
mcpServerConfigId, originalToolName, ModelOptionsUtils.toJsonString(retryResult));
long retryLatency = System.currentTimeMillis() - startTime;
log.info("MCP 工具重试成功: tool={}, latency={}ms", originalToolName, retryLatency);

Loading…
Cancel
Save