R/protocol-version.R

Defines functions protocol_version_lt protocol_version_gte is_supported_protocol_version negotiate_protocol_version

supported_protocol_versions <- c(
  "2024-11-05",
  "2025-03-26",
  "2025-06-18",
  "2025-11-25"
)

latest_protocol_version <- supported_protocol_versions[
  length(supported_protocol_versions)
]

default_http_protocol_version <- "2025-03-26"

negotiate_protocol_version <- function(client_version) {
  if (client_version %in% supported_protocol_versions) {
    client_version
  } else {
    latest_protocol_version
  }
}

is_supported_protocol_version <- function(version) {
  is_string(version) && version %in% supported_protocol_versions
}

protocol_version_gte <- function(version, reference) {
  version >= reference
}

protocol_version_lt <- function(version, reference) {
  version < reference
}

Try the mcptools package in your browser

Any scripts or data that you put into this service are public.

mcptools documentation built on July 27, 2026, 5:08 p.m.