New 创建一个 MCP Server 实例
(cfg *Config)
| 35 | |
| 36 | // New 创建一个 MCP Server 实例 |
| 37 | func New(cfg *Config) (*Server, error) { |
| 38 | if cfg == nil { |
| 39 | return nil, errors.New("mcpserver.Config cannot be nil") |
| 40 | } |
| 41 | if cfg.Registry == nil { |
| 42 | return nil, errors.New("registry is required") |
| 43 | } |
| 44 | |
| 45 | executor := cfg.Executor |
| 46 | if executor == nil { |
| 47 | executor = tools.NewExecutor(tools.ExecutorConfig{ |
| 48 | MaxConcurrency: 3, |
| 49 | DefaultTimeout: 60 * time.Second, |
| 50 | }) |
| 51 | } |
| 52 | |
| 53 | return &Server{ |
| 54 | registry: cfg.Registry, |
| 55 | executor: executor, |
| 56 | contextFactory: cfg.ContextFactory, |
| 57 | }, nil |
| 58 | } |
| 59 | |
| 60 | // Handler 返回一个 http.Handler, 处理 MCP JSON-RPC 请求。 |
| 61 | // |
no test coverage detected