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:
Koichi ITO 2026-04-08 22:25:50 +09:00
commit de38804ed7
2 changed files with 10 additions and 36 deletions

View file

@ -94,7 +94,6 @@ end
# Create the Streamable HTTP transport
transport = MCP::Server::Transports::StreamableHTTPTransport.new(server)
server.transport = transport
# Create a logger for MCP-specific logging
mcp_logger = Logger.new($stdout)

View file

@ -63,7 +63,6 @@ end
# Create the Streamable HTTP transport
transport = MCP::Server::Transports::StreamableHTTPTransport.new(server)
server.transport = transport
# Create a logger for MCP request/response logging
mcp_logger = Logger.new($stdout)