Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[Bug for MCP&API]: minimax-coding-plan-mcp fails to start when invoked via uvx with environment variables

Abierto
#24 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
30/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
api, backend

Línea de trabajo

Comienza con minimax_mcp/server.py alrededor de las líneas 33-35 y revisa el PR #34, que es la corrección propuesta existente. Ejecuta la prueba del cliente MCP proporcionada con las variables de entorno documentadas y, después, verifica que la corrección esté disponible en una versión publicada y que el README documente la invocación compatible.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug
Basic Information - Models Used

MiniMax M2.7 and the Coding-Plan-MCP

Basic Information - Scenario Description

When attempting to use minimax-coding-plan-mcp as an MCP server via the uvx command with environment variables (MINIMAX_API_KEY and MINIMAX_API_HOST), the server fails to start with a ValueError: MINIMAX_API_KEY environment variable is required error, even when the environment variable is properly set.

Is this bug known and solvable?
Information about environment
Component Version
OS Linux (Ubuntu)
Python 3.14.3
uv 0.11.8
minimax-coding-plan-mcp latest from uvx
Trace-ID in the request head

N/A

Description

Steps to Reproduce

  1. Set environment variables:

    export MINIMAX_API_KEY="sk-cp-YOUR_KEY_HERE"
    export MINIMAX_API_HOST="https://api.minimax.io"
    
  2. Run the MCP server via uvx:

    uvx minimax-coding-plan-mcp -y
    
  3. Expected: Server starts and listens for MCP requests
    Actual: Server crashes immediately with ValueError: MINIMAX_API_KEY environment variable is required


Attempted Fixes

Approach 1: StdioServerParameters env dict
server_params = StdioServerParameters(
    command="uvx",
    args=["minimax-coding-plan-mcp", "-y"],
    env={"MINIMAX_API_KEY": api_key, "MINIMAX_API_HOST": api_host},
)

Result: Fails with same error.

Approach 2: os.environ before subprocess spawn
os.environ["MINIMAX_API_KEY"] = api_key
os.environ["MINIMAX_API_HOST"] = api_host
server_params = StdioServerParameters(command="uvx", args=["minimax-coding-plan-mcp", "-y"])

Result: Fails - subprocess doesn't inherit modified os.environ.

Approach 3: Inline env in shell command
MINIMAX_API_KEY="sk-cp-..." MINIMAX_API_HOST="https://api.minimax.io" uvx minimax-coding-plan-mcp -y

Result: Fails with ValueError: MINIMAX_API_HOST environment variable is required

Even though MINIMAX_API_HOST is explicitly set inline!


Root Cause

In minimax_mcp/server.py (line ~33-35):

if not os.environ.get("MINIMAX_API_KEY"):
    raise ValueError("MINIMAX_API_KEY environment variable is required")

The check uses os.environ.get() evaluated at module import time, not at server startup/runtime. When uvx spawns the server:

  1. uvx downloads and extracts the package
  2. Python starts executing minimax-coding-plan-mcp as __main__
  3. Import of minimax_mcp.server happens
  4. At this point, the subprocess may not yet have inherited the environment properly
  5. Check fails even though env vars were passed to StdioServerParameters

Note: This is the working hypothesis. A definitive fix would require testing with the actual server code to confirm import timing.


Impact

Use Case Impact
MCP Python SDK programmatic access ❌ Blocked
AI coding applications (Claude Code, Cursor, OpenCode) ❌ Blocked
Direct CLI with env vars ❌ Blocked

Other MCP servers (e.g., open-code, filesystem) work correctly with the same StdioServerParameters pattern. The issue appears specific to how minimax-coding-plan-mcp handles environment variables at import time.


Expected Behavior

  1. Accept MINIMAX_API_KEY and MINIMAX_API_HOST environment variables
  2. Start successfully when provided via standard methods (shell export, env: in StdioServerParameters)
  3. Not crash before beginning to accept connections

Existing Fix

PR #34 adds CLI argument support (--api-key, --api-host) to work around this issue. This PR is open but not yet merged.

The workaround after PR #34 merges:

{
  "command": "uvx",
  "args": [
    "minimax-coding-plan-mcp",
    "-y",
    "--api-key=your-key",
    "--api-host=https://api.minimax.io"
  ]
}

What We Need

  1. Merge PR #34 - The fix already exists and addresses this issue
  2. Release new version - After merge, publish to uvx so users can update
  3. Documentation - Update README to show CLI arg usage as primary method

Test Script

import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def test_mcp():
    params = StdioServerParameters(
        command="uvx",
        args=["minimax-coding-plan-mcp", "-y"],
        env={
            "MINIMAX_API_KEY": "YOUR_KEY_HERE",
            "MINIMAX_API_HOST": "https://api.minimax.io",
        },
    )

    async with stdio_client(params) as (stdio, write):
        session = ClientSession(stdio, write)
        await session.initialize()
        result = await session.list_tools()
        print(f"Connected! Tools: {[t.name for t in result.tools]}")

asyncio.run(test_mcp())

Additional Context

  • This affects sn2md's ability to use MiniMax's vision model for OCR/image conversion
  • sn2md has implemented MCP client code (sn2md/mcp_vision.py) that is waiting on this fix
  • Related: sn2md issue with MiniMax not supporting Anthropic-style image blocks (type="image")

Security Note

This is a bug report for a server startup issue, not a security vulnerability. The server fails to start rather than exposing data improperly. If there are security concerns related to this bug, please disclose responsibly.

Lenguaje dominante
Python
Estrellas
102
Forks
30
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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de MiniMax-AI/MiniMax-Coding-Plan-MCP

Todos los issues de MiniMax-AI/MiniMax-Coding-Plan-MCP

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.