mcp-upgrade-api-version-hardcodes
MCP Server Upgrade: API Version Hardcodes Spread Across All Singleton Clients
When upgrading a multi-client MCP server’s API version, grep ALL source files — not just the primary client. Each singleton client has its OWN _load_config() with its OWN os.getenv() fallback default. They don’t share config.
Concrete example: Tableau MCP v5.0→v6.0 upgrade (29-Mar-2026) found 9 hardcoded API version fallbacks across 6 files: api_client.py (3), pulse_client.py (1), metadata_client.py (1), vizql_client.py (1), rest_client.py (1), server.py (2).
Command: grep -rn '"3.24"\|"3.27"' src/ catches all.
Also: Before proposing ANY new tools in an upgrade, grep TOOL_CATEGORIES dict + async def patterns in server.py to confirm tools don’t already exist. The Tableau v6 spec review caught 6 proposed duplicate tools (Activity Log + SAML) that were already implemented.
Related
- enterprise-capability-expansion-5-pillars-from-digital-employee-analysis
claude-code-to-nova-enterprise-backup-v3-2026-03-25(archived)gws-capability-expansion-nova(archived)- notebooklm-mcp-integration-pattern
- n8n-god-agent-mcp-rebuild-v5
- httpx-http2-extra-required-for-gold-stack-upgrades
- mcp-upgrade-api-client-method-signature-backward-compatibili