Module: MCPClient

Defined in:
lib/mcp_client.rb,
lib/mcp_client/tool.rb,
lib/mcp_client/client.rb,
lib/mcp_client/errors.rb,
lib/mcp_client/version.rb,
lib/mcp_client/server_sse.rb,
lib/mcp_client/server_base.rb,
lib/mcp_client/server_stdio.rb,
lib/mcp_client/server_factory.rb

Overview

Model Context Protocol (MCP) Client module Provides a standardized way for agents to communicate with external tools and services through a protocol-based approach

Defined Under Namespace

Modules: Errors Classes: Client, ServerBase, ServerFactory, ServerSSE, ServerStdio, Tool

Constant Summary collapse

VERSION =

Current version of the MCP client gem

'0.4.1'

Class Method Summary collapse

Class Method Details

.create_client(mcp_server_configs: []) ⇒ MCPClient::Client

Create a new MCPClient client

Parameters:

  • mcp_server_configs (Array<Hash>) (defaults to: [])

    configurations for MCP servers

Returns:



20
21
22
# File 'lib/mcp_client.rb', line 20

def self.create_client(mcp_server_configs: [])
  MCPClient::Client.new(mcp_server_configs: mcp_server_configs)
end

.sse_config(base_url:, headers: {}, read_timeout: 30) ⇒ Hash

Create a standard server configuration for SSE

Parameters:

  • base_url (String)

    base URL for the server

  • headers (Hash) (defaults to: {})

    HTTP headers to include in requests

  • read_timeout (Integer) (defaults to: 30)

    read timeout in seconds (default: 30)

Returns:

  • (Hash)

    server configuration



39
40
41
42
43
44
45
46
# File 'lib/mcp_client.rb', line 39

def self.sse_config(base_url:, headers: {}, read_timeout: 30)
  {
    type: 'sse',
    base_url: base_url,
    headers: headers,
    read_timeout: read_timeout
  }
end

.stdio_config(command:) ⇒ Hash

Create a standard server configuration for stdio

Parameters:

  • command (String, Array<String>)

    command to execute

Returns:

  • (Hash)

    server configuration



27
28
29
30
31
32
# File 'lib/mcp_client.rb', line 27

def self.stdio_config(command:)
  {
    type: 'stdio',
    command: command
  }
end