Validate protocol_version value
## Motivation and Context Currently, MCP supports the following three protocol versions: "2025-06-18", "2025-03-26", and "2024-11-05". https://modelcontextprotocol.io/introduction As shown in the changes to `test/mcp/configuration_test.rb`, the `protocol_version` value is not currently being validated, which allows unexpected `protocol_version` values to be accepted. This PR ensures that only supported protocol versions are accepted. ## How Has This Been Tested? Existing tests have been updated and new tests have been added. ## Breaking Changes None. If it becomes an issue, it means a value that was not originally intended has been used. ## Additional context While one possible approach might be to fall back to a default protocol version when an invalid `protocol_version` value is provided, this PR opts to reject invalid `protocol_version` values explicitly. The reasoning is that encouraging users to provide intentional, valid input is preferable to silently falling back to a default, which could lead to unexpected behavior.
This commit is contained in:
parent
efeef2831e
commit
f13522d416
1 changed files with 22 additions and 7 deletions
|
|
@ -338,6 +338,8 @@ This will make all new server instances use the specified protocol version inste
|
|||
MCP::Server.protocol_version = nil
|
||||
```
|
||||
|
||||
If an invalid `protocol_version` value is set, an `ArgumentError` is raised.
|
||||
|
||||
Be sure to check the [MCP spec](https://modelcontextprotocol.io/specification/2025-03-26) for the protocol version to understand the supported features for the version being set.
|
||||
|
||||
### Exception Reporting
|
||||
|
|
|
|||
Loading…
Reference in a new issue