Skip to content

Instantly share code, notes, and snippets.

@mikekistler
Created August 1, 2025 14:05
Show Gist options
  • Save mikekistler/48c77788574a7d939bd885b42bb3ccd7 to your computer and use it in GitHub Desktop.
Save mikekistler/48c77788574a7d939bd885b42bb3ccd7 to your computer and use it in GitHub Desktop.
Best Practices for MCP Server change

Best Practices for MCP Server change

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.

Breaking changes

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)

Examples of allowed changes

  • Add support for a previously unsupported capability
  • Add tools
  • Add optional parameters to an existing tool
  • Add resources or resource templates
  • Add prompts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment