Auto-set server.transport in Transport#initialize
## Motivation and Context Transport subclasses (StreamableHTTPTransport, StdioTransport) already receive the server in their constructor, but users must manually call `server.transport = transport` after creating a transport instance. This is boilerplate that can be eliminated by setting the connection automatically in `Transport#initialize`. ## How Has This Been Tested? All existing tests pass. Redundant `server.transport = transport` lines were removed from tests, examples, README.md, and conformance server. ## Breaking Changes None. Existing code that manually sets `server.transport = transport` continues to work (idempotent assignment).
This commit is contained in:
parent
2822e00b62
commit
de38804ed7
3 changed files with 10 additions and 36 deletions
|
|
@ -61,7 +61,6 @@ module MCP
|
|||
resources: [],
|
||||
)
|
||||
@transport = StdioTransport.new(@server)
|
||||
@server.transport = @transport
|
||||
end
|
||||
|
||||
teardown do
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ module MCP
|
|||
resources: [],
|
||||
)
|
||||
@transport = StreamableHTTPTransport.new(@server)
|
||||
@server.transport = @transport
|
||||
end
|
||||
|
||||
test "server notification methods send SSE notifications through HTTP transport" do
|
||||
|
|
|
|||
|
|
@ -2591,7 +2591,6 @@ module MCP
|
|||
server = Server.new(name: "test", tools: [], prompts: [], resources: [])
|
||||
server.logging_message_notification = MCP::LoggingMessageNotification.new(level: "debug")
|
||||
transport = StreamableHTTPTransport.new(server)
|
||||
server.transport = transport
|
||||
|
||||
server.define_tool(name: "log_tool") do |server_context:|
|
||||
server_context.notify_log_message(data: "secret", level: "info")
|
||||
|
|
@ -2668,7 +2667,6 @@ module MCP
|
|||
test "session-scoped progress notification is sent only to the originating session" do
|
||||
server = Server.new(name: "test", tools: [], prompts: [], resources: [])
|
||||
transport = StreamableHTTPTransport.new(server)
|
||||
server.transport = transport
|
||||
|
||||
server.define_tool(name: "progress_tool") do |server_context:|
|
||||
server_context.report_progress(50, total: 100, message: "halfway")
|
||||
|
|
@ -2749,7 +2747,6 @@ module MCP
|
|||
test "each session stores its own client info independently" do
|
||||
server = Server.new(name: "test", tools: [], prompts: [], resources: [])
|
||||
transport = StreamableHTTPTransport.new(server)
|
||||
server.transport = transport
|
||||
|
||||
# Initialize session 1 with client "alpha".
|
||||
init1 = create_rack_request(
|
||||
|
|
@ -2794,7 +2791,6 @@ module MCP
|
|||
test "each session stores its own logging level independently" do
|
||||
server = Server.new(name: "test", tools: [], prompts: [], resources: [])
|
||||
transport = StreamableHTTPTransport.new(server)
|
||||
server.transport = transport
|
||||
|
||||
# Initialize two sessions.
|
||||
init1 = create_rack_request(
|
||||
|
|
|
|||
Loading…
Reference in a new issue