diff --git a/internal/imcp/external.go b/internal/imcp/external.go index 9b00823..c3498ce 100644 --- a/internal/imcp/external.go +++ b/internal/imcp/external.go @@ -20,11 +20,8 @@ func (s *MCPServer) RegisterExternalMCPTools(ctx context.Context, manager *mcpcl // 遍历所有外部 MCP 客户端 for _, mcpClient := range manager.List() { - if !mcpClient.Config.AutoRegister { - logx.Info("⏭️ Skip auto-register for MCP: %s", mcpClient.Config.Name) - continue - } - + // 只要 MCP 客户端已加载到 Manager 中,就注册其工具 + // 注意:Manager.LoadFromConfig 已经过滤了未启用的服务器 registeredCount := 0 failedCount := 0 diff --git a/internal/mcpclient/manager.go b/internal/mcpclient/manager.go index 7e2095f..94030fe 100644 --- a/internal/mcpclient/manager.go +++ b/internal/mcpclient/manager.go @@ -330,6 +330,7 @@ func (m *Manager) CloseAll() { } // RegisterFromDB 从数据库模型注册 MCP 客户端 +// 注意: autoRegister 参数已废弃,现在只要 MCP 服务器被成功注册,其工具就会被自动注册 func (m *Manager) RegisterFromDB(name string, serverType string, command string, args []string, env map[string]string, baseURL string, headers map[string]string, timeout int, toolPrefix string, autoRegister bool) error { // 创建配置 cfg := &config.MCPServerConfig{ @@ -342,7 +343,7 @@ func (m *Manager) RegisterFromDB(name string, serverType string, command string, Timeout: timeout, IsActive: true, ToolPrefix: toolPrefix, - AutoRegister: autoRegister, + AutoRegister: autoRegister, // 已废弃,保留仅为向后兼容 } return m.Register(name, cfg)