Module: GroqRuby::MCP::Transport Abstract

Included in:
GroqRuby::MCP::Transports::Stdio
Defined in:
lib/groq_ruby/mcp/transport.rb

Overview

This module is abstract.

Interface every MCP transport must satisfy. Synchronous send, asynchronous receive via a single registered callback. Implementations own their own background reader thread/loop.

Instance Method Summary collapse

Instance Method Details

#on_message {|message| ... } ⇒ void

This method returns an undefined value.

Register the callback invoked for every inbound message. Replaces any previous callback. Called from the transport’s reader thread, so callbacks must be thread-safe.

Yield Parameters:

  • message (Hash)

    decoded JSON-RPC envelope

Raises:

  • (NotImplementedError)


21
22
23
# File 'lib/groq_ruby/mcp/transport.rb', line 21

def on_message(&block)
  raise NotImplementedError
end

#send_message(message) ⇒ void

This method returns an undefined value.

Parameters:

  • message (Hash)

    JSON-RPC envelope to deliver to the server

Raises:

  • (NotImplementedError)


11
12
13
# File 'lib/groq_ruby/mcp/transport.rb', line 11

def send_message(message)
  raise NotImplementedError
end

#stopvoid

This method returns an undefined value.

Tear down the connection. Idempotent.

Raises:

  • (NotImplementedError)


27
28
29
# File 'lib/groq_ruby/mcp/transport.rb', line 27

def stop
  raise NotImplementedError
end