MCP Servers that are accessed over HTTP can be versioned "on the fly" and even transparently to clients through the use of reverse proxies or load balancers, which are used to provide scalability and fault-tolerance.
This introduces challenges for ensuring minimal disruption to clients from deployment of new versions of an MCP Server.
Servers should not expect or require clients to update their list of tools, prompts, or resources.
MCP Servers should avoid the following changes as they may break clients.
- Remove support for any server capabilites
- Remove or rename a tool
- Remove or rename a parameter to a tool
- Remove or rename a resource or resource template
- Remove or rename a prompt
(there are probably many more)
- Add support for a previously unsupported capability
- Add tools
- Add optional parameters to an existing tool
- Add resources or resource templates
- Add prompts