Class: Prescient::MCP::Stdio
- Inherits:
-
Object
- Object
- Prescient::MCP::Stdio
- Defined in:
- lib/prescient/mcp/stdio.rb
Overview
Minimal newline-delimited JSON-RPC transport for local MCP clients.
Instance Method Summary collapse
-
#initialize(server: Server.new, input: $stdin, output: $stdout) ⇒ Stdio
constructor
A new instance of Stdio.
-
#run ⇒ void
Process newline-delimited JSON-RPC requests until input closes.
Constructor Details
Instance Method Details
#run ⇒ void
This method returns an undefined value.
Process newline-delimited JSON-RPC requests until input closes.
15 16 17 18 19 20 21 22 23 |
# File 'lib/prescient/mcp/stdio.rb', line 15 def run @input.each_line do |line| request = JSON.parse(line) @output.puts(JSON.generate(handle(request))) @output.flush rescue JSON::ParserError @output.puts(JSON.generate(error_response(nil, -32_700, "invalid JSON"))) end end |