feat: support MCP Python SDK v1 and v2

Merged
SE
2mo ago
+1721-335

This pull request adds support for MCP Python SDK v2 while preserving compatibility with supported MCP v1 releases.

It uses the MCP v2 high-level client for modern protocol negotiation and legacy fallback, adapts model fields and HTTP customization to the installed MCP major version, and migrates repository examples to MCP v2 APIs. It also adds packaged integration CI coverage for MCP v1.19.0 and v1.29.0 while the regular frozen-lock test suite covers MCP v2.

ignore_initialized_notification_failure=True remains supported under MCP v1. Under MCP v2, the option now fails before connecting because the public v2 transport API does not expose the complete initialized-notification failure outcome; applications requiring this behavior can pin mcp<2.

This pull request resolves #4014.