Skip to content

Commit b9977b5

Browse files
authored
fix alibaba#978, variable rename (alibaba#986)
1 parent 6c6f68c commit b9977b5

File tree

3 files changed

+30
-22
lines changed

3 files changed

+30
-22
lines changed

spring-ai-alibaba-mcp/spring-ai-alibaba-mcp-nacos/src/main/java/com/alibaba/cloud/ai/mcp/nacos/dynamic/server/config/NacosMcpDynamicProperties.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,22 @@ public class NacosMcpDynamicProperties {
2727

2828
public static final String CONFIG_PREFIX = "spring.ai.alibaba.mcp.nacos.dynamic";
2929

30-
List<String> serverNames;
30+
List<String> serviceNames;
3131

3232
public List<String> getServerNames() {
33-
return serverNames;
33+
return serviceNames;
3434
}
3535

36-
public void setServerNames(List<String> serverNames) {
37-
this.serverNames = serverNames;
36+
public void setServerNames(List<String> serviceNames) {
37+
this.serviceNames = serviceNames;
38+
}
39+
40+
public List<String> getServiceNames() {
41+
return serviceNames;
42+
}
43+
44+
public void setServiceNames(List<String> serviceNames) {
45+
this.serviceNames = serviceNames;
3846
}
3947

4048
}

spring-ai-alibaba-mcp/spring-ai-alibaba-mcp-nacos/src/main/java/com/alibaba/cloud/ai/mcp/nacos/dynamic/server/tools/DynamicToolsInitializer.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,24 +50,24 @@ public DynamicToolsInitializer(NacosMcpOperationService nacosMcpOperationService
5050
}
5151

5252
public List<ToolCallback> initializeTools() {
53-
List<String> serverNames = nacosMcpDynamicProperties.getServerNames();
54-
if (CollectionUtils.isEmpty(serverNames)) {
53+
List<String> serviceNames = nacosMcpDynamicProperties.getServerNames();
54+
if (CollectionUtils.isEmpty(serviceNames)) {
5555
logger.warn("No service names configured, no tools will be initialized");
5656
return new ArrayList<>();
5757
}
5858
List<ToolCallback> allTools = new ArrayList<>();
59-
for (String serverName : serverNames) {
59+
for (String serviceName : serviceNames) {
6060
try {
61-
McpServerDetailInfo mcpServerDetailInfo = nacosMcpOperationService.getServerDetail(serverName);
61+
McpServerDetailInfo mcpServerDetailInfo = nacosMcpOperationService.getServerDetail(serviceName);
6262
if (mcpServerDetailInfo == null) {
63-
logger.warn("No server detail info found for server: {}", serverName);
63+
logger.warn("No service detail info found for service: {}", serviceName);
6464
continue;
6565
}
6666
boolean isProtocolSupported = StringUtils.equals(mcpServerDetailInfo.getProtocol(), "http")
6767
|| StringUtils.equals(mcpServerDetailInfo.getProtocol(), "https");
6868
if (!isProtocolSupported) {
69-
logger.warn("Protocol {} is not supported, no tools will be initialized for server: {}",
70-
mcpServerDetailInfo.getProtocol(), serverName);
69+
logger.warn("Protocol {} is not supported, no tools will be initialized for service: {}",
70+
mcpServerDetailInfo.getProtocol(), serviceName);
7171
continue;
7272
}
7373
List<ToolCallback> tools = parseToolsFromMcpServerDetailInfo(mcpServerDetailInfo);
@@ -77,7 +77,7 @@ public List<ToolCallback> initializeTools() {
7777

7878
}
7979
catch (Exception e) {
80-
logger.error("Failed to initialize tools for server: {}", serverName, e);
80+
logger.error("Failed to initialize tools for service: {}", serviceName, e);
8181
}
8282
}
8383
logger.info("Initial dynamic tools loading completed from nacos - Found {} tools", allTools.size());
@@ -120,7 +120,7 @@ private List<ToolCallback> parseToolsFromMcpServerDetailInfo(McpServerDetailInfo
120120
return toolCallbacks;
121121
}
122122
catch (Exception e) {
123-
logger.warn("Failed to get or parse nacos mcp server tools info (mcpName {})",
123+
logger.warn("Failed to get or parse nacos mcp service tools info (mcpName {})",
124124
mcpServerDetailInfo.getName() + mcpServerDetailInfo.getVersionDetail().getVersion(), e);
125125
}
126126
return null;

spring-ai-alibaba-mcp/spring-ai-alibaba-mcp-nacos/src/main/java/com/alibaba/cloud/ai/mcp/nacos/dynamic/server/watcher/DynamicNacosToolsWatcher.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public class DynamicNacosToolsWatcher {
5656

5757
private final DynamicMcpToolsProvider dynamicMcpToolsProvider;
5858

59-
private final Map<String, McpServerDetailInfo> serverDetailInfoCache = new ConcurrentHashMap<>();
59+
private final Map<String, McpServerDetailInfo> serviceDetailInfoCache = new ConcurrentHashMap<>();
6060

6161
public DynamicNacosToolsWatcher(final NacosMcpDynamicProperties nacosMcpDynamicProperties,
6262
final NacosMcpOperationService nacosMcpOperationService,
@@ -93,12 +93,12 @@ private void watch() {
9393

9494
private void cleanupStaleServices(Set<String> currentServices) {
9595
// 获取所有已缓存但不在当前服务列表中的服务
96-
Set<String> staleServices = new HashSet<>(serverDetailInfoCache.keySet());
96+
Set<String> staleServices = new HashSet<>(serviceDetailInfoCache.keySet());
9797
staleServices.removeAll(currentServices);
9898

9999
// 移除过期服务的所有工具
100100
for (String staleService : staleServices) {
101-
McpServerDetailInfo staleServerDetail = serverDetailInfoCache.get(staleService);
101+
McpServerDetailInfo staleServerDetail = serviceDetailInfoCache.get(staleService);
102102
McpToolSpecification mcpToolSpec = staleServerDetail.getToolSpec();
103103
if (mcpToolSpec != null) {
104104
List<McpTool> toolsToRemove = mcpToolSpec.getTools();
@@ -117,12 +117,12 @@ private void cleanupStaleServices(Set<String> currentServices) {
117117
dynamicMcpToolsProvider.removeTool(staleServerDetail.getName() + "_tools_" + tool.getName());
118118
}
119119
}
120-
serverDetailInfoCache.remove(staleService);
120+
serviceDetailInfoCache.remove(staleService);
121121
}
122122
}
123123

124124
private void handleChange() {
125-
List<String> serviceNames = nacosMcpDynamicProperties.getServerNames();
125+
List<String> serviceNames = nacosMcpDynamicProperties.getServiceNames();
126126
if (CollectionUtils.isEmpty(serviceNames)) {
127127
logger.warn("No service names configured, no tools will be watched");
128128
return;
@@ -251,16 +251,16 @@ private void updateHighVersionServiceTools(String mcpName) {
251251
try {
252252
McpServerDetailInfo mcpServerDetail = nacosMcpOperationService.getServerDetail(mcpName);
253253
if (mcpServerDetail == null) {
254-
logger.warn("No server detail info found for server: {},do not update", mcpName);
254+
logger.warn("No service detail info found for service: {},do not update", mcpName);
255255
return;
256256
}
257-
McpServerDetailInfo oldMcpServerDetail = serverDetailInfoCache.get(mcpName);
258-
serverDetailInfoCache.put(mcpName, mcpServerDetail);
257+
McpServerDetailInfo oldMcpServerDetail = serviceDetailInfoCache.get(mcpName);
258+
serviceDetailInfoCache.put(mcpName, mcpServerDetail);
259259
Set<String> needToDeleteTools = new HashSet<>();
260260
Set<String> needToUpdateTools = new HashSet<>();
261261
compareToolsChange(oldMcpServerDetail, mcpServerDetail, needToDeleteTools, needToUpdateTools);
262262

263-
logger.info("Nacos mcp server info (name {}): {}", mcpName, mcpServerDetail);
263+
logger.info("Nacos mcp service info (name {}): {}", mcpName, mcpServerDetail);
264264
McpToolSpecification toolSpec = mcpServerDetail.getToolSpec();
265265
McpServerRemoteServiceConfig remoteServerConfig = mcpServerDetail.getRemoteServerConfig();
266266
String protocol = mcpServerDetail.getProtocol();

0 commit comments

Comments
 (0)