/*
* Copyright (c) 2023-2026, Easy-Agents (fuhai999@gmail.com).
*
* Licensed under the Apache License, Version 2.0 (the "License");
*/
package com.easyagents.mcp.client;
import java.util.ArrayList;
import java.util.List;
/**
* 单个 MCP Server 的检测结果。
*/
public class McpServerCheckResult {
private String serverName;
private String transport;
private McpCheckStatus status = McpCheckStatus.SUCCESS;
private int toolCount;
private List checks = new ArrayList<>();
/**
* 添加检测项并刷新整体状态。
*
* @param item 检测项
*/
public void addCheck(McpCheckItem item) {
if (item == null) {
return;
}
this.checks.add(item);
this.status = McpEnvironmentCheckResult.mergeStatus(this.status, item.getStatus());
}
/**
* 获取 Server 名称。
*
* @return Server 名称
*/
public String getServerName() {
return serverName;
}
/**
* 设置 Server 名称。
*
* @param serverName Server 名称
*/
public void setServerName(String serverName) {
this.serverName = serverName;
}
/**
* 获取传输类型。
*
* @return 传输类型
*/
public String getTransport() {
return transport;
}
/**
* 设置传输类型。
*
* @param transport 传输类型
*/
public void setTransport(String transport) {
this.transport = transport;
}
/**
* 获取检测状态。
*
* @return 检测状态
*/
public McpCheckStatus getStatus() {
return status;
}
/**
* 设置检测状态。
*
* @param status 检测状态
*/
public void setStatus(McpCheckStatus status) {
this.status = status == null ? McpCheckStatus.SUCCESS : status;
}
/**
* 获取工具数量。
*
* @return 工具数量
*/
public int getToolCount() {
return toolCount;
}
/**
* 设置工具数量。
*
* @param toolCount 工具数量
*/
public void setToolCount(int toolCount) {
this.toolCount = Math.max(toolCount, 0);
}
/**
* 获取检测项。
*
* @return 检测项
*/
public List getChecks() {
return checks;
}
/**
* 设置检测项。
*
* @param checks 检测项
*/
public void setChecks(List checks) {
this.checks = checks == null ? new ArrayList<>() : new ArrayList<>(checks);
}
}