Skip to content

chore(deps): remove unused dependencies — httpx, fastapi, uvicorn, sounddevice, soundfile #65

@alfonsodg

Description

@alfonsodg

Problem

pyproject.toml declares dependencies that are never imported or used in the codebase:

Dependency Declared in pyproject.toml Actually used in code
httpx>=0.28.1 Yes No — code uses requests everywhere
fastapi>=0.109.2 Yes No — server uses mcp.server.fastmcp.FastMCP
uvicorn>=0.27.1 Yes No — server runs via mcp.run()
sounddevice>=0.5.1 Yes No — play() uses ffplay subprocess
soundfile>=0.13.1 Yes No — audio is read as raw bytes

Evidence

$ grep -r "import httpx\|from httpx\|import fastapi\|from fastapi\|import uvicorn\|from uvicorn\|import sounddevice\|from sounddevice\|import soundfile\|from soundfile" minimax_mcp/
# (no results)

Impact

  • Bloated install size (~150MB+ for unnecessary packages like scipy/numpy pulled by sounddevice)
  • Slower pip install / uvx startup
  • Potential dependency conflicts
  • Confusing for contributors

Proposed solution

Remove from pyproject.toml dependencies:

dependencies = [
    "mcp[cli]>=1.6.0",
-   "fastapi>=0.109.2",
-   "uvicorn>=0.27.1",
    "python-dotenv>=1.0.1",
    "pydantic>=2.6.1",
-   "httpx>=0.28.1",
    "fuzzywuzzy>=0.18.0",
    "python-Levenshtein>=0.25.0",
-   "sounddevice>=0.5.1",
-   "soundfile>=0.13.1",
    "requests>=2.31.0",
]

If httpx is intended to replace requests in the future, create a separate issue for that migration.

Acceptance criteria

  • Only actually-imported packages are in dependencies
  • uvx minimax-mcp still works correctly
  • Install size reduced significantly

Metadata

Metadata

Assignees

No one assigned

    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