Skip to content

chromadb<0.7 pin breaks MCP server on Python 3.14 #487

@director-LAC

Description

@director-LAC

Summary

mempalace 3.1.0 pins chromadb>=0.5.0,<0.7, but chromadb 0.6.x uses Pydantic V1 internally, which is incompatible with Python 3.14. This causes the MCP server to crash on startup.

Environment

  • Python 3.14.3 (Windows 11)
  • mempalace 3.1.0
  • Upgraded from mempalace 3.0.0 (which had been working with chromadb 1.5.6)

Steps to Reproduce

  1. Install mempalace 3.1.0 on Python 3.14
  2. pip resolves chromadb to 0.6.3 (satisfies >=0.5.0,<0.7)
  3. Start MCP server: python -m mempalace.mcp_server

Error

File "...\chromadb\config.py", line 21, in
from pydantic.v1 import BaseSettings
...
File "...\chromadb\config.py", line 101, in
class Settings(BaseSettings):
...
File "...\pydantic\v1\main.py", line 221, in new
inferred = ModelField.infer(...)

The root cause is chromadb 0.6.x depending on pydantic.v1, which is not compatible with Python 3.14+.

Workaround

Force-install chromadb 1.5.6, which works on Python 3.14:

pip install chromadb==1.5.6

pip warns about the version conflict (mempalace wants <0.7, you have 1.5.6), but the server starts and runs correctly.

Suggested Fix
Either:

Widen the chromadb pin to allow >=0.5.0 (dropping the <0.7 ceiling), or
Add a Python 3.14+ conditional that requires chromadb>=1.0, or
Document the incompatibility and pin guidance for Python 3.14 users

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/installpip/uv/pipx/plugin install and packagingarea/mcpMCP server and toolsbugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions