[Bug for MCP&API]: Slashes in text break local output file saving
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 88/100
Línea de trabajo
Comienza en minimax_mcp/utils.py, en build_output_file(), y luego inspecciona la ruta de guardado local en minimax_mcp/server.py. Reproduce el problema con el script proporcionado de TemporaryDirectory y añade una prueba de regresión que cubra texto con barras inclinadas de estilo fecha. Se considera terminado cuando ambos formatos de fecha producen archivos directamente dentro del directorio de salida solicitado y la escritura se realiza correctamente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Text starting with a date like 2026/10/03 breaks local output saving for
text_to_audio (MINIMAX_API_RESOURCE_MODE=local).
build_output_file() takes the first 10 characters and only replaces spaces.
The result is t2a_2026/10/03_<timestamp>.mp3. The slashes are treated as path
separators, but those directories don't exist. Changing the date to 2026-10-03
lets the file save normally.
Reproduction
Run this from the repository root with the Python dependencies installed. It
imports the unmodified utility and writes test bytes directly to a temporary
directory, without calling the API. Both inputs use the same absolute output
path, which also avoids the separate path-joining issue.
from pathlib import Path
from tempfile import TemporaryDirectory
from minimax_mcp.utils import build_output_file, build_output_path
records = []
with TemporaryDirectory() as directory:
output_path = build_output_path(str(Path(directory) / "output"))
for text in ("2026-10-03", "2026/10/03"):
output_file = build_output_file("t2a", text, output_path, "mp3")
output_path.parent.mkdir(parents=True, exist_ok=True)
try:
with open(output_path / output_file, "wb") as stream:
stream.write(b"local write probe")
result = "saved"
except OSError as error:
result = type(error).__name__
parent_matches = output_file.parent == output_path
print(text, "parent_matches:", parent_matches, "write:", result)
records.append({"text": text, "parent_matches": parent_matches, "write": result})
Both runs gave this output:
2026-10-03 parent_matches: True write: saved
2026/10/03 parent_matches: False write: FileNotFoundError
Both inputs should save directly inside the requested directory.
Environment
Windows, Python 3.11.9, package version 0.0.19 at
0856b9aef8a9d676bb63bdd6b6426d7b640a3b7a.
Models used and Trace-ID: N/A (local reproduction, no request).
The relevant code is filename construction
and the local audio save path.
I've checked the Python/JS READMEs, MCP guide and existing issues. #73/#74 address
repeated path joining, and #92 covers nested-directory writability; none changes
how text becomes a filename.
Would you be open to a small fix that replaces path separators in the text,
keeps ordinary Unicode characters, and adds a file-write regression test?
- Lenguaje dominante
- Python
- Estrellas
- 1.6k
- Forks
- 284
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de MiniMax-AI/MiniMax-MCP
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
MiniMax-AI/MiniMax-MCP#89 · 1 comentario ·
-
bug(server): text_to_audio validates text outside try/except, inconsistent with other toolsPosiblemente ocupada @cnYui la tomó hace 121 días. Abierto
Dificultad 1/5 1-3 horas Aptitud para principiantes 82/100
MiniMax-AI/MiniMax-MCP#88 ·
-
Information disclosure for `play_audio`Posiblemente ocupada @TumCucTom la tomó hace 126 días. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
MiniMax-AI/MiniMax-MCP#78 ·
-
fix(server): music_generation has inconsistent indentation — try block indented inside function bodyPosiblemente ocupada @TumCucTom la tomó hace 126 días. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
MiniMax-AI/MiniMax-MCP#69 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
MiniMax-AI/MiniMax-MCP#105 · 1 comentario ·
Todos los issues de MiniMax-AI/MiniMax-MCP
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
modelcontextprotocol/python-sdk#3648 ·
Los mantenedores suelen responder en 1 día
-
docs good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
VenetoStato/giorgio#6 ·
-
Claiming namespace ddalusAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 70/100
EclipseFdn/open-vsx.org#13831 ·
Los mantenedores suelen responder en 1 día
-
feature request
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 2 días