Module: SolidLoop::Mcp::Transport

Included in:
HttpTransport, StdioTransport, Toolset
Defined in:
lib/solid_loop/mcp/transport.rb

Overview

The transport port: any object that can deliver a JSON-RPC envelope to an MCP server and return the response. See docs/guides/mcp_transports.md for the full contract (session identity, error semantics, thread-safety, mandatory raw request/response for wire logs).

Instance Method Summary collapse

Instance Method Details

#deliver(payload, session_id: nil, context: nil) ⇒ Object

payload — raw JSON-RPC request Hash (id:, method:, params:) session_id — nil for initialize; afterwards whatever initialize returned context — SolidLoop::Mcp::CallContext (agent:, loop:), may be nil. HTTP transports typically ignore it (auth travels in headers); in-process transports may use it to reach domain state without a network hop. returns — SolidLoop::Mcp::Result

Raises:

  • (NotImplementedError)


15
16
17
# File 'lib/solid_loop/mcp/transport.rb', line 15

def deliver(payload, session_id: nil, context: nil)
  raise NotImplementedError
end