Skip to content

The server does not respect the negotiated protocol version #541

Closed as not planned
@mikekistler

Description

@mikekistler

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions