From 8fbb2e86aa4adc9908f34d39722ca99d0f847c28 Mon Sep 17 00:00:00 2001 From: Riley Shott Date: Mon, 2 Jun 2025 12:14:12 -0700 Subject: [PATCH] Remove transport-specific code from server --- examples/http_server.rb | 5 +++-- examples/sse_test_server.rb | 5 +++-- lib/mcp/server.rb | 8 -------- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/examples/http_server.rb b/examples/http_server.rb index fba2e45..0bb337c 100644 --- a/examples/http_server.rb +++ b/examples/http_server.rb @@ -94,7 +94,8 @@ server.resources_read_handler do |params| end # Create the Streamable HTTP transport -server.transport = MCP::Transports::HTTP.new(server) +transport = MCP::Transports::HTTP.new(server) +server.transport = transport # Create a logger for MCP-specific logging mcp_logger = Logger.new($stdout) @@ -121,7 +122,7 @@ app = proc do |env| # Handle the request puts "request: #{request.inspect}" - response = server.handle_rack_request(request) + response = transport.handle_request(request) # Log the MCP response details _, _, body = response diff --git a/examples/sse_test_server.rb b/examples/sse_test_server.rb index 95e55e1..79929c8 100644 --- a/examples/sse_test_server.rb +++ b/examples/sse_test_server.rb @@ -64,7 +64,8 @@ server.define_tool( end # Create the Streamable HTTP transport -server.transport = MCP::Transports::HTTP.new(server) +transport = MCP::Transports::HTTP.new(server) +server.transport = transport # Create a logger for MCP request/response logging mcp_logger = Logger.new($stdout) @@ -98,7 +99,7 @@ app = proc do |env| end # Handle the request - response = server.handle_rack_request(request) + response = transport.handle_request(request) # Log response details status, headers, body = response diff --git a/lib/mcp/server.rb b/lib/mcp/server.rb index 445580a..a366e83 100644 --- a/lib/mcp/server.rb +++ b/lib/mcp/server.rb @@ -98,14 +98,6 @@ module MCP @prompts[prompt.name_value] = prompt end - def handle_rack_request(request) - @transport.handle_request(request) - end - - def close - @transport.close - end - def resources_list_handler(&block) @capabilities.support_resources @handlers[Methods::RESOURCES_LIST] = block