Description
Describe the bug
MCP has supported protocol version negotiation since the 2024-11-05 version of the MCP Specification.
Version negotiation is done through the "initialize" message and response which is always the first message sent in a session.
But the C# MCP server does not respect the negotiated protocol version. In particular, if the negotiated protocol version is 2025-03-26, a tool with structured output has an "outputSchema" property in the response of "tools/list".
To Reproduce
Create a session with an MCP server with tools that support structured output (a feature added in the 2025-06-18 version of the MCP spec) with a negotiated spec version of 2025-03-26. Then make a "tools/list" request. The response will contain "outputSchema" for the tool that supports structured output.
Expected behavior
The response schema should conform to the negotiated protocol version.
Additional context
The ProtocolVersion project in the v0.3.0 branch of this repo, with a few small modifications, can be used to reproduce this problem.