🐛 fix: 修复 MCP 服务器配置处理逻辑,确保正确处理空 mcpServers 情况并优化代码可读性

This commit is contained in:
Soulter
2025-04-12 18:19:06 +08:00
parent b75d24d92c
commit 709c324e18
3 changed files with 6 additions and 7 deletions
+3 -4
View File
@@ -95,11 +95,10 @@ class MCPClient:
mcp_server_config (dict): Configuration for the MCP server. See https://modelcontextprotocol.io/quickstart/server
"""
cfg = mcp_server_config.copy()
print(cfg)
if "mcpServers" in cfg:
if "mcpServers" in cfg and len(cfg["mcpServers"]) > 0:
key_0 = list(cfg["mcpServers"].keys())[0]
cfg = cfg["mcpServers"][key_0]
cfg.pop("active", None)
cfg.pop("active", None) # Remove active flag from config
server_params = mcp.StdioServerParameters(
**cfg,
)
@@ -279,7 +278,7 @@ class FuncCall:
self.func_list = [
f
for f in self.func_list
if not (f.origin == "mcp")
if f.origin != "mcp"
]
async def _init_mcp_client_task_wrapper(
+2 -2
View File
@@ -107,7 +107,7 @@ class ToolsRoute(Route):
for key, value in server_data.items():
if key not in ["name", "active", "tools"]: # 排除特殊字段
if key == "mcpServers":
key_0 = list(server_data["mcpServers"].keys())[0]
key_0 = list(server_data["mcpServers"].keys())[0] # 不考虑为空的情况
server_config = server_data["mcpServers"][key_0]
else:
server_config[key] = value
@@ -168,7 +168,7 @@ class ToolsRoute(Route):
for key, value in server_data.items():
if key not in ["name", "active", "tools"]: # 排除特殊字段
if key == "mcpServers":
key_0 = list(server_data["mcpServers"].keys())[0]
key_0 = list(server_data["mcpServers"].keys())[0] # 不考虑为空的情况
server_config = server_data["mcpServers"][key_0]
else:
server_config[key] = value
+1 -1
View File
@@ -408,7 +408,7 @@ export default {
setInterval(() => {
this.getServers();
this.getTools();
}, 5000); // 每10秒刷新一次服务器列表
}, 5000); // 每 5 秒刷新一次服务器列表
},