Class: MCPClient::ServerFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/mcp_client/server_factory.rb

Overview

Factory for creating MCP server instances based on configuration

Class Method Summary collapse

Class Method Details

.create(config) ⇒ MCPClient::ServerBase

Create a server instance based on configuration

Parameters:

  • config (Hash)

    server configuration

Returns:



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/mcp_client/server_factory.rb', line 9

def self.create(config)
  case config[:type]
  when 'stdio'
    MCPClient::ServerStdio.new(
      command: config[:command],
      retries: config[:retries] || 0,
      retry_backoff: config[:retry_backoff] || 1,
      read_timeout: config[:read_timeout] || MCPClient::ServerStdio::READ_TIMEOUT,
      logger: config[:logger]
    )
  when 'sse'
    MCPClient::ServerSSE.new(
      base_url: config[:base_url],
      headers: config[:headers] || {},
      read_timeout: config[:read_timeout] || 30,
      retries: config[:retries] || 0,
      retry_backoff: config[:retry_backoff] || 1,
      logger: config[:logger]
    )
  else
    raise ArgumentError, "Unknown server type: #{config[:type]}"
  end
end