Class: MCP::Server::Stdio::Reader

Inherits:
Object
  • Object
show all
Defined in:
lib/mcp/server/stdio/reader.rb

Instance Method Summary collapse

Constructor Details

#initialize(io = STDIN) ⇒ Reader

Returns a new instance of Reader.



9
10
11
12
# File 'lib/mcp/server/stdio/reader.rb', line 9

def initialize(io = STDIN)
  @io = io
  io.binmode
end

Instance Method Details

#closeObject



21
22
23
# File 'lib/mcp/server/stdio/reader.rb', line 21

def close
  io.close
end

#read(&block) ⇒ Object



14
15
16
17
18
19
# File 'lib/mcp/server/stdio/reader.rb', line 14

def read(&block)
  while (buffer = io.gets)
    request = JSON.parse(buffer, symbolize_names: true)
    return block.call(request)
  end
end