Skip to content

fix: Require MCP compatible with current Pydantic - #801

Draft
buildingjoshbetter wants to merge 1 commit into
fix/mcp-compatibility-757from
fix/mcp-pydantic-compatibility-757
Draft

buildingjoshbetter wants to merge 1 commit into
fix/mcp-compatibility-757from
fix/mcp-pydantic-compatibility-757

Conversation

@buildingjoshbetter

@buildingjoshbetter buildingjoshbetter commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

Scope

Follow-up to #757 and draft #773. Restore the minimum-MCP installed-wheel gate after an independently released Pydantic update exposed an upstream private-import dependency. No MCP tool behavior or model configuration changes.

Reproduction and root cause

The same TrueMemory source and MCP 1.19.0 passed with Pydantic 2.13.5/core 2.46.5, then failed at import mcp with Pydantic 2.14.0/core 2.50.0, before importing TrueMemory. MCP 1.21.0 also failed. MCP 1.21.1 passed with both Pydantic versions.

MCP imported the private pydantic._internal._typing_extra.eval_type_backport utility removed in Pydantic 2.14. MCP upstream fix, MCP 1.21.1 release, Pydantic removal.

Changes

  • Require mcp[cli]>=1.21.1,<2.0 and update the minimum-version wheel lanes.
  • Retain minimum/latest MCP checks across Linux, macOS and Windows, plus Python 3.10.
  • Add explicit MCP 1.21.1 with Pydantic 2.11.0 and 2.14.0 cases. Other dependencies use normal resolution; this is not a claim of full minimum-transitive support.
  • Mirror dependency checks in the release gate, without triggering publication.
  • Emit only public package versions before the wheel smoke test, preserving its existing provenance, console, protocol and privacy assertions.

Validation

The isolated Linux dependency A/B matrix used actual CLI help/version and the existing stdio protocol assertions: initialize, 11 tools, six alwaysLoad entries, and directive schema. It was source-based, so rebuilt-wheel verification remains separate.

A freshly built and installed wheel passed the existing full MCP smoke test on Python 3.12.15 with MCP 1.30.0 and Pydantic 2.13.5. Log SHA256: eb50f64ec0acd7f1fc83d988fc225f4230d46046286ef05bfbfadb3c3582538f.

Ruff, Python 3.10 syntax, YAML parsing, all 13 expanded CI/release requirement branches, diagnostic negative control, and changed-content/commit-identity scans passed. Existing smoke-test helper bodies are unchanged.

Clean hosted installed-wheel boundary checks now pass at ebd35e44441663a74ebc8d30c29202eab887cf57:

Both logs show pip check and actual isolated installed-wheel protocol success. Other hosted jobs remain pending at this update. The remote minimum-pair smoke also passed, but its pip check failed because the reused image contained an unrelated SDK2 companion requiring newer Pydantic. That failed environment check remains recorded; the clean hosted environment supplies the lower-bound compatibility evidence.

No models loaded, personal fixtures used, main merge, tag or package release performed. Issue #757 remains open until integration gates pass.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant