Describe the bug:
The mcp Python SDK published 2.0.0 on PyPI today (2026-07-28). Fresh installs of analytics-mcp (via pipx run or uvx) now resolve to the new SDK and crash immediately on startup, because this package has no upper bound on its mcp dependency.
Traceback:
File "...\site-packages\analytics_mcp\coordinator.py", line 125, in
if tool.inputSchema == {}:
File "...\site-packages\pydantic\main.py", line 1042, in getattr
raise AttributeError(f'{type(self).name!r} object has no attribute {item!r}')
AttributeError: 'Tool' object has no attribute 'inputSchema'. Did you mean: 'input_schema'?
Root cause: mcp 2.0.0 renamed Tool.inputSchema to Tool.input_schema (snake_case). coordinator.py line 125 still uses the old attribute name.
Steps to Reproduce:
- Run
uvx analytics-mcp (or pipx run analytics-mcp) with valid GOOGLE_APPLICATION_CREDENTIALS on any machine without a previously cached mcp<2 environment.
- The process exits with the traceback above.
uvx --refresh does not help — the dependency resolution itself is broken, not the cache.
Expected behavior:
The server starts and serves its tools over stdio, as it did with mcp 1.x (working as recently as yesterday, 2026-07-27).
Anything else we should know about your project / environment:
Describe the bug:
The
mcpPython SDK published 2.0.0 on PyPI today (2026-07-28). Fresh installs ofanalytics-mcp(viapipx runoruvx) now resolve to the new SDK and crash immediately on startup, because this package has no upper bound on itsmcpdependency.Traceback:
File "...\site-packages\analytics_mcp\coordinator.py", line 125, in
if tool.inputSchema == {}:
File "...\site-packages\pydantic\main.py", line 1042, in getattr
raise AttributeError(f'{type(self).name!r} object has no attribute {item!r}')
AttributeError: 'Tool' object has no attribute 'inputSchema'. Did you mean: 'input_schema'?
Root cause:
mcp2.0.0 renamedTool.inputSchematoTool.input_schema(snake_case).coordinator.pyline 125 still uses the old attribute name.Steps to Reproduce:
uvx analytics-mcp(orpipx run analytics-mcp) with validGOOGLE_APPLICATION_CREDENTIALSon any machine without a previously cachedmcp<2environment.uvx --refreshdoes not help — the dependency resolution itself is broken, not the cache.Expected behavior:
The server starts and serves its tools over stdio, as it did with
mcp1.x (working as recently as yesterday, 2026-07-27).Anything else we should know about your project / environment:
mcp-gscis broken by the same SDK release (ModuleNotFoundError: No module named 'mcp.server.fastmcp') — reported at Server fails to start after mcp SDK 2.0.0 (2026-07-28): ModuleNotFoundError: No module named 'mcp.server.fastmcp' AminForou/mcp-gsc#41 — so this affects the wholemcp1.x server ecosystem, not just this package.uvx --with "mcp<2" analytics-mcp(verified).mcp>=1,<2in the package dependencies, or updatecoordinator.pytoinput_schema.