diff --git a/astrbot/core/provider/func_tool_manager.py b/astrbot/core/provider/func_tool_manager.py index 0de8a9054..53f5048fa 100644 --- a/astrbot/core/provider/func_tool_manager.py +++ b/astrbot/core/provider/func_tool_manager.py @@ -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( diff --git a/astrbot/dashboard/routes/tools.py b/astrbot/dashboard/routes/tools.py index 2bf1b6e18..9a3c5aa53 100644 --- a/astrbot/dashboard/routes/tools.py +++ b/astrbot/dashboard/routes/tools.py @@ -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 diff --git a/dashboard/src/views/ToolUsePage.vue b/dashboard/src/views/ToolUsePage.vue index 1d27811d6..a3121f0f6 100644 --- a/dashboard/src/views/ToolUsePage.vue +++ b/dashboard/src/views/ToolUsePage.vue @@ -408,7 +408,7 @@ export default { setInterval(() => { this.getServers(); this.getTools(); - }, 5000); // 每10秒刷新一次服务器列表 + }, 5000); // 每 5 秒刷新一次服务器列表 },