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
-
#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.
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
15 16 17 |
# File 'lib/solid_loop/mcp/transport.rb', line 15 def deliver(payload, session_id: nil, context: nil) raise NotImplementedError end |