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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions