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
1 changed files with 10 additions and 36 deletions
|
|
@ -126,7 +126,6 @@ class McpController < ActionController::API
|
|||
)
|
||||
# Since the `MCP-Session-Id` is not shared across requests, `stateless: true` is set.
|
||||
transport = MCP::Server::Transports::StreamableHTTPTransport.new(server, stateless: true)
|
||||
server.transport = transport
|
||||
status, headers, body = transport.handle_request(request)
|
||||
|
||||
render(json: body.first, status: status, headers: headers)
|
||||
|
|
@ -1120,7 +1119,6 @@ For more details, see the [MCP Logging specification](https://modelcontextprotoc
|
|||
```ruby
|
||||
server = MCP::Server.new(name: "my_server")
|
||||
transport = MCP::Server::Transports::StdioTransport.new(server)
|
||||
server.transport = transport
|
||||
|
||||
# The client first configures the logging level (on the client side):
|
||||
transport.send_request(
|
||||
|
|
@ -1174,8 +1172,6 @@ server = MCP::Server.new(name: "my_server")
|
|||
# Default Streamable HTTP - session oriented
|
||||
transport = MCP::Server::Transports::StreamableHTTPTransport.new(server)
|
||||
|
||||
server.transport = transport
|
||||
|
||||
# When tools change, notify clients
|
||||
server.define_tool(name: "new_tool") { |**args| { result: "ok" } }
|
||||
server.notify_tools_list_changed
|
||||
|
|
|
|||
Loading…
Reference in a new issue