tl  tr
  Home | Tutorials | Articles | Videos | Products | Tools | Search
Interviews | Open Source | Tag Cloud | Follow Us | Bookmark | Contact   
 Agentic AI > MCP Protocol > MCP Server Versioning and Backward Compatibility

MCP Server Versioning and Backward Compatibility

Author: Venkata Sudhakar

MCP servers used by production ADK agents must evolve over time - new fields get added, old parameters get renamed, tool behaviour changes. Without a versioning strategy, any breaking change breaks all connected agents immediately. A versioned MCP server lets you introduce new tool shapes while keeping old tool names working until callers migrate.

In this tutorial, you will build an MCP server that exposes both a v1 and a v2 version of the same tool using name prefixes. The v1 tool maintains its original schema. The v2 tool adds new optional fields and returns richer output. A deprecation notice in the v1 description signals callers to upgrade.

The pattern below uses tool name prefixes (v1_ and v2_) to separate versions. Both versions run in the same server process. You can sunset v1 tools by removing them in a future release once all callers have migrated to v2.

The test below calls both versions to show the difference in response shape. Callers using v1_get_product continue to work unchanged while new callers use v2_get_product with richer output.

Tool name prefixes are the simplest versioning approach and work well for small tool sets. For larger servers consider URL-based versioning when using HTTP transport, or maintain a version field in the tool description that agents can read during tool discovery. Remove deprecated tools only after confirming no agents in production still call them.


 
  


  
bl  br