refactor: split monolithic server.py (800+ lines) into separate tool modules
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
Direzione di ricerca
Inizia leggendo minimax_mcp/server.py e i test esistenti del progetto per mappare le definizioni correnti degli strumenti, la configurazione e l'impostazione di MCP. Separa gli strumenti nei moduli proposti sotto minimax_mcp/tools/ preservando il comportamento, quindi esegui tutti i test esistenti e verifica che uvx minimax-mcp funzioni in modo identico; il lavoro è completato quando server.py contiene meno di 100 righe e ogni strumento ha il proprio modulo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
minimax_mcp/server.py is a single 800+ line file containing all tool definitions, configuration, and the MCP server setup. This makes it hard to navigate, test, and maintain.
Current structure
minimax_mcp/
├── __init__.py # 2 lines
├── __main__.py # config generator
├── client.py # API client (good, already separated)
├── const.py # constants (good, already separated)
├── exceptions.py # exceptions (good, already separated)
├── server.py # 800+ lines — ALL tools + config + server setup
└── utils.py # utilities (good, already separated)
Proposed structure
minimax_mcp/
├── __init__.py
├── __main__.py
├── client.py
├── const.py
├── exceptions.py
├── server.py # ~50 lines — MCP setup, config, imports tools
├── utils.py
└── tools/
├── __init__.py # exports all tool functions
├── audio.py # text_to_audio, play_audio, list_voices
├── video.py # generate_video, query_video_generation
├── image.py # text_to_image
├── music.py # music_generation
└── voice.py # voice_clone, voice_design
Benefits
- Each tool module is independently testable
- Easier to add new tools without touching a massive file
- Clear separation of concerns
- Reduces merge conflicts when multiple contributors work on different tools
Implementation notes
- Each tool module receives
mcp,api_client,base_path,resource_modeas module-level or injected dependencies server.pyimports and registers all tools- No behavior change — purely structural refactor
Acceptance criteria
server.pyreduced to <100 lines- Each tool in its own module
- All existing tests pass
uvx minimax-mcpworks identically
- Lingua principale
- Python
- Stelle
- 1.6k
- Fork
- 284
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di MiniMax-AI/MiniMax-MCP
-
[Bug for MCP&API]: Slashes in text break local output file savingForse già presa @LingYi-Liang l’ha presa 7 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
MiniMax-AI/MiniMax-MCP#106 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
MiniMax-AI/MiniMax-MCP#89 · 1 commento ·
-
bug(server): text_to_audio validates text outside try/except, inconsistent with other toolsForse già presa @cnYui l’ha presa 126 giorni fa. Aperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 82/100
MiniMax-AI/MiniMax-MCP#88 ·
-
Information disclosure for `play_audio`Forse già presa @TumCucTom l’ha presa 131 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
MiniMax-AI/MiniMax-MCP#78 ·
-
fix(server): music_generation has inconsistent indentation — try block indented inside function bodyForse già presa @TumCucTom l’ha presa 131 giorni fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
MiniMax-AI/MiniMax-MCP#69 ·
Tutte le issue di MiniMax-AI/MiniMax-MCP
Issue simili
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
hatchet-dev/hatchet#5179 ·
I maintainer di solito rispondono entro 1 giorno
-
python-version
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
bug javascript P2-medium python release:v3.1
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
adrirubio/claude-deck#546 ·
I maintainer di solito rispondono entro 1 giorno