Skip to content

[Feature Request] Drop mcp dependency in Dash 4.3.0 to avoid excess dependencies #3835

Closed

Description

@ghaarsma

When upgrading from a clean 4.2 Dash (24 dependencies) to 4.3, it requires an additional 26 newly installed dependencies to perform the upgrade. See original install log and 4.2 -> 4.3 upgrade log below.

It seems that a lot of the new installs are related to the new MCP feature. Would it be possible to make this an optional install for the next release?

Resolving dependencies... (14.1s)

Package operations: 24 installs, 0 updates, 0 removals

  - Installing colorama (0.4.6)
  - Installing markupsafe (3.0.3)
  - Installing blinker (1.9.0)
  - Installing charset-normalizer (3.4.7)
  - Installing certifi (2026.6.17)
  - Installing click (8.4.1)
  - Installing idna (3.18)
  - Installing itsdangerous (2.2.0)
  - Installing jinja2 (3.1.6)
  - Installing narwhals (2.22.1)
  - Installing packaging (26.2)
  - Installing urllib3 (2.7.0)
  - Installing werkzeug (3.1.8)
  - Installing zipp (4.1.0)
  - Installing flask (3.1.3)
  - Installing plotly (6.8.0)
  - Installing typing-extensions (4.15.0)
  - Installing requests (2.34.2)
  - Installing setuptools (82.0.1)
  - Installing janus (2.0.0)
  - Installing retrying (1.4.2)
  - Installing importlib-metadata (9.0.0)
  - Installing nest-asyncio (1.6.0)
  - Installing dash (4.2.0)


(venv) PS C:\Users\gxvh\Python\dash_test5> poetry update
Updating dependencies
Resolving dependencies... (24.3s)

Package operations: 26 installs, 1 update, 0 removals

  - Installing attrs (26.1.0)
  - Installing pycparser (3.0)
  - Installing rpds-py (2026.5.1)
  - Installing annotated-types (0.7.0)
  - Installing h11 (0.16.0)
  - Installing cffi (2.0.0)
  - Installing anyio (4.14.0)
  - Installing pydantic-core (2.46.4)
  - Installing referencing (0.37.0)
  - Installing typing-inspection (0.4.2)
  - Installing cryptography (49.0.0)
  - Installing jsonschema-specifications (2025.9.1)
  - Installing pydantic (2.13.4)
  - Installing python-dotenv (1.2.2)
  - Installing starlette (1.3.1)
  - Installing httpcore (1.0.9)
  - Installing httpx (0.28.1)
  - Installing pywin32 (312)
  - Installing jsonschema (4.26.0)
  - Installing pydantic-settings (2.14.2)
  - Installing pyjwt (2.13.0)
  - Installing python-multipart (0.0.32)
  - Installing httpx-sse (0.4.3)
  - Installing sse-starlette (3.4.4)
  - Installing uvicorn (0.49.0)
  - Installing mcp (1.28.0)
  - Updating dash (4.2.0 -> 4.3.0)

Writing lock file
(venv) PS C:\Users\gxvh\Python\dash_test5> 

Activity

  1. ndrezn commented on Jun 23, 2026

    @ndrezn
    Contributor

    Hi @ghaarsma ! I agree we need to reduce the dependencies -- I did some digging on this and it looks like we should be able to drop the mcp dependency entirely without making Dash MCP optional. Because most of those dependencies are downstream deps of mcp, we'd be able to trim the excess significantly.

    Thank you for calling this out!

  2. changed the title [-][Feature Request] Can we make the new Dash 4.3 MPC feature optional?[/-] [+][Feature Request] Drop `mcp` dependency in Dash 4.3.0 to avoid excess dependencies[/+] on Jun 23, 2026
  3. ghaarsma commented on Jun 25, 2026

    @ghaarsma
    Author

    @ndrezn Thank you for your consideration. Both Pydantic and mcp were added as new dependencies in Dash 4.3 and indeed removing mcp would be a significant improvement.

  4. ghaarsma commented on Jul 6, 2026

    @ghaarsma
    Author

    This has been addressed in Dash 4.4

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions