Class: Kailash::Mcp::McpClient

Inherits:
Object
  • Object
show all
Defined in:
lib/kailash/mcp.rb

Overview

McpClient block-based lifecycle. Same shape as McpServer.open.

Kailash::Mcp::McpClient.open(server: srv) do |client|
# ... use client ...
end

Class Method Summary collapse

Class Method Details

.open(*args, **kwargs) ⇒ Object



157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
# File 'lib/kailash/mcp.rb', line 157

def self.open(*args, **kwargs)
  client = if kwargs.empty?
             new(*args)
           elsif args.empty?
             new(kwargs)
           else
             new(*args, kwargs)
           end
  return client unless block_given?

  begin
    yield client
  ensure
    client.close
  end
end